3-manifolds/SnapPy

Support Python 3.12

Closed this issue · 8 comments

The first release candidate for Python 3.12 is now available and the final version is scheduled to be released on October 1, 2023. We need to make SnapPy compatible, including the following binary components:

  • FXrays
  • low_index
  • knot_floer_homology
  • cypari
  • Spherogram
  • SnapPy itself

Depending on the module, this would also be a natural time to make sure everything works with Cython 3.0. Note that cibuildwheel has started including Python 3.12 in the CI runs as of early August.

@culler Marc, thanks for getting started on this. I kicked the CI for FXrays and knot_floer_homology and uploaded the resulting wheels to pypi. I also pinned the version of cibuildwheel on those so it won't start springing new versions of Python on us in the future as in 3-manifolds/Spherogram#53.

The CI had trouble with spherogram and Python 3.12 even though it also worked fine for me locally; I fixed this and have now posted wheels for both low_index and spherogram.

For now, I've removed Python 3.12 from the CI of snappy proper.

Python 3.12 wheels for snappy 3.1.1 and all its parts are now posted on PyPi.