Developer documentation#
Pymablock is an open source project and we welcome contributions from the community. To contribute code, please follow the guidelines below.
Documentation#
Pymablock uses markdown for documentation, run make -C docs/ clean html SPHINXOPTS="-WT --keep-going -n"
to build it.
When writing documentation, ensure that you write one sentence per line to make it easier to review changes.
Development environment#
Pymablock uses pre-commit, run pre-commit install
to enable it after cloning the repository.
We use py.test
for testing, run it with py.test
.
To test against multiple dependency versions, run nox
.
Dependency versions#
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
and in noxfile.py
adhere to SPEC-0.
Release checklist#
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.