Skip to content

Unpin Python version in the development environment #61585

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

Open
datapythonista opened this issue Jun 6, 2025 · 5 comments
Open

Unpin Python version in the development environment #61585

datapythonista opened this issue Jun 6, 2025 · 5 comments
Labels
CI Continuous Integration Dependencies Required and optional dependencies Needs Discussion Requires discussion from core team before further action

Comments

@datapythonista
Copy link
Member

xref #61555

Our base conda environment environment.yml is used locally by pandas developers (contributors and maintainers), and for some CI jobs, like building the documentation. For stability, we pinned the version of Python to a specific version (currently python=3.10). As new versions of Python are released, this is becoming outdated, and for no particular reason we're now going building our docs and creating our development environments in a Python version soon to stop being supported.

This issue is to remove the pin, leave python open to any version, which in general it should be the latest available, and fix all the problems in the CI caused by upgrading the version here.

The errors detected when upgrading can be found here:

@datapythonista datapythonista added CI Continuous Integration Dependencies Required and optional dependencies good first issue labels Jun 6, 2025
@rhshadrach
Copy link
Member

If we don't pin to the minimum supported version, I fear contributors will submit code that is only supported on higher versions and then have to debug-via-CI. That is not a good experience.

I think we should continue to push contributors to use the minimum Python version by pinning it rather than removing the pin.

@rhshadrach rhshadrach added Needs Discussion Requires discussion from core team before further action and removed good first issue labels Jun 6, 2025
@datapythonista
Copy link
Member Author

Thanks for the feedback @rhshadrach. Personally I think the CI will prevent any issue, and I'm not sure how often people code things that only work in the latest versions of Python. At the same time, it's not a big deal to keep updating the Python version in environment.yml, and probably not so important to run sphinx, the website, pre-commit, and not sure if something else in a newer Python version either. I'd still remove the pin, but I'm ok to just upgrade to 3.11 if you think it does make a difference regarding the contributors.

@rhshadrach
Copy link
Member

I've lost track - when are we dropping 3.10 support? Do we have discussion on this?

@datapythonista
Copy link
Member Author

#60059 and Matt mentioned it in the last dev call too

@rhshadrach
Copy link
Member

Thanks! I'm good with pinning the environment to 3.11 in that case even before we drop 3.10 fully on main. But I do think we should prefer this over no pin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration Dependencies Required and optional dependencies Needs Discussion Requires discussion from core team before further action
Projects
None yet
Development

No branches or pull requests

2 participants