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

Python 3.13 roadmap #235

Closed
3 tasks
cbrnr opened this issue Sep 16, 2024 · 7 comments · Fixed by #241 or #251
Closed
3 tasks

Python 3.13 roadmap #235

cbrnr opened this issue Sep 16, 2024 · 7 comments · Fixed by #241 or #251

Comments

@cbrnr
Copy link
Owner

cbrnr commented Sep 16, 2024

We cannot enable Python 3.13 currently, because

@cbrnr cbrnr linked a pull request Oct 14, 2024 that will close this issue
@larsoner
Copy link
Contributor

Still pinned to < 2.0 does that still need to be there? Otherwise the other limitations are gone now.

Also would be good to tackle this at the same time as #230. I can open a WIP PR to switch to abi3 if it would help, I've done it for a few repos recently

@cbrnr
Copy link
Owner Author

cbrnr commented Jan 14, 2025

WFDB still has that NumPy pin, but I'm not really sure that we need to have it (maybe it was never necessary in the first place, I can't remember why I introduced it). So yes, I'm happy to remove it (do you want to make a PR?)!

Regarding abi3 wheels, it would be great if you could do it! Are there any drawbacks compared to non-abi3 wheels? Why is not everyone using abi3 wheels by default?

@larsoner
Copy link
Contributor

Are there any drawbacks compared to non-abi3 wheels?

If you write code that uses C Python calls, sometimes you have to use less efficient ones. So you have to make sure all API calls are in here

https://docs.python.org/3/c-api/stable.html

So far in other repos I've only needed to change a few small list or tuple access/query function calls with minimal impact on performance. We'll see here pretty quickly (hopefully) if we hit something that would be too hard or too slow to change over.

Why is not everyone using abi3 wheels by default?

I don't think that many people know about them, and not super well supported by Cython, and not particularly well documented most places. SWIG just added support in the last year. NumPy just added docs saying you can build wheels with a dependency on their API and it is abi3 compatible, etc.

@larsoner
Copy link
Contributor

Looks like the real limiting factor now is MIT-LCP/wfdb-python#511. @cbrnr so that sleepecg doesn't get caught up in their (slow) timeline WDYT I'll try making it a more clearly optional dep in my PR

@larsoner larsoner mentioned this issue Jan 14, 2025
@cbrnr
Copy link
Owner Author

cbrnr commented Jan 17, 2025

Let's leave this open until all packages support 3.13.

@cbrnr cbrnr reopened this Jan 17, 2025
@larsoner
Copy link
Contributor

@cbrnr time for a release? Would be good for 3.13 and NumPy 2 support!

@cbrnr
Copy link
Owner Author

cbrnr commented Jan 30, 2025

Yes, will do!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants