Skip to content

Official Releases

Moses Chan edited this page Oct 15, 2025 · 6 revisions

Update README version number and year in citation bibentry.

Update CHANGELOG with the most recent release notes.

Review BAND SDK for any necessary changes.

Determine current external dependence version info

Determine state of tests

  • What test setups are presently excluded?
  • What wheel build setups are presently excluded?

Determine Cython version to use

  • All developers involved in the development of C code that uses numpy determine if a different version of numpy should be used to compile the C code. For example, a newer version might be used if it is believed that the newer version fixes bugs that affect surmise or if a newer version is significantly more performant. If a new version is to be used, communicate this and update the version in pyproject.toml and tox.ini.
  • If a new numpy version is to be used for compiling, determine if this new version affects what versions of numpy can be installed by users/developers. Adjust the numpy version constraints in setup.py as needed.

Finalize version information on a dedicated brach

  • Fix all broken tests and wheel builds where desired and possible
  • Update all external dependence version information in setup.py
  • Confirm that the numpy values in pyproject.toml and tox.ini are as desired and match. Regenerate and test .c files with Cython via tox. Commit all changes after successful testing.
  • Confirm that all cibuildwheel setup information in consistent with contents in setup.py
  • As part of PR review, reviewers confirm that all tox tasks run successfully locally and that all actions are completing successfully.

Check wheel builds after the last branch has been merged into main

  • Confirm that a full set of candidate prebuilt binary wheels was created automatically on push to main and that the testing of all these by the same action passed.
  • Inspect contents to confirm that compiled code is in the distributions and that the external dependencies of these are reasonable (e.g., with ldd on *nix and otool -L on Macs)
  • Publish full set of wheels to the PyPI test service and have developers manually test on many different setups and with many different versions of numpy to confirm that they install correctly and pass all tests.

Post publishing

  • Developers shall install surmise directly with pip install on a variety of different machines and with different numpy versions to confirm that installation is successful and all tests are passing.

Clone this wiki locally