Typed Python client for the Aryeo API.
Project description
Aryeo Python Client
Aryeo is a typed Python client for the Aryeo API. The client is generated from
the checked-in OpenAPI wrapper at docs/api/aryeo.json and uses a
client-library repository shape: flat resource modules, explicit exports,
MkDocs documentation, per-resource tests, and release-quality checks.
Current Scope
- Sync
httpxtransport inaryeo/base_client.py - Flat resource modules for 16 API tags and 90 operations
- Generated
aryeo/models.pyandaryeo/enums.pyfrom the checked-in spec - Compatibility exports under
aryeo/resources/ - Python
>=3.11by design
Resource methods intentionally return decoded JSON until each endpoint can be confidently mapped to stable request and response models.
Install
python -m pip install -e ".[dev]"
python -m pip install -r docs/requirements.txt
Quickstart
from aryeo import AryeoClient
with AryeoClient.from_env() as client:
orders = client.orders.list(params={"page": 1, "per_page": 25})
listings = client.listings.list(params={"page": 1, "per_page": 25})
Set ARYEO_API_TOKEN before using protected operations. ARYEO_API_KEY is
also accepted as a fallback for local .env files. Public operations can be
called without a token.
Sentry Reporting
Optional, opt-in, enrich-only Sentry reporting is available behind the
aryeo[sentry] extra. The client never calls sentry_sdk.init(); it attaches
to your already-initialized Sentry SDK to capture client errors and request
breadcrumbs, with bearer-token and PII scrubbing. It is a no-op when reporting
is off or Sentry is not active.
python -m pip install "aryeo[sentry]"
import sentry_sdk
from aryeo import AryeoClient
sentry_sdk.init() # owned by your application
with AryeoClient.from_env() as client: # or AryeoClient(token=..., report_to_sentry=True)
client.orders.list(params={"page": 1, "per_page": 25})
Enable it via report_to_sentry=True, or set ARYEO_SENTRY_ENABLED=1 for
AryeoClient.from_env. See docs/guides/sentry.md for configuration and data
safety details.
Live Integration Checks
Live checks are opt-in and avoid mutating API data by default:
python tools/verify_live_integrations.py
Some resource groups require stable fixture IDs before they can be checked live.
Set ARYEO_LIVE_ADDRESS_ID, ARYEO_LIVE_ORDER_ITEM_ID,
ARYEO_LIVE_ORDER_ID, or ARYEO_LIVE_VIDEO_ID for fixture-based reads.
Regenerate
python tools/bootstrap_client_repo.py --force-curated
python docs/api/generate_reference.py
Validation
black --check --diff --line-length=88 .
isort --check-only --diff --profile=black --line-length=88 .
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=88 --statistics
mypy aryeo/ --strict --ignore-missing-imports
pytest --cov=aryeo --cov-report=term-missing
mkdocs build --strict
python -m build
python -m twine check dist/*
Resource Groups
| Tag | Module | Operations |
|---|---|---|
| Addresses | aryeo/addresses.py |
3 |
| Appointments | aryeo/appointments.py |
12 |
| Company Users | aryeo/company_users.py |
3 |
| Customer Users | aryeo/customer_users.py |
8 |
| Discounts | aryeo/discounts.py |
6 |
| Listings | aryeo/listings.py |
7 |
| Notes | aryeo/notes.py |
1 |
| Order Forms | aryeo/order_forms.py |
2 |
| Order Items | aryeo/order_items.py |
4 |
| Orders | aryeo/orders.py |
6 |
| Payroll | aryeo/payroll.py |
2 |
| Products | aryeo/products.py |
5 |
| Scheduling | aryeo/scheduling.py |
9 |
| Tags | aryeo/tags.py |
12 |
| Tasks | aryeo/tasks.py |
7 |
| Videos | aryeo/videos.py |
3 |
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 aryeo-0.2.0.tar.gz.
File metadata
- Download URL: aryeo-0.2.0.tar.gz
- Upload date:
- Size: 99.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
357388bf31d2a5a77faec2c38139d97c59b9cca11935c49bc048172793415e22
|
|
| MD5 |
c2b28cb6e423cd6294775908d36fa697
|
|
| BLAKE2b-256 |
725315fa922690c13ba9869b2e1ac3920bc41d8d5e4175f5f27c402dac233841
|
Provenance
The following attestation bundles were made for aryeo-0.2.0.tar.gz:
Publisher:
release.yml on theperrygroup/aryeo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aryeo-0.2.0.tar.gz -
Subject digest:
357388bf31d2a5a77faec2c38139d97c59b9cca11935c49bc048172793415e22 - Sigstore transparency entry: 1660597488
- Sigstore integration time:
-
Permalink:
theperrygroup/aryeo@27abb1026a5be28401f581ec97c2dfb2b2aa05fd -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/theperrygroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@27abb1026a5be28401f581ec97c2dfb2b2aa05fd -
Trigger Event:
push
-
Statement type:
File details
Details for the file aryeo-0.2.0-py3-none-any.whl.
File metadata
- Download URL: aryeo-0.2.0-py3-none-any.whl
- Upload date:
- Size: 61.1 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 |
b812021e9a8a447e7f35281560c858c0ad49ca4f7f500541b931d926d5ae3680
|
|
| MD5 |
59a3768c8cc15e5000f36b000003ea6d
|
|
| BLAKE2b-256 |
e409d9852b75ad625cf5ea800833585b0ad2793458ab827d015559fe4fc70176
|
Provenance
The following attestation bundles were made for aryeo-0.2.0-py3-none-any.whl:
Publisher:
release.yml on theperrygroup/aryeo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aryeo-0.2.0-py3-none-any.whl -
Subject digest:
b812021e9a8a447e7f35281560c858c0ad49ca4f7f500541b931d926d5ae3680 - Sigstore transparency entry: 1660597881
- Sigstore integration time:
-
Permalink:
theperrygroup/aryeo@27abb1026a5be28401f581ec97c2dfb2b2aa05fd -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/theperrygroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@27abb1026a5be28401f581ec97c2dfb2b2aa05fd -
Trigger Event:
push
-
Statement type: