Skip to content

Conversation

msimacek
Copy link
Contributor

@msimacek msimacek commented Aug 1, 2025

Change Summary

GraalPy is an alternative Python interpreter written in Java. pydantic-core already works on it out of the box, thanks to PyO3 supporting GraalPy, but it needs to be built from source. I'm adding a CI task to run tests on GraalPy and a CI task to build a wheel for GraalPy on Linux x86_64 (Other platforms should work too, but maturin currently doesn't support cross-compilation to GraalPy without having it installed. I'll work on that on maturin's side).

I tested the full build on my fork: https://github.com/msimacek/pydantic-core/actions/runs/16669541765/job/47182503777?pr=1

CC @timfel

Checklist

  • Unit tests for the changes exist
  • Documentation reflects the changes where applicable
    • I added a trove classifier. Let me know if there are other places
  • Pydantic tests pass with this pydantic-core (except for expected changes)
    • I didn't make any code changes outside of pydantic-core tests, so I assume they still pass on CPython. As for passing on GraalPy, there were 12 failures out of 6478 (some of those are refcounting dependent and should be skipped). I'll look into those
  • My PR is ready to review

Selected Reviewer: @sydney-runkle

@msimacek
Copy link
Contributor Author

msimacek commented Aug 1, 2025

please review

Copy link

codecov bot commented Aug 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link

codspeed-hq bot commented Aug 1, 2025

CodSpeed Performance Report

Merging #1771 will not alter performance

Comparing msimacek:msimacek/graalpy (b57d68e) with main (1ea1fef)

Summary

✅ 159 untouched benchmarks

Copy link
Member

@Viicos Viicos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I'll let @davidhewitt have a quick look as well

@davidhewitt davidhewitt added the Full Build cause CI to do a full build label Aug 4, 2025
Copy link
Contributor

@davidhewitt davidhewitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the build ran clean here too, thanks!

@davidhewitt davidhewitt merged commit 46796b6 into pydantic:main Aug 4, 2025
71 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Full Build cause CI to do a full build ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants