Provide support for HPy
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.2k
- Forks
- 1k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 66
Description
HPy is a better Python API written in C.
The project's goal is to hide CPython's implementation details so that any Python implementation will be able to support C extensions with ease.
One of the main goals of the project is to allow PyPy to support C extensions without emulating CPython's API.
We should consider providing a backend that uses HPy instead of directly using the CPython API.
We can use a feature toggle to activate it.
Since HPy's API can be mixed with CPython's API we can gradually migrate more and more code to HPy's API as it evolves.
A first attempt to provide Rust bindings to HPy was made in pyhandle/hpy#20.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue does not name files, tests, or an entry point. Start by reviewing PyO3's existing Python C API bindings and the HPy project, including the Rust bindings attempt referenced in pyhandle/hpy#20. Define the backend and feature-toggle scope before implementation; done requires an agreed design and working HPy coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, python, rust
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100