lvgig / tubular

Python package implementing transformers for pre processing steps for machine learning.
https://tubular.readthedocs.io/en/latest/index.html
BSD 3-Clause "New" or "Revised" License
38 stars 14 forks source link

Drop py38 support, pin all requirements.txt for reproducibilty #282

Open adamsardar opened 3 months ago

adamsardar commented 3 months ago

What This is a bookmark to remind us to perform a few cleanup tasks when python38 goes out of support in October.

Why See this comment on PR #271 - py38 support prevents us pinning dependencies across all GA python versions:

scipy 1.10.1 (released in Feb'23) supports 3.8<=python<3.12 and scipy 1.11.1 (released Jun'23) supports 3.9<=python<3.13. There is therefore no way to cover all of the python versions with a single pinned requirements.txt.

Python 3.8 is due to go out of support soon, so it seems timely to restore pinned dependencies for explicit reproducible of build environments.

How Wait for python 3.8 to go into end of life (October 31st 2024) - or close to it - and then:

adamsardar commented 2 months ago

I've been thinking about this ticket. I don't think that we should use requirements.txt for CI - that should be a direct install from pyproject.toml to simulate 'real' package installations in different python versions (which will have no knowledge of requirements.txt from pypi). In a pip-tools workflow, requirements.txt only exists for reproducibility reasons, not for listing dependencies. For us this means that it is only used for defining the devcontainer.

JohnStokes228 commented 1 month ago

the tubular pypi page only shows its compatibility up to python 3.8, which does not match to your pyproject.toml, which shows you test at >=3.8

could this be updated to reflect the actual supported python versions as part of this issue?

davidhopkinson26 commented 1 week ago

the tubular pypi page only shows its compatibility up to python 3.8, which does not match to your pyproject.toml, which shows you test at >=3.8

could this be updated to reflect the actual supported python versions as part of this issue?

This should be fixed in the next release with the correct versions now specified in pyproject.toml https://github.com/lvgig/tubular/blob/main/pyproject.toml