Skip to content

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,

  1. the version number in setup.py and src/normi/__init__.py are bumped,
  2. a new tag is created via git tag v0.*.* and pushed git push --tags, and
  3. 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
Then, execute
python3 -m build
which will create the directory dist including the source distributions:
dist/
├── normi-0.*.*-py3-none-any.whl
└── normi-0.*.*.tar.gz
To upload the new files, run
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.