Currently, Propulate officially only supports Pythonv<=3.12. In the long run, we should definitely also support newer Python versions, specifically Pythonv3.13 and Pythonv3.14. This does not involve any relevant changes in the Python API and just does not require any changes in our code
You can find an overview of the status of Python versions here.
However, a considerable problem is that the GPy package which is used for surrogate modeling in Propulate seems to be not properly maintained and explicitly depends on deprecated versions of scipy and numpy (see install_requirements in their setup.py), which are incompatible with Python v>=3.12. GPy requires scipy<=1.12.0; however, the current stable release is 1.17.0.
We can either
- implement Gaussian processes (GPs) on our own in
Propulate or
- look for an alternative third-party package that is better maintained and provides at least the same functionality. Things to look into might be:
Also see issue #131 marked as sub-issue below.
Currently,
Propulateofficially only supportsPythonv<=3.12. In the long run, we should definitely also support newerPythonversions, specificallyPythonv3.13andPythonv3.14. This does not involve any relevant changes in thePythonAPI and just does not require any changes in our codeYou can find an overview of the status of
Python versionshere.However, a considerable problem is that the
GPypackage which is used for surrogate modeling inPropulateseems to be not properly maintained and explicitly depends on deprecated versions ofscipyandnumpy(seeinstall_requirementsin their setup.py), which are incompatible withPython v>=3.12.GPyrequiresscipy<=1.12.0; however, the current stable release is1.17.0.We can either
Propulateorscikit-learn(check out this for GPs in scikit-learn)GPyTorchBoTorchAlso see issue #131 marked as sub-issue below.