pyapp
pyapp copied to clipboard
move interface from build-time to runtime.
> cargo install pyapp --quiet --root out
> mv out/bin/pyapp cowsay && chmod +x cowsay
> cowsay -t hi
App: cowsay
Version: LATEST
Python: CPython 11 (x86_64 for Windows)
The app you are trying to use is not installed.
Do you want [I]nstall it with above config, [M]odify setup config or [A]bort installation?
Can you please describe a bit more what you want?
Purpose is to compile once and use many apps. That would be based on runtime exe name. Checks if exe-name not installed on user's appdata dir, provides installation instruction and after user accepted, new app will be created on user's data dir.
if exe name equals to pyapp then you can manage installed apps and installed pythons. for example:
> # manually install new app:
> pyapp install --name cowsay --version latest
cowsay version 6.1 installed on CPython 3.11.4 runtime.
>
> # when multiple versions of an app available, specifiy target via "pyapp run"
> pyapp run --version 6.0 cowsay -t Hi