Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
adamsardar opened this issue Jul 19, 2024 · 3 comments
Open

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

adamsardar opened this issue Jul 19, 2024 · 3 comments

Comments

@adamsardar
Copy link
Contributor

adamsardar commented Jul 19, 2024

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:

  • Drop CI stages that test against py38
  • Change the devcontainer python version
    -- pin requirements.txt - this permits an exact set of dependencies to develop against in the devcontainter
  • update pyproject.toml.
@adamsardar
Copy link
Contributor Author

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
Copy link

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
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants