Skip to main content

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 httpx transport in aryeo/base_client.py
  • Flat resource modules for 16 API tags and 90 operations
  • Generated aryeo/models.py and aryeo/enums.py from the checked-in spec
  • Compatibility exports under aryeo/resources/
  • Python >=3.11 by 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aryeo-0.2.0.tar.gz (99.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aryeo-0.2.0-py3-none-any.whl (61.1 kB view details)

Uploaded Python 3

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

Hashes for aryeo-0.2.0.tar.gz
Algorithm Hash digest
SHA256 357388bf31d2a5a77faec2c38139d97c59b9cca11935c49bc048172793415e22
MD5 c2b28cb6e423cd6294775908d36fa697
BLAKE2b-256 725315fa922690c13ba9869b2e1ac3920bc41d8d5e4175f5f27c402dac233841

See more details on using hashes here.

Provenance

The following attestation bundles were made for aryeo-0.2.0.tar.gz:

Publisher: release.yml on theperrygroup/aryeo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for aryeo-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b812021e9a8a447e7f35281560c858c0ad49ca4f7f500541b931d926d5ae3680
MD5 59a3768c8cc15e5000f36b000003ea6d
BLAKE2b-256 e409d9852b75ad625cf5ea800833585b0ad2793458ab827d015559fe4fc70176

See more details on using hashes here.

Provenance

The following attestation bundles were made for aryeo-0.2.0-py3-none-any.whl:

Publisher: release.yml on theperrygroup/aryeo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page