Releases: seventhingsCompany/customer-api-python
Releases · seventhingsCompany/customer-api-python
Release list
v1.4.0
What’s Changed
First release of the Python SDK for the seventhings Customer API. It has feature parity with the Go and PHP SDKs at v1.4.0.
pip install seventhings-customer-apiAdded
- Sync and async clients:
ClientandAsyncClienton httpx, which is the only runtime dependency. Both share one request/decoding layer, and the sync client is generated from the async source. - Full API coverage: auth (password, refresh token, SSO auth code, revoke), ping, objects (including barcode lookup, archive/unarchive, file attachments), rooms, locations, users, persons (including create-user), files, tasks, rental cases, field definitions (including mandatory-field helpers), Circularity Hub items and orders, PDF reports, and change history for objects, rooms, locations, persons, tasks and rental cases.
- Pagination iterators:
all()on objects, rooms, locations, rentals, users and persons, pluscircularity_hub.all_items(). They work with bothforandasync for. - Typed models:
- frozen dataclasses and
strenums; - a
Fieldsdict with typed accessors for the tenant-specific records; - fully typed (
py.typed, mypy strict).
- frozen dataclasses and
- Errors:
APIError(withis_not_found,is_feature_inactive, …),NetworkErrorandDecodeError, all deriving fromSeventhingsError. - Examples and docs: a live end-to-end demo in
examples/demo/, plus a README covering every module.
Differences from the Go SDK
- The client has a default 30-second timeout (
timeout=Nonedisables it). - Room/location
patchreturnsNonewhen the API answers with an empty body, instead of failing. - Enum values unknown to this SDK version are kept as plain strings instead of raising.
Verification
- 447 unit tests, each run against both the sync and the async client, pass on Python 3.10–3.14. They also pass locally on 3.15.0rc2.
- The live integration suite (ported from Go) passed 41 tests with 2 skips; the skipped Circularity Hub item and order tests need hub items on the instance. The demo completed end to end on 3.14 and 3.15rc2.
- The package is published to PyPI through trusted publishing, with digital attestations.