LinAlgKit

Releasing LinAlgKit

This document describes how to cut a new release, publish wheels to TestPyPI or PyPI, and verify the artifacts.

Versioning

Pre-release checklist

1) Build artifacts locally

python -m pip install -U build twine
python -m build

2) Upload to TestPyPI

# Create a token at https://test.pypi.org/account/ and set TWINE_PASSWORD env var
python -m twine upload -r testpypi dist/*

3) Verify install from TestPyPI in a clean venv

python -m venv .venv && source .venv/bin/activate
pip install -i https://test.pypi.org/simple/ LinAlgKit
python - <<'PY'
import LinAlgKit as lk
print(lk.Matrix(2,2,1.0).to_numpy())
PY

Publishing is automated via .github/workflows/release.yml:

Required repository secrets

Triggering a release

git tag v0.1.0rc1   # pre-release -> TestPyPI
git push --tags
# or stable
git tag v0.1.0
git push --tags

Post-release verification

Troubleshooting