Skip to content

PyPI packaging notes

John Kerl edited this page May 22, 2024 · 6 revisions

Release instructions are at https://github.com/single-cell-data/TileDB-SOMA/wiki/Branches-and-releases.

Here we list steps to be done manually if for some reason the CI job which publishes to PyPI fails, and wheel artifacts need to be re-run manually.

  1. If the python-packaging workflow doesn't trigger automatically, click "Run workflow" on that page and select the new tag.
  2. Wait 30-45 minutes for the python-packaging workflow to complete.
  3. Open the workflow run page (example) and download the three ZIP files (sdist.zip, wheels-macosx.zip, wheels-manylinux2014.zip).
  4. Create and cd into a temp directory, and extract all the ZIP files there. You should have a flat directory with one .tar.gz and numerous .whl files (the sdist and wheels, respectively), with the expected version number in the filenames.
  5. twine check tiledbsoma-* and check all PASSED. (See also twine docs.)
  6. twine upload tiledbsoma-* and provide your PyPI creds or API token.
  7. Look over PyPI releases and sanity test (with the new version number):
docker run -e VERSION=0.5.0a2 --rm -it ubuntu:20.04 bash -ec '
  apt-get -qq update && apt-get install -y python3-pip
  pip3 install tiledbsoma==${VERSION}
  python3 -c "import tiledbsoma; print(tiledbsoma.libtiledbsoma.__file__)"'

See also Debugging wheel-build issues.