-
-
Notifications
You must be signed in to change notification settings - Fork 10.9k
DEP: stop building and testing 32-bit windows #23717
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
Comments
Just to mention one example: Aren't there still a relevant number of users who use python/numpy in together with excel, i.e. pyxll? MS Office 32-bit is still a thing today in many scenarios, despite the fat that if it is no longer the default version during installing for some time now. 32-bit applications are sunsetting now on Windows, this is obvious. But 32-bit support on Windows may be necessary for some time in the future for those who can't switch to 64-bit. And there is no long term support for any version of python / numpy. |
Looks like Intel is thinking of dropping 32 bit hardware support in the future: https://www.tomshardware.com/news/intel-ponders-transition-to-64-bit-only-x86s-architecture . |
Any idea if/how this would affect people on WASM/pyodide? |
It shouldn't, we have a CI job for Pyodide/Emscriptem and that will continue to work: https://github.com/numpy/numpy/blob/main/.github/workflows/emscripten.yml. I'd expect support for WASM and Pyodide to continue to mature. |
I thought WASM is 32-bit for now, maybe I'm understanding what the memory64 proposal(https://github.com/WebAssembly/memory64) is supposed to mean? |
Sure, but no one is planning on actively breaking all 32-bit builds I believe. We just need a single CI job that tests that we don't accidentally introduce 64-bit-only things and break 32-bit builds. Users or redistributors may still choose to build them, and this proposal moves 32-bit Windows into the same category as 32-bit Linux on armv7 (Raspberry Pi & co), and some other niche use cases. @mattip I think your issue description is perhaps a little misleading, in particular the link to your Discourse post from 3 years ago. As I understand it, it is specific to reducing the support status (and our corresponding burden) for 32-bit Windows only. All 32-bit platforms are then supported only on a best-effort basis, we don't create binaries for them but will take patches if they're contributed for a specific platform. |
Yes, that is correct. CPython has a concept of support tiers. I propose moving 32-bit windows from Tier 1 to "other platforms". Perhaps we should have our own page of tiered support. |
That makes sense. At any rate, happy to follow numpy's lead on this for pandas. I personally don't care for 32-bit support too much. |
Even if we stop actively supporting 32-bit in wheels and CI, I don't think we should remove 32-bit compatibility for the foreseeable future. |
Just to say 👍 if win32 wheels/CI is making trouble (and it seems to be the case right now), there seems to be little reason to not just drop it for now. (And yes, we still will have 32bit support with CI, just not testing it explicitly for windows, so in an "other platforms" support tier.) |
Note that there are no 32 windows wheels in the 1.26.0b1 release. Do we want them? |
Ah good question. It should all work again, and we have a regular CI job for it at https://github.com/numpy/numpy/blob/main/.github/workflows/windows_meson.yml#L93. It should be low-overhead, nothing special was needed beyond adding I'll note that I'm still fine with getting rid of them again if they cause trouble. But here most of the problem was in the mess that's our Azure setup combined with the mess Microsoft makes with activating MSVC. However, with GHA, the How about we keep this issue closed, because it's about the generic "can/shall we do this" decision, and that trade-off hasn't really changed. And open a new issue to re-enable builds before the next pre-release? I should be able to fix this, but not in the next 2-3 days. |
@rgommers Sounds good. |
Hello! @ngoldbaum pointed me here when I failed to find a win32 wheel for numpy 1.26b. Would be nice if it can be tested downstream before the final release. xref astropy/astropy#14784 and liberfa/pyerfa#111 |
This doesn't include OpenBLAS, I haven't tried that - too much effort right now and it doesn't seem critical. Easier to revisit once OpenBLAS is more easily installable as a wheel. xref numpygh-23717 [skip circle] [skip cirrus] [skip azp]
This doesn't include OpenBLAS, I haven't tried that - too much effort right now and it doesn't seem critical. Easier to revisit once OpenBLAS is more easily installable as a wheel. xref numpygh-23717 [skip circle] [skip cirrus] [skip azp]
With gh-24671 we should get 32-bit wheels back. |
This doesn't include OpenBLAS, I haven't tried that - too much effort right now and it doesn't seem critical. Easier to revisit once OpenBLAS is more easily installable as a wheel. xref numpygh-23717 [skip circle] [skip cirrus] [skip azp]
This doesn't include OpenBLAS, I haven't tried that - too much effort right now and it doesn't seem critical. Easier to revisit once OpenBLAS is more easily installable as a wheel. xref numpygh-23717 [skip circle] [skip cirrus] [skip azp]
This doesn't include OpenBLAS, I haven't tried that - too much effort right now and it doesn't seem critical. Easier to revisit once OpenBLAS is more easily installable as a wheel. xref numpygh-23717 [skip circle] [skip cirrus] [skip azp]
This doesn't include OpenBLAS, I haven't tried that - too much effort right now and it doesn't seem critical. Easier to revisit once OpenBLAS is more easily installable as a wheel. xref numpygh-23717 [skip circle] [skip cirrus] [skip azp]
This doesn't include OpenBLAS, I haven't tried that - too much effort right now and it doesn't seem critical. Easier to revisit once OpenBLAS is more easily installable as a wheel. xref numpygh-23717 [skip circle] [skip cirrus] [skip azp]
Uh oh!
There was an error while loading. Please reload this page.
See the discussion at https://discuss.python.org/t/dropping-32-bit-packages
The builds are difficult to maintain, suffer bit rot, and are not popular.
Another option is to stop testing f2py on this platform, which is the reason we try to install a fortran compiler.
Building NumPy does not require the fortran compiler, it is only for tests.Edit: not true, wrapping the OpenBLAS library does require the fortran runtime.
The text was updated successfully, but these errors were encountered: