You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-2Lines changed: 8 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -80,8 +80,14 @@ To get started quickly on a fresh Ubuntu 24.04 instance (e.g, a Digital Ocean dr
80
80
81
81
**WARNING:** Always review downloaded scripts prior to running them so that you know what going to happen to your machine.
82
82
83
-
### Lazy Mode
84
-
Stack is written in Python and so needs a recent Python 3 on the machine. It also needs either docker or podman installed, and these utilities: git, jq. The [full installation instructions](./docs/install.md) show how to get these but if you're allready set up, proceed:
83
+
### Install with uv
84
+
If you have [uv](https://docs.astral.sh/uv/getting-started/installation/) installed:
Stack is written in Python and so needs a recent Python 3 on the machine. It also needs either docker or podman installed, and these utilities: git, jq. The [full installation instructions](./docs/install.md) show how to get these but if you're already set up, proceed:
85
91
86
92
Stack is distributed as a single-file self-extracting script. The latest release can be downloaded like this:
This runs `uv sync`, which creates a `.venv` virtual environment and installs all dependencies.
41
32
42
-
4. Verify installation:
33
+
4. Verify installation:
43
34
```
44
-
$ (venv) stack
35
+
$ uv run stack
45
36
Usage: stack [OPTIONS] COMMAND [ARGS]...
46
37
47
38
BPI stack
@@ -68,11 +59,11 @@ In addition to the pre-requisites listed in the [README](/README.md), the follow
68
59
69
60
## Build a zipapp (single file distributable script)
70
61
71
-
Use shiv to build a single file Python executable zip archive of stack:
62
+
Use shiv (via `uvx`) to build a single file Python executable zip archive of stack:
72
63
73
64
1. Run shiv to create a zipapp file:
74
65
```
75
-
$ (venv) ./scripts/build_shiv_package.sh
66
+
$ ./scripts/build_shiv_package.sh
76
67
```
77
68
This creates a file under `./package/` that is executable outside of any venv, and on other machines and OSes and architectures, and requiring only the system Python3:
This installs `stack` into an isolated environment and adds it to your PATH. To update to the latest version:
35
+
36
+
```bash
37
+
uv tool upgrade stack
38
+
```
39
+
40
+
### Install from a downloaded release
41
+
42
+
Decide on a directory where you would like to put the stack program. Typically, this would be
27
43
a "user" binary directory such as `~/bin` or perhaps `/usr/local/bin/stack` or possibly just the current working directory.
28
44
29
45
Now, having selected that directory, download the latest release from [this page](https://github.com/bozemanpass/stack/releses) into it (we're using `~/bin` below for concreteness but edit to suit if you selected a different directory). Also be sure that the destination directory exists and is writable:
0 commit comments