Skip to content

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!