Reconify Python SDK
Typed synchronous and asynchronous clients for the Reconify Public API.
Installation
pip install reconify-python
Quickstart
from reconify import Reconify
with Reconify(api_key="rk_...") as client:
sources = client.ledger.list_ledger_sources(limit=25)
for source in sources.sources or []:
print(source.id, source.name)
The key may also be supplied through RECONIFY_API_KEY. The default endpoint is
https://api.reconifyhq.com/v1; pass base_url="https://staging.example/v1"
for staging or self-hosted deployments. /v1 is added when it is absent.
Async usage and pagination
from reconify import AsyncReconify
async with AsyncReconify() as client:
async for event in client.iter_events(limit=100):
print(event.id)
Cursor and offset iterators preserve opaque cursors and the server's page size.
When an endpoint accepts both cursor and offset pagination, after takes
precedence.
Every list operation also has a natural iterator on the client, for example
client.iter_reconciliations(limit=100) or
client.iter_wallet_transactions(after="cursor"). The async equivalent is
an async iterator. Iterators forward query parameters using keyword arguments,
so they never expose transport details.
Errors and retries
HTTP failures raise typed ReconifyError subclasses. Every HTTP error exposes
status_code, detail, code, validation details, response headers, and the
response request_id without including credentials or request bodies.
429, 503, and transient HTTP transport failures such as timeouts are retried
for safe methods with bounded exponential backoff and jitter. Mutating methods
are not retried unless RetryConfig(retry_unsafe_methods=True) is supplied.
Transaction ingestion retries must reuse each row's idempotencyKey.
The client default timeout is 30 seconds. Individual operations can override
it with timeout=..., including an httpx.Timeout object. Async operations
also support normal asyncio cancellation, which is the Python equivalent of
context cancellation in other SDKs.
Use raw=True on any operation to receive status, headers, request ID, and raw
body through RawResponse.
Test-session and ingestion headers
Integrity ingestion and test-session submission accept
integrity_test_session=..., which is sent as X-Integrity-Test-Session.
Integrity batches support 1–500 events and ledger transaction batches support
1–5000 transactions; the SDK does not truncate caller input.
The SDK intentionally excludes reconciliation adjustment, evidence, lifecycle, report-item, and signoff operations. The retained reconciliation surface is integrity sources, reconciliation list/create/get, and all schedule operations.
API reference
The public operation methods are grouped by API module. Request bodies use the
typed Pydantic models exported from reconify.models; list query parameters use
the OpenAPI names in snake_case. Every operation accepts raw=True and a
per-request timeout override.
| Module | Methods |
|---|---|
| Alerts | list_alert_rules, put_alert_rule |
| Events | list_events, get_event, reveal_event_field |
| Ingestion | ingest_integrity_events, ingest_integrity_test_events |
| Issues | list_issues, get_issue_summary, get_issue, update_issue, list_issue_deliveries, retry_issue_delivery, add_issue_note, resolve_issue |
| Ledger | list_ledger_sources, create_ledger_source, delete_ledger_source, get_ledger_source, update_ledger_source, list_source_periods, list_transactions, ingest_transactions |
| Reconciliations | list_integrity_sources_for_reconciliation, list_reconciliation_schedules, create_reconciliation_schedule, delete_reconciliation_schedule, get_reconciliation_schedule, update_reconciliation_schedule, list_reconciliations, create_reconciliation, get_reconciliation |
| Search | search_integrity_resources |
| Setup | list_setup_integrations, get_setup_integration, list_setup_sources, create_setup_source, get_setup_source, update_setup_source, disable_setup_source, create_test_session, get_test_session, get_test_session_result, retry_test_session, submit_test_session_events |
| Transactions | list_wallet_transactions, get_wallet_transaction |
| Wallets | list_wallets, get_wallet, get_wallet_balance |
Build and deploy
Build the distributable artifacts locally or in CI:
python -m pip install build
python -m build
The resulting wheel and source archive in dist/ are ready for publication to
an internal or public Python package registry. CI builds both artifacts after
running lint, type checking, and tests.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reconify_python-0.1.0.tar.gz.
File metadata
- Download URL: reconify_python-0.1.0.tar.gz
- Upload date:
- Size: 63.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c855cd3d7b91c72d4d016d25a9108449f7ad3497531d83df9ae6287df9135a3
|
|
| MD5 |
4cd63a8dd7d77a923fa46e8c6bad29a7
|
|
| BLAKE2b-256 |
2c798c77ad9bc6d762af6f90926e31b027d35a50c82c70fcfca6b828a05215d3
|
File details
Details for the file reconify_python-0.1.0-py3-none-any.whl.
File metadata
- Download URL: reconify_python-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32aef9880543a9be54e24df15902a52098b7c34d01277c3ae6e92b4381f2daad
|
|
| MD5 |
43decca16cbe54dc7b5f752fa107283f
|
|
| BLAKE2b-256 |
c503373cd9a0b75f51ed2965f9f22f4c2ddc0387dfabe01cd19f19d33d1db178
|