This document describes how to develop and contribute code to this repository. The project uses Poetry to manage dependencies and provides a Makefile with common formatting, linting and testing commands.
- Except for maintainers, please follow the fork and pull request workflow.
- Fill in the Pull Request template before submitting.
- Continuous integration will run lint and tests automatically. Make sure all checks pass locally.
- When adding features or fixing bugs, update the documentation accordingly and add tests in
tests/unit_testsortests/integration_testswhenever possible.
The project dependencies are managed with Poetry. If you are using Conda, it is recommended to create and activate a new environment first:
conda create -n annaagent python=3.10
conda activate annaagentInstall Poetry following its official guide. After installation, if you use Conda or Pyenv, run:
poetry config virtualenvs.prefer-active-python trueThen install all development dependencies (including lint and test tools) from the repository root:
poetry install --with lint,testThe repository provides a Makefile to easily run common tasks. All commands are executed from the project root.
Use ruff to format the code:
make formatRun static and import checks:
make lintRun the unit tests:
make testRun the integration tests:
make integration_testsGenerate a coverage report:
make coverageRun make help for more commands.