Typed Python SDK for the Qondor API
Project description
qondor-api-sdk
Typed async Python SDK for the Qondor API.
Installation
pip install qondor-api-sdk
Quick start
from qondor_api_sdk import QondorClient
client = QondorClient(
base_url="https://api.example.com/Prod",
subscription_key="your-subscription-key",
on_behalf_of_jwt="delegated-jwt",
)
customers = await client.customer.get_all()
await client.close()
Custom configuration
For non-standard deployments you can override the auth header and disable resource-group path prefixes:
client = QondorClient(
base_url="https://api.example.com",
subscription_key="your-key",
auth_header="X-Custom-Auth",
use_resource_group_prefixes=False,
)
Modules
| Module | Description |
|---|---|
client.customer |
Customer CRUD |
client.project |
Project CRUD |
client.offer |
Offer CRUD and currencies |
client.product_group |
Product group CRUD |
client.product |
Product CRUD and pricing |
client.supplier |
Supplier CRUD |
client.office |
Office lookup |
client.contact_person |
Contact person CRUD |
client.statistics |
Offer/sales statistics |
Error handling
All errors derive from QondorApiError:
QondorValidationError(400/422) — includes parsed field errors from ASP.NET ProblemDetails.QondorServerError(500) — surface to human, do not retry.QondorRateLimitError(429/503) — retried automatically with exponential backoff, respecting theRetry-Afterheader.
Retry behaviour
Calls that receive 429 or 503 are retried up to 5 times with exponential backoff (1 s, 2 s, 4 s, …, capped at 30 s). If the response includes a Retry-After header, that value is used instead.
Integration tests
Integration tests live in tests/integration/ and hit the real Qondor API.
Set QONDOR_SUBSCRIPTION_KEY (and optionally QONDOR_ENV, defaults to dev)
and run uv run pytest -m integration. They also run automatically on merges
to main via the Integration Tests GitHub Actions workflow.
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
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 qondor_api_sdk-0.1.0.tar.gz.
File metadata
- Download URL: qondor_api_sdk-0.1.0.tar.gz
- Upload date:
- Size: 45.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2eeceb63f4ddeb247271a8b3d5358eb140c5d493d735efbc8f7aee1b39738ad
|
|
| MD5 |
a37a686d09d5e9b4e338490a2c21612f
|
|
| BLAKE2b-256 |
c11a4dacca61cbfdd95e4b627ba3511a1d5034957713dee45cb18494620fae32
|
Provenance
The following attestation bundles were made for qondor_api_sdk-0.1.0.tar.gz:
Publisher:
publish.yml on Qondor-AS/qondor-api-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qondor_api_sdk-0.1.0.tar.gz -
Subject digest:
b2eeceb63f4ddeb247271a8b3d5358eb140c5d493d735efbc8f7aee1b39738ad - Sigstore transparency entry: 1340570788
- Sigstore integration time:
-
Permalink:
Qondor-AS/qondor-api-sdk@c57b493fa0892b79ffb8666e41e1973d4bf905b5 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Qondor-AS
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c57b493fa0892b79ffb8666e41e1973d4bf905b5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file qondor_api_sdk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qondor_api_sdk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 25.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9d1ad0caa1224f339d98f496cb15db911696081929121afa18edb6bb5ec2bd0
|
|
| MD5 |
9c1db1fe92383b989c7651acb7075ef5
|
|
| BLAKE2b-256 |
000cd6b82dad0204f1026079506b63e6ec1f5d146704ab7069660435cd99e794
|
Provenance
The following attestation bundles were made for qondor_api_sdk-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Qondor-AS/qondor-api-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qondor_api_sdk-0.1.0-py3-none-any.whl -
Subject digest:
d9d1ad0caa1224f339d98f496cb15db911696081929121afa18edb6bb5ec2bd0 - Sigstore transparency entry: 1340570794
- Sigstore integration time:
-
Permalink:
Qondor-AS/qondor-api-sdk@c57b493fa0892b79ffb8666e41e1973d4bf905b5 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Qondor-AS
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c57b493fa0892b79ffb8666e41e1973d4bf905b5 -
Trigger Event:
push
-
Statement type: