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

Bump max Python version to 3.13 #443

Merged
merged 2 commits into from
Jan 14, 2025
Merged

Bump max Python version to 3.13 #443

merged 2 commits into from
Jan 14, 2025

Conversation

maread99
Copy link
Collaborator

Bumps max Python version to 3.13.

Updates:

  • workflows to use 3.13 (including upper version of test matrix).
  • pyproject.toml project classifiers (as declared to PyPI).

@maread99
Copy link
Collaborator Author

maread99 commented Jan 14, 2025

Tests failing because numpy 1.26 won't build with python 3.13...

The minimum version of pandas that we support is currently 1.5.
pandas 1.5 requires numpy < 2.0
It seems that numpy 1.26.4 (the last version of v1 numpy) does not support Python 3.13

So, seems that to support Python 3.13 we'll have to drop support for pandas v1 and numpy v1... (?)

@maread99 maread99 force-pushed the bumpmax branch 2 times, most recently from 9f7d226 to e23c076 Compare January 14, 2025 10:58
@maread99
Copy link
Collaborator Author

.... all tests pass if we drop the 'pandas >= 1.5' restriction.

@gerrymanoim, would you be happy to lose the minimum pandas 1.5 restraint in order that we can support Python 3.13? (Obviously users could still use Python 3.10 through 3.12 with pandas 1.5 and numpy 1.26).

Cheers
Marcus

@maread99 maread99 added the dependencies Pull requests that update a dependency file label Jan 14, 2025
@gerrymanoim
Copy link
Owner

gerrymanoim commented Jan 14, 2025

Could we change

        python-version: ["3.10", "3.12"]
        include:
          - python-version: "3.10"
            requirements_file: requirements_dev.txt
          - python-version: "3.12"
            requirements_file: requirements_minpandas.txt

to be

        python-version: ["3.10", "3.12"]
        include:
          - python-version: "3.10"
            requirements_file: requirements_minpandas.txt
          - python-version: "3.12"
            requirements_file: requirements_dev.txt

instead? That way we're still testing older pands/python but not blocking anyone on py13?

I generally prefer to follow to the NEP support/drop schedule https://numpy.org/neps/nep-0029-deprecation_policy.html#drop-schedule, but I'm open to changing this if its painful.

@maread99
Copy link
Collaborator Author

maread99 commented Jan 14, 2025

We could do, although if we're going to explicitly support 3.13 then should we lose the pandas>=1.5 declaration in pyproject.toml and change it to simply pandas? (Otherwise there would be a conflict in what we're saying is supported.)

Shall I swap the requirements files over, as you suggest, and change the dependency in pyproject.toml to simply pandas. That way the requirements would be congruous with the supported Python versions and we'd still be implicitly ensuring support for pandas / numpy v1 with at least the earliest supported Python version.

@gerrymanoim
Copy link
Owner

Yep - I think that makes sense to me - thanks!

Updates test workflow to use `requirements_dev` instead
of `requirements_minpandas`.
@maread99 maread99 merged commit f74e8d8 into master Jan 14, 2025
7 checks passed
@maread99 maread99 deleted the bumpmax branch January 14, 2025 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file maintenance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants