Release workflow#

  1. Fill the CHANGELOG.md

  2. Change the version number in __about__.py

  3. Commit changes with a message like Bump version to X.x.x to the main branch

  4. Apply a git tag with the relevant version: git tag -a 0.3.0 {git commit hash} -m "New awesome feature"

  5. Push commit and tag to main branch: git push --tags

Manual upload to PyPi#

This method requires an API token on PyPi

If the CI/CD fails for any reason, here comes the manual procedure:

  1. Install required packages:

    python -m pip install -U build twine wheel
    
  2. Install package in editable mode:

    python -m pip install -e .
    
  3. Clean previous builds and build package artifacts:

    rm -rf dist/
    python -m build --no-isolation --sdist --wheel --outdir dist/ .
    
  4. Upload built artifacts to PyPi:

    twine upload -u __token__ dist/*