Skip to content

Commit 6b691c4

Browse files
committed
πŸ“¦ Move packaging to PEP 517 in-tree backend
This essentially allows the cythonization opt-out be controlled by the `pure-python` PEP 517 config setting that can be passed to the corresponding build frontends via their respective CLIs.
1 parent 1a81ced commit 6b691c4

File tree

13 files changed

+787
-46
lines changed

13 files changed

+787
-46
lines changed

β€ŽMANIFEST.inβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ include CHANGES.rst
66
include README.rst
77
include Makefile
88
graft multidict
9+
graft packaging
910
graft docs
1011
graft CHANGES
1112
graft requirements

β€Žpackaging/README.mdβ€Ž

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# `pep517_backend` in-tree build backend
2+
3+
The `pep517_backend.hooks` importable exposes callables declared by PEP 517
4+
and PEP 660 and is integrated into `pyproject.toml`'s
5+
`[build-system].build-backend` through `[build-system].backend-path`.
6+
7+
# Design considerations
8+
9+
`__init__.py` is to remain empty, leaving `hooks.py` the only entrypoint
10+
exposing the callables. The logic is contained in private modules. This is
11+
to prevent import-time side effects.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""PEP 517 build backend for optionally pre-building Cython."""
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import sys
2+
3+
from . import cli
4+
5+
if __name__ == "__main__":
6+
sys.exit(cli.run_main_program(argv=sys.argv))

0 commit comments

Comments
Β (0)