grimp icon indicating copy to clipboard operation
grimp copied to clipboard

Add python 3.13 wheel

Open kasium opened this issue 1 year ago • 8 comments

python 3.13 is planned to be released on the 2024-10-01. Some days ago the first beta release was published. Early adopters cannot consume it for now when they don't want to build grimp locally. It would be great if you could offer a 3.13 prebuild wheel

kasium avatar May 27 '24 06:05 kasium

Thanks for requesting this. I've now updated the release steps so next time I do a release, it should 🤞🏻 build a wheel for Python 3.13. I'm not planning to do a release just for that though, it'll have to come along in the next release, hopefully in the next few weeks if not sooner.

I've also created a PR to formally support Python 3.13 but it's not possible to run the tests yet due to a downstream issue.

seddonym avatar Jun 05 '24 11:06 seddonym

Sounds great, thanks a lot!

kasium avatar Jun 05 '24 12:06 kasium

I'm afraid I had to back out the release of the 3.13 wheel as Py03 (a Rust crate which we use to provide Python binding to Rust) doesn't yet support 3.13.

Example failure.

seddonym avatar Jun 13 '24 11:06 seddonym

Seems like the next release of py03 should add support? https://github.com/PyO3/pyo3/issues/4038

kasium avatar Jun 14 '24 06:06 kasium

Thanks for the link. I've subscribed to that issue now so I should be able to add this once they release 0.22.

seddonym avatar Jun 14 '24 15:06 seddonym

@seddonym py03 with 3.13 support was released

kasium avatar Jul 09 '24 13:07 kasium

Hmm, I just released Grimp 3.4.1 with support for Python 3.13. But for some reason the wheels are only being built for Windows. E.g. have a look in this job for linux x86_64 - it installs Python 3.13 the Build wheels step only builds wheels for the other Python versions.

Troubleshooting this kind of thing isn't my strong point, to be perfectly honest. If anyone has any ideas I'm all ears.

seddonym avatar Jul 12 '24 12:07 seddonym

I had a short look and what I can see is, that in the linux build job, the following line is logged

🐍 Found CPython 3.8 at /usr/local/bin/python3.8, CPython 3.9 at /usr/local/bin/python3.9, CPython 3.10 at /usr/local/bin/python3.10, CPython 3.11 at /usr/local/bin/python3.11, CPython 3.12 at /usr/local/bin/python3.12, PyPy 3.9 at /usr/local/bin/pypy3.9, PyPy 3.10 at /usr/local/bin/pypy3.10

In difference for windows

🐍 Found CPython 3.13 at C:\hostedtoolcache\windows\Python\3.13.0-beta.3\x64\python.exe, CPython 3.12 at C:\hostedtoolcache\windows\Python\3.12.4\x64\python.exe, CPython 3.11 at C:\hostedtoolcache\windows\Python\3.11.9\x64\python.exe, CPython 3.10 at C:\hostedtoolcache\windows\Python\3.10.11\x64\python.exe, CPython 3.9 at C:\hostedtoolcache\windows\Python\3.9.13\x64\python.exe, CPython 3.8 at C:\hostedtoolcache\windows\Python\3.8.10\x64\python.exe

According to https://github.com/PyO3/maturin/issues/1960#issuecomment-1987134856 and the following comments, there are some version combinations to consider; but I guess we need to wait until 3.13 is officially released

kasium avatar Jul 17 '24 06:07 kasium

@seddonym 3.13 was released today. Can you please check if you can provide a wheel now?

kasium avatar Oct 07 '24 19:10 kasium

Thanks for the nudge, yes I'll look into this ASAP.

seddonym avatar Oct 08 '24 09:10 seddonym

Github automatically closed this, reopening until I can see it working!

seddonym avatar Oct 08 '24 13:10 seddonym

Well, I just released 3.5 and I'm afraid it still isn't including the Python 3.13 wheels, except for Windows 😞 . I'm guessing it's because the setup-python Github action doesn't yet include Python 3.13?

If anyone has any advice I'm all ears!

image

Here's a link to the workflow: https://github.com/seddonym/grimp/actions/runs/11236773243

seddonym avatar Oct 08 '24 13:10 seddonym

setup-python just allowed 3.13 :-)

kasium avatar Oct 09 '24 05:10 kasium

I tried setting up this PR just for the purposes of publishing the additional wheels, but no joy. Here's the release workflow.

The setup-python step does seem to install Python 3.13.0.

image

But the build wheels step doesn't for some reason find it.

seddonym avatar Oct 09 '24 15:10 seddonym

I think the issue might be with Maturin's discovery of Python interpreters.

The good news is, I tried explicitly setting the interpreter and the wheels have now built and published! https://pypi.org/project/grimp/3.5/#files

But this was still a very manual process. I'm going to close this ticket for now and will keep an eye on whether it works for the next release.

seddonym avatar Oct 09 '24 16:10 seddonym

Thanks a lot

kasium avatar Oct 09 '24 20:10 kasium