@@ -79,6 +79,8 @@ in alphabetical order:
7979 through plugins.
8080
8181- :ref: `setuptools ` (which used to be the only build backend). It can be configured
82+ using modern standards like `pyproject.toml `, but can also be extended
83+ and supports customisation via `setup.py `.
8284 programmatically through the :file: `setup.py ` file (but for basic metadata,
8385 :file: `pyproject.toml ` is preferred).
8486
@@ -95,11 +97,13 @@ the standard library in Python 3.12, although it still remains available from
9597setuptools.
9698
9799For packages with :term: `extension modules <extension module> `, you may use
98- setuptools. However, you can also use a build system with dedicated support for
99- the language the extension is written in. For example, you could choose Meson or
100- CMake for C, C++, Fortran and many other compiled languages; or Cargo for Rust
101- specifically. You can then bridge this build system to Python using a dedicated
102- build backend:
100+ a build system with dedicated support for the language the extension is written in,
101+ for example:
102+
103+ - :ref: `setuptools ` - natively supports C/C++ (with 3rd-party plugins for Go and Rust);
104+ - :ref: `meson-python ` - C, C++, Fortran, and Rust and other languages supported by Meson;
105+ - :ref: `scikit-build-core ` - C, C++, Fortran and other languages supported by CMake;
106+ - :ref: `maturin ` - Rust, via Cargo.
103107
104108- :ref: `meson-python ` for Meson,
105109
0 commit comments