Ensure that python3 points to a version of python >= 3.8 (python3 --version will tell you). If it does not, use pyenv to both install a recent python version and make it your current python.
There are two wrappers (poetryw and toxw) that install and run the correct versions of poetry and tox for you.
Run poetry to install dependencies:
./poetryw install
./poetryw run otava ...
See the poetry docs for more.
./poetryw run pytest
...or using tox:
./toxw
Code-style is enforced using ruff and flake8; import optimisation is handled by isort and autoflake. Linting is automatically applied when tox runs tests; if linting fails, you can fix trivial problems with:
./toxw -e format
To change the license header:
--remove-header arg to .pre-commit-config.yaml./toxw -e format
--remove-header arg from .pre-commit-config.yamlci-tools/license-templates/LICENSE.txt./toxw -e format
./toxw -e docker-build