@@ -39,28 +39,32 @@ hand, from `{{cookiecutter.project_name}}/`).
3939
4040During generation you can select from the following backends for your package:
4141
42- 1 . [ hatch] [ ] : This uses hatchling, a modern builder with nice file inclusion,
43- extendable via plugins, and good error messages. ** (Recommended for pure
44- Python projects)**
45- 2 . [ flit] [ ] : A modern, lightweight [ PEP 621] [ ] build system for pure Python
46- projects. Replaces setuptools, no MANIFEST.in, setup.py, or setup.cfg. Low
47- learning curve. Easy to bootstrap into new distributions. Difficult to get
48- the right files included, little dynamic metadata support.
49- 3 . [ pdm] [ ] : A modern, less opinionated all-in-one solution to pure Python
50- projects supporting standards. Replaces setuptools, venv/pipenv, pip, wheel,
51- and twine. Supports [ PEP 621] [ ] .
52- 4 . [ poetry] [ ] : An all-in-one solution to pure Python projects. Replaces
53- setuptools, venv/pipenv, pip, wheel, and twine. Higher learning curve, but is
54- all-in-one. Makes some bad default assumptions for libraries.
55- 5 . [ setuptools] [ ] : The classic build system, but with the new standardized
56- configuration.
57- 6 . [ pybind11] [ ] : This is setuptools but with an C++ extension written in
58- [ pybind11] [ ] and wheels generated by [ cibuildwheel] [ ] .
59- 7 . [ scikit-build] [ ] : A scikit-build (CMake) project also using pybind11, using
60- scikit-build-core. ** (Recommended for C++ projects)**
61- 8 . [ meson-python] [ ] : A Meson project also using pybind11. (No VCS versioning)
62- 9 . [ maturin] [ ] : A [ PEP 621] [ ] builder for Rust binary extensions. (No VCS
63- versioning) ** (Recommended for Rust projects)**
42+ 1 . [ hatch] [ ] : This uses hatchling, a modern builder with nice file inclusion,
43+ extendable via plugins, and good error messages. ** (Recommended for pure
44+ Python projects)**
45+ 2 . [ uv] [ ] : The ` uv_build ` backend is written in Rust and is integrated into'
46+ ` uv ` , meaning it can build without downloading anything extra and can even
47+ avoid running Python at all when building, making it the fastest backend for
48+ simple packages.
49+ 3 . [ flit] [ ] : A modern, lightweight [ PEP 621] [ ] build system for pure Python
50+ projects. Replaces setuptools, no MANIFEST.in, setup.py, or setup.cfg. Low
51+ learning curve. Easy to bootstrap into new distributions. Difficult to get
52+ the right files included, little dynamic metadata support.
53+ 4 . [ pdm] [ ] : A modern, less opinionated all-in-one solution to pure Python
54+ projects supporting standards. Replaces setuptools, venv/pipenv, pip, wheel,
55+ and twine. Supports [ PEP 621] [ ] .
56+ 5 . [ poetry] [ ] : An all-in-one solution to pure Python projects. Replaces
57+ setuptools, venv/pipenv, pip, wheel, and twine. Higher learning curve, but
58+ is all-in-one. Makes some bad default assumptions for libraries.
59+ 6 . [ setuptools] [ ] : The classic build system, but with the new standardized
60+ configuration.
61+ 7 . [ pybind11] [ ] : This is setuptools but with an C++ extension written in
62+ [ pybind11] [ ] and wheels generated by [ cibuildwheel] [ ] .
63+ 8 . [ scikit-build] [ ] : A scikit-build (CMake) project also using pybind11, using
64+ scikit-build-core. ** (Recommended for C++ projects)**
65+ 9 . [ meson-python] [ ] : A Meson project also using pybind11. (No VCS versioning)
66+ 10 . [ maturin] [ ] : A [ PEP 621] [ ] builder for Rust binary extensions. (No VCS
67+ versioning) ** (Recommended for Rust projects)**
6468
6569Currently, the best choice is probably hatch for pure Python projects, and
6670scikit-build (such as the scikit-build-core + pybind11 choice) for binary
0 commit comments