Marco Ricci commited on 2025-02-14 21:20:54
Zeige 2 geänderte Dateien mit 25 Einfügungen und 17 Löschungen.
Specifically mention the three possible installers `pip`, `pipx` and `uv tool`, including explicit installation command-lines. Remove the "manual" installation method; it does not interact well with other machinery such as `importlib.metadata`. Similarly, update the install instructions in the "bash setup (passphrase)" tutorial as well.
... | ... |
@@ -18,35 +18,37 @@ The service name and constraints themselves also need not be kept secret; the la |
18 | 18 |
|
19 | 19 |
## Installation |
20 | 20 |
|
21 |
-### With `pip` |
|
21 |
+`derivepassphrase` is a pure Python package, and may be easily installed with any `pip`-compatible Python package manager such as `pip`, `pipx`, or `uv`. |
|
22 |
+(`pip` is distributed with Python 3 by default.) |
|
22 | 23 |
|
23 |
-(If not inside a [virtual environment][VENV], use `pip install --user` instead of plain `pip install`.) |
|
24 |
+`derivepassphrase` requires Python 3.9 or higher as well as the [typing-extensions package][TYPING_EXTENSIONS] for its core functionality and programmatic interface, and [`click`][CLICK] 8.1 or higher for its command-line interface. |
|
25 |
+On Python 3.9 and 3.10 only, `derivepassphrase` additionally requires the [tomli package][TOMLI]. |
|
26 |
+The installer should take care of installing these dependencies automatically for you. |
|
27 |
+Using the `export vault` subcommand additionally requires the [cryptography package][CRYPTOGRAPHY], version 38.0 or newer. |
|
28 |
+This must be separately requested at installation, via the `export` extra. |
|
24 | 29 |
|
25 |
-```` shell-session |
|
26 |
-$ pip install derivepassphrase |
|
27 |
-```` |
|
30 |
+<div class="grid cards" markdown> |
|
28 | 31 |
|
29 |
-To use the `export` subcommand, install the `export` extra: |
|
32 |
+ * **pipx** |
|
30 | 33 |
|
31 |
-```` shell-session |
|
32 |
-$ pip install "derivepassphrase[export]" |
|
33 |
-```` |
|
34 |
+ Use `pipx install derivepassphrase` in general, or `pipx install "derivepassphrase[export]"` with the `export` extra. |
|
34 | 35 |
|
35 |
-[VENV]: https://docs.python.org/3/library/venv.html |
|
36 |
+ * **uv** |
|
36 | 37 |
|
37 |
-### Manually |
|
38 |
+ Use `uv tool install derivepassphrase` in general, or `uv tool install "derivepassphrase[export]"` with the `export` extra. |
|
38 | 39 |
|
39 |
-`derivepassphrase` is a pure Python package, and may be easily installed manually by placing the respective files and the package's dependencies into Python's import path. |
|
40 |
-`derivepassphrase` requires Python 3.9 or higher as well as the [typing-extensions package][TYPING_EXTENSIONS] for its core functionality and programmatic interface, and [`click`][CLICK] 8.1 or higher for its command-line interface. |
|
41 |
-On Python 3.9 and 3.10 only, `derivepassphrase` additionally requires the [tomli package][TOMLI]. |
|
42 |
-Using the `export vault` subcommand additionally requires the [cryptography package][CRYPTOGRAPHY], version 38.0 or newer. |
|
40 |
+ * **pip** |
|
41 |
+ |
|
42 |
+ First, manually create a [virtual environment][VENV] and activate it. |
|
43 |
+ Then use `pip install derivepassphrase` in general, or `pip install "derivepassphrase[export]"` with the `export` extra. |
|
43 | 44 |
|
44 |
-`derivepassphrase` works just fine on PyPy. |
|
45 |
+</div> |
|
45 | 46 |
|
46 | 47 |
[TYPING_EXTENSIONS]: https://pypi.org/project/typing-extensions/ |
47 | 48 |
[CLICK]: https://pypi.org/project/click/ |
48 | 49 |
[TOMLI]: https://pypi.org/project/tomli/ |
49 | 50 |
[CRYPTOGRAPHY]: https://pypi.org/project/cryptography/ |
51 |
+[VENV]: https://docs.python.org/3/library/venv.html |
|
50 | 52 |
|
51 | 53 |
## Quick Usage |
52 | 54 |
|
... | ... |
@@ -40,7 +40,7 @@ We will assume the following three services with the following passphrase polici |
40 | 40 |
|
41 | 41 |
## Installing `derivepassphrase` |
42 | 42 |
|
43 |
-You will need Python 3, and a package installer such as `pip` (bundled with Python), `pipx` or similar. |
|
43 |
+You will need Python 3, and a package installer such as `pip` (bundled with Python), `pipx`, `uv`, etc. |
|
44 | 44 |
|
45 | 45 |
--- |
46 | 46 |
|
... | ... |
@@ -60,6 +60,12 @@ You will need Python 3, and a package installer such as `pip` (bundled with Pyth |
60 | 60 |
$ pipx install derivepassphrase |
61 | 61 |
~~~~ |
62 | 62 |
|
63 |
+=== "uv" |
|
64 |
+ |
|
65 |
+ ~~~~ shell-session |
|
66 |
+ $ uv tool install derivepassphrase |
|
67 |
+ ~~~~ |
|
68 |
+ |
|
63 | 69 |
--- |
64 | 70 |
|
65 | 71 |
Check that the installation was successful. |
66 | 72 |