Release workflow

  1. Change the version number in __about__.py

  2. Commit changes with a message like release: bump version to X.x.x to the main branch

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

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

Unpublish a tag

git tag -d old
git push origin :refs/tags/old
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/*