DynamicsAndNeuralSystems / pyspi

Comparative analysis of pairwise interactions in multivariate time series.
https://time-series-features.gitbook.io/pyspi/
GNU General Public License v3.0
198 stars 26 forks source link

Support more recent Python versions #69

Closed jvdd closed 3 months ago

jvdd commented 3 months ago

Currently pyspi requires Python <3.10,>=3.8. It would be awesome to see support for more recent Python versions

Given that Python 3.12 is now the default installation in the latest Ubuntu LTS release underscores the need to expand the range of supported Python versions. image

benfulcher commented 3 months ago

We're aware of this—being a package that unifies a large and diverse combination of code derived from a range of different sources, it is challenging to keep code updated in this way. It's on our radar, and we welcome pull requests! As I understand, (and @jmoo2880 will correct me if I'm wrong) most of the SPIs do run on newer python versions, as does the main calculation infrastructure.

jmoo2880 commented 3 months ago

This is certainly something that is on our radar. As @benfulcher mentioned, pyspi draws from a range of dependencies to compute various SPIs. The downside is the potential for clashes and incompatibilities between these dependencies.

Specifying Python <3.10,>=3.8 offered the best compromise in terms of compatibility between the various dependencies (allowing a vast toolkit of SPIs) while also ensuring reproducible results across different systems. Naively bumping the dependencies could lead to inconsistencies in the computed SPIs, which is something we want to avoid. I touch on some of the difficulties with updating the dependencies in this thread: https://github.com/DynamicsAndNeuralSystems/pyspi/issues/60. Essentially, it requires careful testing and validation to ensure that the results remain consistent and reproducible.

jmoo2880 commented 3 months ago

@jvdd, I've managed to sort out the dependency issues described above and have released a new pyspi version 1.1.0 that brings support to all python >=3.8 (incl. 3.12). Let me know how it goes for you :).

jvdd commented 3 months ago

Really appreciate the effort @jmoo2880!! Can't wait to toy around with pyspi :)