Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 33.9k
GH-141362: Make get_externals handle fetching platform-specific release artifacts#142405
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
GH-141362: Make get_externals handle fetching platform-specific release artifacts #142405
Uh oh!
There was an error while loading. Please reload this page.
Conversation
savannahostrowski commented Dec 8, 2025 • edited by bedevere-app bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-app bot
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Steve Dower <[email protected]>
diegorusso commented Dec 11, 2025
I have a comment not related to this PR, but I just want to have your input @zooba
This is fair but what about running on a true 32-bit OS? I see I'm more than happy to move the conversation on DPO if you think we need more discussion. |
chris-eibl commented Dec 11, 2025
Yeah, especially since the JIT is having a hard time on x86 due to spilling (because there are so few registers). @brandtbucher 's PR for preserve_none x86 llvm/llvm-project#150106 will help, but it seems stalled. Tailcalling doesn't work on Windows x86 (upcoming #139962), because MSVC doesn't support it for x86 (at least not in VS 2026, no idea whether this will ever be supported). There was a long discussion in https://discuss.python.org/t/consider-downgrading-windows-32-bit-from-tier-1-to-tier-2-or-tier-3-in-python-3-13/33719, but the outcome was to keep Windows x86 in tier-1. And the 32bit installer link was ranked after the 64bit installer on python.org so unaware people less likely choose it over 64bit 🚀
Even though Windows 10 is EOL (which was the last one where you could choose between 32bit/64bit when installing) and Windows 11 is 64bit only during installing, there is the compatibility layer to run 32bit software in 64bit Windows.
One outcome in the above discussion was, that 1
This might no longer be true for the JIT? Footnotes |
diegorusso left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Savannah for your patience on getting this implemented. I think it behaves as it should be and LGTM. I prefer though if you have the blessing of some Windows expert :)
chris-eibl commented Dec 11, 2025
LGTM. Maybe we can somewhere document that Sorry to be picky. Final decision is anyway up to Steve ... |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Chris Eibl <[email protected]>
chris-eibl left a comment • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Savannah!
savannahostrowski commented Dec 11, 2025
Thanks for reviewing @chris-eibl! Appreciate it! |
savannahostrowski commented Dec 12, 2025
Given that this has gotten a stamp from Diego and Chris (and I know Steve is out for quite some time), I will merge this. I am happy to revisit any and all parts if there is additional feedback! Thank you all for the reviews! |
c90863a into python:mainUh oh!
There was an error while loading. Please reload this page.
This PR adds support for downloading platform-specific LLVM binaries (AMD64, ARM64) instead of using a single binary with emulation (see https://github.com/python/cpython-bin-deps/releases/tag/llvm-21.1.4.0 for release artifacts). Since this won't naturally trigger
jit.yml, you can see a successful run here, including print statements to show that we are in fact downloading the correct binary 😄.get_externalshandle fetching platform-specific release artifacts #141362