For developers¶
Dependency management¶
We use mamba
to manage the project’s underlying dependencies. Notably, to update the dependencies listed in a particular environments/*_environment.yml
file:
mamba env export > env.yaml # e.g., run this after installing new dependencies locally within a given `conda` environment
diff environments/posebench_environment.yaml env.yaml # note the differences and copy accepted changes back into e.g., `environments/posebench_environment.yaml`
rm env.yaml # clean up temporary environment file
Code formatting¶
We use pre-commit
to automatically format the project’s code. To set up pre-commit
(one time only) for automatic code linting and formatting upon each execution of git commit
:
pre-commit install
To manually reformat all files in the project as desired:
pre-commit run -a
Documentation¶
We sphinx
to maintain the project’s code documentation. To build a local version of the project’s sphinx
documentation web pages:
# assuming you are located in the `PoseBench` top-level directory
pip install -r docs/.docs.requirements # one-time only
rm -rf docs/build/ && sphinx-build docs/source/ docs/build/ # NOTE: errors can safely be ignored