Publishing to PyPI

First time only:

  1. Create an account at https://pypi.org
  2. Create an API token under Account Settings → API tokens
  3. Install twine: pip install twine
  4. Save your token in ~/.pypirc:
  [pypi]
  username = __token__
  password = pypi-YOUR-TOKEN-HERE

Every release:

  1. Run gradle build_all
  2. Build the wheel and tarball:
    cd dist/pypi && python -m build
  3. Upload:
    twine upload dist/*

The GitHub Release upload (step 2 for AUR) is the only manual step that ties
the two together — the AUR PKGBUILD’s source URL points to that release asset
for its MD5 check.