Application 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 app
.
[tool.hatch.build.targets.app]
[build.targets.app]
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.