-
Notifications
You must be signed in to change notification settings - Fork 912
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
Add GraalPy support #5141
Add GraalPy support #5141
Conversation
Thanks for contributing! Welcome to the project :) Could you add a CI integration test in the style of the PyPy one? |
edd6e5f
to
ff3dd22
Compare
Added. There's a bug with GraalPy 24.0 on Linux around parsing the |
runs-on: windows-latest | ||
|
||
steps: | ||
- uses: timfel/setup-python@fc9bcb4a04f5b1ea7d678c2ca7ea1c479a2468d7 |
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.
PR to setup-python is open: actions/setup-python#880
- name: Graalpy info | ||
run: | | ||
which graalpy | ||
echo "GRAAL_PYTHONHOME=$(graalpy -c 'print(__graalpython__.home)')" >> $GITHUB_ENV |
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.
Workaround for 24.0 bug (fixed in 24.1, due out in September)
Looks like it's failing on Windows: https://github.com/astral-sh/uv/actions/runs/9987705348/job/27602873156?pr=5141 |
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.
Looks good to me once it's passing CI.
@timfel, this does not seem to work:
Removing |
Yeah, there's a workaround in the CI config I commented on above in this PR, the fix is in GraalPy master and will be in the next release in September. Until then we have to work around with either your suggestion or setting GRAAL_PYTHONHOME like I do in the CI here |
Summary
Currently,
uv
refuses to install anything on GraalPy. This is currently blocking GraalPy testing with cibuildwheel, since manylinux includes bothuv
andgraalpy
(but doesn't test withuv
), whereas cibuildwheel defaults touv
. See e.g. https://github.com/pypa/cibuildwheel/actions/runs/9956369360/job/27506182952?pr=1538 where it givesTest Plan
I simply based the GraalPy support on PyPy and added some small tests. I'm open to discussing how to test this. GraalPy is available for manylinux images and with setup-python, so we should be able to add tests against it to the CI. I locally confirmed by installing
uv
into a GraalPy venv and then trying things likeuv pip install Pillow
and testing those extensions.