maturin: PEP 517 integration
The recent PEP 517 specifies an interface for alternative build systems to be defined, which is exactly what’s happening here.
To do that, pyo3-pack
would need to provide a very simple Python interface with the following hooks:
build_wheel
to build a wheelbuild_sdist
to build a gztarred archive of the source code (actual semantics are defined in the PEP).
Then, releasing the pyo3-pack
module to PyPI would allow users to specify the build system in pyproject.toml
, making it easier to build a Rust wheel without setuptools
.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 4
- Comments: 26 (26 by maintainers)
Commits related to this issue
- Implement the wheel part of PEP 517 (#2) — committed to PyO3/maturin by konstin 5 years ago
- Proper PEP 517 sdist support (#2) — committed to PyO3/maturin by konstin 5 years ago
- Merge pull request #2 from aganders3/guide-suggestions Guide contributions — committed to PyO3/maturin by messense 3 years ago
pip 19.0 supports PEP 517 now: https://pip.pypa.io/en/stable/news/.
I’ve finished sdist support in 78c516f and published a beta version with the (as far as I tested) complete PEP 517 support. Testing and experience reports with the new beta are welcome! The usage is documented in the readme, even though you need to specify
pyo3-pack==0.7.0-beta.1
instead of justpyo3-pack
or usepip install --pre
.