Clone the repository. Move into the directory on your terminal.
Prepare the checkout and install dependencies for development.
make bootstrapThe command can be run in either the primary checkout or a linked worktree. See the README for its environment-file behavior.
Install pre-commit to run a battery of automatic quick fixes against your work.
uv run pre-commit installRun the fast, non-mutating checks.
make checkRun the complete local verification suite before opening a pull request.
make verifyBefore releasing, customize the package metadata in pyproject.toml and follow
the release checklist.
The repository includes a ready-to-serve documentation site managed by Python's Sphinx framework.
The configuration is stored in the docs directory. The default settings in docs/conf.py include several common Sphinx extensions. The documentation is written in Markdown files stored within the directory. If you plan to publish documentation, you should started by editing docs/index.md and go from there. You can learn more about the options to available in the MyST guide to writing Markdown in Sphinx.
To build the documentation as a bundle of HTML files, run the following command:
make build-docsYou can launch a preview site with the following command:
make serve-docsThe documentation site is automatically built by a GitHub Actions workflow that runs on every push and pull request. It checks links weekly. Protect the docs-production environment, configure its AWS OIDC role, and set DOCS_DEPLOY_ENABLED to true to publish the reviewed artifact from the main branch.
Follow RELEASING.md, including its post-merge GitHub Release follow-up. The continuous deployment workflow publishes the package when the exact version tag is pushed.