ofek / pyapp

Runtime installer for Python applications
https://ofek.dev/pyapp/
1.23k stars 29 forks source link

move interface from build-time to runtime. #73

Open T-256 opened 10 months ago

T-256 commented 10 months ago
> 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?
ofek commented 10 months ago

Can you please describe a bit more what you want?

T-256 commented 10 months ago

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