Pymablock is an open source project and we welcome contributions from the community. To contribute code, please follow the guidelines below.
We use pixi for dependency management, run pixi install
to install the default environment.
Pymablock uses pre-commit, run pixi run pre-commit install
to enable it after cloning the repository.
We use py.test
for testing, run it with pixi run tests
.
To test against multiple dependency versions, run pixi run tests-all
.
Pymablock uses markdown for documentation, run pixi run docs-build
to build it.
When writing documentation, ensure that you write one sentence per line to make it easier to review changes.
Pymablock adopted SPEC-0 for setting minimal requirements on Python, NumPy, and SciPy.
Before making a release check that the minimal versions specified in pyproject.toml
adhere to SPEC-0.
To make a release, do the following:
- Confirm that the changelog contains all relevant user-visible changes, and update it if necessary.
- Confirm that all contributors have been added to the authors.md file by running
git shortlog -s $(git describe --tags --abbrev=0)..HEAD| sed -e "s/^ *[0-9\t ]*//"
. - Add a new level two header to the changelog with the title
[X.Y.Z] - YYYY-MM-DD
, but keep the[Unreleased]
header. - Check that CI runs.
- Tag the version with
git tag --sign vX.Y.Z --annotate -m 'release vX.Y.Z'
(skip--sign
if you do not have git signing configured) and push the taggit push origin vX.Y.Z
. This publishes the release to pypi. - @isidora.araya updates the Zenodo repository (as its owner).
- Maintainers of the
pymablock-feedstock
review and merge the pull request created by the conda-forge bot.