-
Notifications
You must be signed in to change notification settings - Fork 4
Python 3.13 Support #307
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 Support #307
Conversation
Moving the discussion from #304 here. The current issue is with unxt/src/unxt/_src/quantity/base.py Line 876 in e5b5b06
unxt/src/unxt/_src/quantity/base.py Line 902 in e5b5b06
unxt/src/unxt/_src/quantity/base.py Line 928 in e5b5b06
|
Perhaps this is an issue with |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #307 +/- ##
=======================================
Coverage 96.26% 96.26%
=======================================
Files 43 43
Lines 1579 1579
Branches 72 72
=======================================
Hits 1520 1520
Misses 47 47
Partials 12 12 ☔ View full report in Codecov by Sentry. |
I did some quick testing and it looks like beartype/plum#200 will fix this, allowing for |
I can confirm that this appears to solve most issues! But some critical tests still fail: There seem to be issues related to unit conversions where the resultant JAX array has the |
This PR can now bump plum >= 2.5.4 2 and change to |
Great! It looks like everything passes.
Where were these issues showing up? Given the passing tests this sounds like issues for a followup PR. |
I'm glad it's passing all of the CIs! These issues are showing up when I run pytest locally. After doing a fresh install on this branch here is the issue I still have: import unxt as u
x = u.Quantity(1000.0, "m") returns a Quantity['length'](Array(1000, dtype=int32, weak_type=True), unit='m') note the weak_type flag being set. This causes pytest failures as the sybil checks want the internal JAX array to be strongly typed. I'm unclear if this is an actual issue, but I thought it would be worth mentioning. If it's outside the scope of this PR then we can merge and get Python 3.13 support rolling. If it's not a problem at all, then great! |
Signed-off-by: TheSkyentist <[email protected]>
Signed-off-by: TheSkyentist <[email protected]>
The merge-base changed after approval.
I'm sorry for the spam! I tried to learn how to sign a commit and I forced pushed quite a few times. |
No worries!
It is indeed. Worth investigating. The weak dtype stuff is nice in that it indicates that copies are not being made. |
Thanks @TheSkyentist for the nice PRs! |
Happy to help! |
A draft for Python 3.13 compatibility. Currently solving none of the bugs, but simply updating the CI matrix to test all versions of supported Python and updating the pyproject.toml to have the 3.13 tag while disallowing 3.14.