Thank you for contributing to amigo_sdk. This repository is the public Python client for the classic Amigo API, and contributor changes should keep that customer surface reliable and well-documented while platform migration work is planned.
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"checkruns formatting, linting, and testscheck --fixauto-fixes what it can, then reruns checkscheck --fastruns the fast path without tests
gen-modelsregenerates models from the committedspecs/openapi-baseline.jsonsnapshotsync-openapirefreshesspecs/openapi-baseline.jsonfrom the live classic API before regenerationmkdocs build --strictbuilds the docs site
Pytest is the test runner.
python -m pytest
python -m pytest -m integration
python -m pytest --cov=srcIntegration tests require valid Amigo API credentials in the environment.
src/amigo_sdk/
├── generated/ # generated models and schema-derived code
├── resources/ # resource clients
├── sdk_client.py # sync and async clients
└── webhooks.py # webhook helpers
docs/
├── index.md
└── reference/
examples/
└── conversation/
Before opening a PR:
- Run
check --fix - Run
python -m pytest - Run
sync-openapiandgen-modelsif the API contract changed - Update README or docs if customer-visible behavior changed
Releases are handled in GitHub Actions. If your change affects package behavior, public docs, or generated models, include enough context in the PR description for maintainers to produce accurate release notes.