|
@@ -4,9 +4,9 @@
|
|
|
=== Infrastructure for Python packages
|
|
|
|
|
|
This infrastructure applies to Python packages that use the standard
|
|
|
-Python setuptools or pep517 mechanisms as their build system, generally
|
|
|
-recognizable by the usage of a +setup.py+ script or +pyproject.toml+
|
|
|
-file.
|
|
|
+Python setuptools, pep517, flit or maturin mechanisms as their build
|
|
|
+system, generally recognizable by the usage of a +setup.py+ script or
|
|
|
++pyproject.toml+ file.
|
|
|
|
|
|
[[python-package-tutorial]]
|
|
|
|
|
@@ -51,8 +51,9 @@ On line 13, we declare our dependencies, so that they are built
|
|
|
before the build process of our package starts.
|
|
|
|
|
|
On line 14, we declare the specific Python build system being used. In
|
|
|
-this case the +setuptools+ Python build system is used. The three
|
|
|
-supported ones are +flit+, +pep517+ and +setuptools+.
|
|
|
+this case the +setuptools+ Python build system is used. The five
|
|
|
+supported ones are +flit+, +pep517+, +setuptools+, +setuptools-rust+
|
|
|
+and +maturin+.
|
|
|
|
|
|
Finally, on line 16, we invoke the +python-package+ macro that
|
|
|
generates all the Makefile rules that actually allow the package to be
|
|
@@ -98,13 +99,14 @@ Note that:
|
|
|
One variable specific to the Python infrastructure is mandatory:
|
|
|
|
|
|
* +PYTHON_FOO_SETUP_TYPE+, to define which Python build system is used
|
|
|
- by the package. The three supported values are +flit+, +pep517+ and
|
|
|
- +setuptools+. If you don't know which one is used in your package,
|
|
|
- look at the +setup.py+ or +pyproject.toml+ file in your package
|
|
|
- source code, and see whether it imports things from the +flit+
|
|
|
- module or the +setuptools+ module. If the package is using a
|
|
|
- +pyproject.toml+ file without any build-system requires and with a
|
|
|
- local in-tree backend-path one should use +pep517+.
|
|
|
+ by the package. The five supported values are +flit+, +pep517+ and
|
|
|
+ +setuptools+, +setuptools-rust+ and +maturin+. If you don't know
|
|
|
+ which one is used in your package, look at the +setup.py+ or
|
|
|
+ +pyproject.toml+ file in your package source code, and see whether
|
|
|
+ it imports things from the +flit+ module or the +setuptools+
|
|
|
+ module. If the package is using a +pyproject.toml+ file without any
|
|
|
+ build-system requires and with a local in-tree backend-path one
|
|
|
+ should use +pep517+.
|
|
|
|
|
|
A few additional variables, specific to the Python infrastructure, can
|
|
|
optionally be defined, depending on the package's needs. Many of them
|