Due to our large number of dependencies (and transitive dependencies), we have been unable to update to the latest Python variants. This thread is discuss a possible pathway to supporting Python 3.13 and 3.14 builds of Sire, which would keep us up-to-date with other packages in the ecosystem, e.g. OpenFF (who have recently dropped 3.11 support).
The following packages mean that we can't build against Python 3.13 on all supported platforms:
deepmd-kit (used by sire-emle)
ambertools (currently used as the am1bcc backend for openff, and provides sander for BioSimSpace MD tests)
The first is problematic for users of emle-engine and the sire-emle interface. We might be able to restrict the dependency to Python variants and platforms where it is available.
The second might be resolved by the OMSF proposal to package a stripped down version containing everything needed for am1bcc only. Currently, we also use tLEaP and sander too, so we might need to package these ourselves for testing purposes, e.g. restricting ourselves to running these tests on a subset of platforms.
For Python 3.14 we will also need to remove:
gemmi (for pdbx/mmcif support).
xtb-python (used by sire-emle)
Again, both of these could be restricted to platforms/variants where they are available. The former, gemmi, has been a problem package anyway and we might be able to fix the issue by updating the wrappers to support nanobind. (Previously gemmi used pybind11 where we could make use of standard Boost::Python/pybind11 interface wrappers.)
Due to our large number of dependencies (and transitive dependencies), we have been unable to update to the latest Python variants. This thread is discuss a possible pathway to supporting Python 3.13 and 3.14 builds of Sire, which would keep us up-to-date with other packages in the ecosystem, e.g. OpenFF (who have recently dropped 3.11 support).
The following packages mean that we can't build against Python 3.13 on all supported platforms:
deepmd-kit(used bysire-emle)ambertools(currently used as theam1bccbackend foropenff, and providessanderfor BioSimSpace MD tests)The first is problematic for users of
emle-engineand thesire-emleinterface. We might be able to restrict the dependency to Python variants and platforms where it is available.The second might be resolved by the OMSF proposal to package a stripped down version containing everything needed for
am1bcconly. Currently, we also usetLEaPandsandertoo, so we might need to package these ourselves for testing purposes, e.g. restricting ourselves to running these tests on a subset of platforms.For Python 3.14 we will also need to remove:
gemmi(for pdbx/mmcif support).xtb-python(used bysire-emle)Again, both of these could be restricted to platforms/variants where they are available. The former,
gemmi, has been a problem package anyway and we might be able to fix the issue by updating the wrappers to supportnanobind. (Previouslygemmiusedpybind11where we could make use of standardBoost::Python/pybind11interface wrappers.)