Welcome to the normi Maintenance Guideline¶
This guide will give you an overview of how to publish a new version of normi. In the following we will refer to the new version as v0.*.*. This needs to be substituted to the current version, e.g. v0.1.3.
Prepare New Release¶
Please ensure that,
- the version number in
setup.pyandsrc/normi/__init__.pyare bumped, - a new tag is created via
git tag v0.*.*and pushedgit push --tags, and - the changelog includes the new tag and all changes of the release.
As an example see for e.g. the commit of v0.1.1, c2582ed.
Upload to PyPI¶
There is an CI to publish new versions automatically. Therefore, a new release needs to be published. Please ensure that each release is based on a tag.
Build and Upload to PyPI (preferred)¶
It is as simple as creating a new release from the new tag. The Github action will do the rest.
Build and Upload to PyPI (admin only)¶
For an introduction, please take a look at the PyPI manual.
First ensure that all needed dependencies are installed
python -m pip install --upgrade pip
python -m pip install --upgrade build
python -m pip install --upgrade twine
To create the build, please ensure first that the directory dist does not exist. Otherwise delete it,
rm dist
python3 -m build
dist including the source distributions:
dist/
├── normi-0.*.*-py3-none-any.whl
└── normi-0.*.*.tar.gz
python3 -m twine upload dist/*
Update on Conda-Forge¶
Once a new version is published on PyPI, the conda-forge bot will automatically create a pull request on normi-feedstock.