This is a low-level library for calling build-backends in
pyproject.toml-based project. It provides the basic functionality to help write tooling that generates distribution files from Python projects.
What this library provides#
Logic for calling build-backend hooks in a subprocess.
Automated fallbacks for optional build-backend hooks.
Control over how the subprocesses are run.
What this library does not provide#
Environment management / isolation
It is the responsibility of the caller to setup an environment containing the build dependencies, and provide a
python_executableto this library to use that environment. It is also the caller’s responsibility to install any “additional” dependencies before calls to certain hooks.
A command line interface
This is a low-level library that would simplify writing such an interface but providing a command line interface is out-of-scope for this project.
These roles are covered by tools like build, which use this library.