General
Q: How it works¶
Pyaket is highly inspired by PyApp, with opinionated and idiosyncratic design choices that makes it easier to use and understand, with improved resiliency, speeds, monorepo support, and a cli.
In short, the rust language supports build scripts that runs before the compilation of the main program, allowing us to process and pass a configuration from environment variables to the final release. At runtime, download uv and/or a python-distribution archive (or pre-bundle it alongside wheels with rust-embed), create a venv, install dependencies, run the project with incoming argv.
- This guarantees maximum compatibility with how the project is run on the user's machine, as we're doing the same steps an experienced python user would do with native tools
- There is little runtime overhead, mostly checking if the project is already installed and files are properly unpacked, then calling a python interpreter child process
There are a lot of configuration options in the documentation!