Skip to content

WHL: add support for Python 3.15t+ - #423

Draft
neutrinoceros wants to merge 2 commits into
mainfrom
whl/cp315t
Draft

WHL: add support for Python 3.15t+#423
neutrinoceros wants to merge 2 commits into
mainfrom
whl/cp315t

Conversation

@neutrinoceros

Copy link
Copy Markdown
Owner

try to leverage PEP 803
This might not work out of the box yet since NumPy needs to be built from source in CI.

@neutrinoceros neutrinoceros added this to the Next release milestone Jun 13, 2026
@neutrinoceros
neutrinoceros force-pushed the whl/cp315t branch 2 times, most recently from e15b245 to d2d5918 Compare June 13, 2026 10:33
@neutrinoceros

Copy link
Copy Markdown
Owner Author

Only one arch (macOS+arm64) is getting to the test phase and then fails miserably with

TypeError: 'ndarray' object is not an instance of 'ndarray'
while processing 'texture'

I think I'll merge the supporting refactor but will leave the enabling as a draft.

@neutrinoceros

Copy link
Copy Markdown
Owner Author

current status:

  • all windows archs fail to build numpy 2.4.6
  • 3 other archs (manylinux-arm64 + both macOS archs) fail tests in manner I described above

in any case I do not intend to merge this (even partially) before 3.15.0rc1 is available, and I expect that numpy might unblock everything once it has wheels for it on PyPI too.
If by then I still get failures, I'll do a partial merge with just the successful builds.

@neutrinoceros
neutrinoceros force-pushed the whl/cp315t branch 4 times, most recently from fd790b7 to 10820c6 Compare June 15, 2026 06:17
@neutrinoceros

Copy link
Copy Markdown
Owner Author

current status:

  • cp315-cp315t nightlies are now available and correctly selected on Linux and MacOS, though the failure mode I reported previously is still showing, which probably indicates a bug in numpy-rust
  • windows still doesn't have compatible nightlies, because of a known build time error upstream

Meanwhile, the "Future Python dependencies" job is failing to select a nightly wheel, supposedly because 2.5.0rc0 is prefered as it doesn't require forking on windows.

@neutrinoceros

neutrinoceros commented Jun 15, 2026

Copy link
Copy Markdown
Owner Author

regarding forking, I don't think uv has a strategy that would enable what I'm looking for, so I'll just use the low level interface (uv pip) to force it.

edit: #442

ref: https://docs.astral.sh/uv/reference/settings/#fork-strategy

@neutrinoceros

Copy link
Copy Markdown
Owner Author

though the failure mode I reported previously is still showing, which probably indicates a bug in numpy-rust

given that #442 ran successfully with cp315 (GIL), I'd suspect pyo3 over numpy-rust, though it might be a combination of both, given how recent they are.

@neutrinoceros

Copy link
Copy Markdown
Owner Author

The good news is that I can easily reproduce the runtime error locally, so I should be able to produce a minimal report

@neutrinoceros

Copy link
Copy Markdown
Owner Author

PyO3/rust-numpy#555

@neutrinoceros

Copy link
Copy Markdown
Owner Author

This is now working as intented. The one thing I want to wait for before I undraft is a rust-numpy release with updated numpy headers, which this branch is currently using a dev branch for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant