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

gh-336: support Python 3.13 #337

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

gh-336: support Python 3.13 #337

wants to merge 2 commits into from

Conversation

Saransh-cpp
Copy link
Member

  • Add Python 3.13 classifier
  • Test on Python 3.13 in CI
  • Support for Python 3.13 in noxfile

Closes: #336

@Saransh-cpp Saransh-cpp added the maintenance Maintenance: refactoring, typos, etc. label Oct 8, 2024
@Saransh-cpp Saransh-cpp self-assigned this Oct 8, 2024
@Saransh-cpp Saransh-cpp marked this pull request as draft October 8, 2024 09:44
@Saransh-cpp Saransh-cpp marked this pull request as ready for review October 8, 2024 09:51
@Saransh-cpp Saransh-cpp marked this pull request as draft October 8, 2024 09:53
@Saransh-cpp
Copy link
Member Author

Version 3.13 was not found in the local cache
Error: The version '3.13' with architecture 'x64' was not found for Ubuntu 22.04.
The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json

I am not sure where the cache is coming from. I have tried re-running this multiple times and have also deleted the existing caches from GitHub Actions, but it somehow does not work. I will try re-running this later today, and maybe create an issue in setup-python if it still does not work? (Other pure-python repositories that I work on are not encountering this issue).

cc: @paddyroddy

@paddyroddy
Copy link
Member

It will take some time for 3.13 to become available across GitHub

@Saransh-cpp Saransh-cpp marked this pull request as ready for review October 9, 2024 15:40
@Saransh-cpp
Copy link
Member Author

Ah, healpix does not have 3.13 binaries on PyPI and we don't allow pip to build it from source -

--only-binary healpix

I think this will have to wait till 3.13 wheels of healpix are available on PyPI.

cc: @ntessore

@paddyroddy
Copy link
Member

Ah, healpix does not have 3.13 binaries on PyPI and we don't allow pip to build it from source -

We should definitely wait until all dependencies have 3.13 support. It is quite common for the ecosystem to take a while to catch up.

@ntessore
Copy link
Collaborator

healpix for cp313 has been uploaded

@paddyroddy paddyroddy marked this pull request as ready for review October 11, 2024 09:48
@paddyroddy
Copy link
Member

Just marking as ready to see what happens in CI

@ntessore
Copy link
Collaborator

Also built flt wheels for cp312 and cp313. Excluding healpy, are these all of our native extension dependencies done?

@paddyroddy
Copy link
Member

Also built flt wheels for cp312 and cp313. Excluding healpy, are these all of our native extension dependencies done?

I think so, hard to tell really unless we comment out healpy

@paddyroddy paddyroddy marked this pull request as draft October 11, 2024 11:49
@ntessore
Copy link
Collaborator

Still waiting on a new healpy release does make me wonder if our CI wouldn't be better served by using conda ... But this probably causes a lot of issues with tox/nox?

@paddyroddy
Copy link
Member

Still waiting on a new healpy release does make me wonder if our CI wouldn't be better served by using conda ... But this probably causes a lot of issues with tox/nox?

Unless I've missed something, conda alone won't sort 3.13 support? It's still on the same version v1.17.3 https://anaconda.org/conda-forge/healpy, so will still need the library fixing.

Some libraries take a long time to support a new release, for example check out numba/numba#9197.

A different question is do we need healpy as well as healpix?

@ntessore
Copy link
Collaborator

Unless I've missed something, conda alone won't sort 3.13 support? It's still on the same version v1.17.3 https://anaconda.org/conda-forge/healpy, so will still need the library fixing.

But conda has already provided 3.13 binaries for healpy 1.17.3 – healpy maintainers could add those to PyPI, like I did for healpix and flt.

Some libraries take a long time to support a new release, for example check out numba/numba#9197.

In my experience, that is only numba, which is understandable given what they have to go through.

A different question is do we need healpy as well as healpix?

The healpix package only deals with the HEALPix discretisation as such, but doesn't provide a spherical harmonic transform. Moving away from healpy for the latter is a long-term goal for GLASS, since healpy doesn't work on Windows (and many students come with Windows machines). In fact, I am looking forward to moving towards a generic Array API backend, since that is a very natural point to make that switch.

@paddyroddy
Copy link
Member

But conda has already provided 3.13 binaries for healpy 1.17.3 – healpy maintainers could add those to PyPI, like I did for healpix and flt.

Ah yes, I see that now.

In my experience, that is only numba, which is understandable given what they have to go through.

You're very lucky, you've only had delays with numba!

@paddyroddy
Copy link
Member

Still waiting on a new healpy release does make me wonder if our CI wouldn't be better served by using conda ... But this probably causes a lot of issues with tox/nox?

I do think we want to use whatever you anticipate end users using. I don't use conda these days in favour of uv.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Maintenance: refactoring, typos, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Python 3.13 support
3 participants