Please ensure you have a recent enough version of setuptools
:
pip install --upgrade "setuptools>=46.4.0"
Install dependencies with:
pip install -e ".[dev]"
This installs the normal dependencies of the package plus the dependencies for tests.
Documentation is built with pdoc with the command:
pdoc --docformat=google -o doc/ ./src/dakara_base
Tests are run by Pytest with:
pytest
Both Pytest style and standard Unittest style tests can be used. Coverage is checked automatically with Pytest-cov.
Imports are sorted by isort with the command:
isort .
The code follows the PEP8 style guide (88 characters per line). Quality of code is checked with Flake8:
flake8
Style is enforced using Black:
black .
Pre-commit hooks allow to perform checks before commiting changes. They are managed with Pre-commit, use the following command to install them:
pre-commit install
This process describes how to release a new version:
- Move to the
develop
branch and pull.If there is any cosmetic modification to perform on the changelog file, do it now.git checkout develop git pull
- Call the bump version script:
with
./bump_version.sh 0.0.0 0.1.0
0.0.0
the release version and0.1.0
the next version (without 'v', without '-dev'). - Push the version commit and its tag:
with the according version number.
git push git push origin 0.0.0
- Move to the
master
branch and merge the created tag into it. Then push:git checkout master git pull git merge 0.0.0 git push
- Call the script to create the package:
The distribution and source distribution are created and published on PyPI. Just add your username and password when prompted.
./create_archive.sh
- On GitHub, draft a new release, set the version number with the created tag ("Existing tag" should read). Set the release title with "Version 0.0.0" (with number, you get it?). Copy-paste corresponding section of the changelog file in the release description. You can now publish the release.