Skip to main content
Official SDK
Python 3.8+
Async Support

Python SDK

Production-grade Python SDK with async support and full type hints.

Pythonic API

Clean, intuitive Python interface

Automatic Retries

Exponential backoff built-in

Type Hints

Full type annotations for IDE support

Production Ready

Battle-tested in production

Installation

Install using pip

pip install settler-sdk
# or
pip3 install settler-sdk

Quick Start

Get started in 5 minutes

from settler import SettlerClient

# Initialize client
client = SettlerClient(api_key="sk_your_api_key")

# Create a reconciliation job
job = client.jobs.create(
    name="Shopify-Stripe Reconciliation",
    source={
        "adapter": "shopify",
        "config": {
            "api_key": "your_shopify_api_key",
            "shop": "your-shop",
        },
    },
    target={
        "adapter": "stripe",
        "config": {
            "api_key": "sk_your_stripe_key",
        },
    },
    rules={
        "matching": [
            {"field": "order_id", "type": "exact"},
            {"field": "amount", "type": "exact", "tolerance": 0.01},
        ],
    },
)

# Run the job
execution = client.jobs.run(job["id"])

# Get report
report = client.reports.get(job["id"])
print(f"Matched: {report['summary']['matched']}")
print(f"Unmatched: {report['summary']['unmatched']}")

Examples

Common use cases and patterns

# Iterate over all jobs
for job in client.jobs.list_paginated():
    print(job.name)

# Or get all at once
all_jobs = list(client.jobs.list_paginated())