The layout of this package was initially generated using the scikit-hep/cookie package which follows the Scikit-HEP Developer recommendations for modern "dual-stack" python plus C++ packages. Thanks goes to Henry Schreiner (@henryiii) for putting together these recommendations and examples.
You can set up a development environment by running:
python3 -m venv .env
source .env/bin/activate
pip install -e .[dev,test]
You should prepare pre-commit, which will help you by checking that commits pass required checks:
pre-commit install # Will install a pre-commit hook into the git repo
You can also/alternatively run pre-commit run
(changes only) or pre-commit run --all-files
to check even without installing the hook.
Use PyTest to run the unit checks:
pytest
From inside your environment with the docs
extra installed (i.e. pip install .[docs]
), run:
cd docs
make clean && rm -rf _generated
make
The generic conversion routines require the convert
extra to be installed.
A nice commit summary can be generated from the main branch via:
git log --pretty="format: - %s" $(git describe --tags --abbrev=0)..HEAD