In #185, I set an upper limit on the allowed version of setuptools to handle the deprecation of numpy.distutils, but this will stop working in Python 3.12, I think, so we'll need to figure out what to do after that. We might be able to switch to scikit-build?