-
Notifications
You must be signed in to change notification settings - Fork 23
Update build to python 3.13 #122
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
Update build to python 3.13 #122
Conversation
Test results math to 14 digits or so, but now fall just outside the prior tolerance
Scipy was sending integer-valued arrays into jax jvp functions. I don't know why - maybe the initial guess is a zero vector of ints? Anyway, this guards against that by explicitly converting back and forth between numpy and jax.numpy arrays as necessary, with jax arrays having their dtype explicitly set to a float type.
…ror causing failure on linux
A test is barely failing on github actions. I can't reproduce it because my machine (which is a mac, not linux ubuntu like GH actions) apparently uses a different random seed and has values for the test.
61dedec to
fd0c860
Compare
…on error was causing test failure
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #122 +/- ##
==========================================
+ Coverage 76.06% 76.11% +0.04%
==========================================
Files 66 67 +1
Lines 5832 5840 +8
==========================================
+ Hits 4436 4445 +9
+ Misses 1396 1395 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@btalamini @ralberd I tweaked the CI and setup.py to also allow for python 3.11 and 3.12 since Ryan needs 3.11 with his current spack build. All tests are passing. I'm going to leave this unmerged until Ryan gets a chance to try it out with his plato build. |
Update the package build to declare the minimum Python version to be 3.13. On my Mac M2 at least, this let me stop pinning old versions of Jax and Scipy. The scikit-sparse dependency was also easy - the current version of
suite-sparsein Homebrew worked without any intervention from me.I fixed all tests that failed due to the upgrade. All were due to minor changes in Jax's interface (plus the problem where it no longer seems to support auxiliary outputs from solvers in
lax.custom_root, which I consider to be a bug).@cmhamel or @ralberd, once this is passing the new py3.13 test, please remove the requirements for the 3.9 and 3.10 tests, and make the 3.13 test required for merging.
Fixes #92