- tox
- Creates virtual environments for CI or local pytest runs.
- Note that the CI does not current execute calls to the production API by default.
- Run
tox listor seetox.inifor more info
- Creates virtual environments for CI or local pytest runs.
- pre-commit
- Creates virtual environments for formatting and linting tools
- Run
pre-commit run --all-filesor see.pre-commit-config.yamlfor more info.
- black
- Whitespace formatter
- ruff
- Linting rules from a wide variety of selectable rule sets
- See
pyproject.tomlfor the rules used. - See all rules (but not necessarily used in the project) availible in rust here.
- mypy
- Static type safety
- I recommending using the mypy daemon instead of periodically running
pre-commit(ormypydirectly.).- If you are using VSCode, I recommend the
matangover.mypyextension, which implements this nicely.
- If you are using VSCode, I recommend the
- The
AI_HORDE_DEV_URLenvironment variable overridesAI_HORDE_URL. This is useful for testing changes locally. - pytest files which end in
_api_calls.pyrun last, and never run during the CI. It is currently incumbent on individual developers to confirm that these tests run successfully locally. In the future, part of the CI will be to spawn an AI-Horde and worker instances and test it there.