Skip to content

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.

3 participants