Binary builder¶
This uses PyApp to build an application that is able to bootstrap itself at runtime.
Note
This requires an installation of Rust.
Configuration¶
The builder plugin name is binary.
[tool.hatch.build.targets.binary]
[build.targets.binary]
Options¶
| Option | Default | Description |
|---|---|---|
scripts | all defined | An array of defined script names to limit what gets built |
python-version | latest compatible Python minor version | The Python version ID to use |
pyapp-version | The version of PyApp to use |
Build behavior¶
If any scripts are defined then each one will be built (limited by the scripts option). Otherwise, a single executable will be built based on the project name assuming there is an equivalently named module with a __main__.py file.
Every executable will be built inside an app directory in the output directory.
If the CARGO environment variable is set then that path will be used as the executable for performing builds.
If the CARGO_BUILD_TARGET environment variable is set then its value will be appended to the file name stems.
If the PYAPP_REPO environment variable is set then a local build will be performed inside that directory rather than installing from crates.io. Note that this is required if the CARGO environment variable refers to cross.