Skip to content
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

Refactor chapel-py to use the C Python Stable API #26565

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

jabraham17
Copy link
Member

@jabraham17 jabraham17 commented Jan 17, 2025

Refactors chapel-py to only use the C Python Stable API when possible. This means that chapel-py will no longer be constrained to run with the Python version it was built with. This allows users more flexibility in how they use chapel-py.

Due to limitations within Python, we can only use the stable API with python 3.10+. Previous versions had stable API's that were missing key features chapel-py relies on. So for previous versions, the previous limitations apply.

Its is expected that this PR will have a performance hit. Its not clear how much of an impact this will have.

TODO: make sure 'module' is set
TODO: fix the pyi generation
TODO: check that docs still work
TODO: cleanup build process/deps folders

Testing:

  • Building with Python 3.13
    • run start_test test/chplcheck and make test-cls with Python 3.13
    • run start_test test/chplcheck and make test-cls with Python 3.12
    • run start_test test/chplcheck and make test-cls with Python 3.11
    • run start_test test/chplcheck and make test-cls with Python 3.10
  • Building with Python 3.10
    • run start_test test/chplcheck and make test-cls with Python 3.13
    • run start_test test/chplcheck and make test-cls with Python 3.12
    • run start_test test/chplcheck and make test-cls with Python 3.11
    • run start_test test/chplcheck and make test-cls with Python 3.10
  • run start_test test/chplcheck and make test-cls with Python 3.9

Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant