Skip to content

Development

Use a source checkout from a repository you are authorized to access. Public source availability is listed on the project website; this guide does not assume a forge account or clone address.

Isolate your work

Work from an isolated copy of the source before editing and deliver changes through the repository's standard review process. Use Python 3.11 or 3.12, an isolated environment, and disposable test storage.

python -m venv .venv
. .venv/bin/activate
python -m pip install -e '.[test]'
python -m pip install -r docs/requirements.txt

Never point development or browser fixtures at live storage or reuse production credentials. The repository's pytest configuration isolates its database before test collection. Integration tests may need explicitly configured disposable services.

Validate changes

Run focused tests for the changed behavior, then the checks required by the repository. For public website changes:

python -m pytest tests/test_public_site.py -q
python scripts/build_site.py --output build/review

The output directory must be new. The builder does not delete or overwrite previous builds. See Building and publishing for the publishing boundary.

Documentation rules

Use illustrative data, reserved example domains and generic identities. Document public configuration names, never values copied from a running installation. Avoid screenshots of live services. Keep dated incidents, requirements records and environment-specific runbooks outside the public page allowlist. An archive must never be published by recursively copying the repository's documentation directory.

Examples must agree with the package's actual call signatures and return types. table() returns a record array; it does not return a database connection or a DataFrame.