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 wheel
  • build_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

Most upvoted comments

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 just pyo3-pack or use pip install --pre.