NorskRegnesentral/streamchange

Restrictive versions in dependencies (and Python 3.11 conflict)

Closed this issue · 1 comments

jonnor commented

The README states the following dependencies:

pandas >= 1.3
numpy >= 1.19
numba >= 0.56
river >=0.14

Hoever in the pyproject.toml the following specifers are used:

[tool.poetry.dependencies]
python = "^3.8"
pandas = "^1.3"
numpy = "^1.19"
numba = "^0.56"
river = "^0.14"
optuna = "^3.1.1"

The ^ specifier means that only SemVer compatible updates are allowed. Which for 0.x series like numba and river, means only patch releases. This is quite restrictive in general for a library.

And right now it causes incompatibility with Python 3.11. Because Py 3.11 support is only in requires numba 0.57.0, whereas streamchange has the dependency numba<0.57,>=0.56 when ^0.56 is resolved by pip.

jonnor commented

Maybe consider to change dependencies in general to ">=". This would allow more version updates on the assumption that they mostly will work. And that consumers of the library can always lock/restrict the version further (by specifying in their own requirements.txt/pyproject.toml), if they identify a problem.