cave-cli 3.5.0__tar.gz → 3.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {cave_cli-3.5.0/cave_cli.egg-info → cave_cli-3.5.1}/PKG-INFO +30 -7
  2. {cave_cli-3.5.0 → cave_cli-3.5.1}/README.md +29 -6
  3. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/uninstall.py +13 -2
  4. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/update.py +23 -6
  5. {cave_cli-3.5.0 → cave_cli-3.5.1/cave_cli.egg-info}/PKG-INFO +30 -7
  6. {cave_cli-3.5.0 → cave_cli-3.5.1}/pyproject.toml +1 -1
  7. {cave_cli-3.5.0 → cave_cli-3.5.1}/LICENSE +0 -0
  8. {cave_cli-3.5.0 → cave_cli-3.5.1}/NOTICE.md +0 -0
  9. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/__init__.py +0 -0
  10. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/cli.py +0 -0
  11. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/__init__.py +0 -0
  12. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/create.py +0 -0
  13. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/kill.py +0 -0
  14. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/list_cmd.py +0 -0
  15. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/list_versions.py +0 -0
  16. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/prettify.py +0 -0
  17. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/purge.py +0 -0
  18. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/reset.py +0 -0
  19. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/run.py +0 -0
  20. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/sync_cmd.py +0 -0
  21. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/test.py +0 -0
  22. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/upgrade.py +0 -0
  23. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/commands/version.py +0 -0
  24. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/__init__.py +0 -0
  25. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/cache.py +0 -0
  26. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/constants.py +0 -0
  27. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/docker.py +0 -0
  28. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/env.py +0 -0
  29. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/git.py +0 -0
  30. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/logger.py +0 -0
  31. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/net.py +0 -0
  32. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/subprocess.py +0 -0
  33. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/sync.py +0 -0
  34. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli/utils/validate.py +0 -0
  35. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli.egg-info/SOURCES.txt +0 -0
  36. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli.egg-info/dependency_links.txt +0 -0
  37. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli.egg-info/entry_points.txt +0 -0
  38. {cave_cli-3.5.0 → cave_cli-3.5.1}/cave_cli.egg-info/top_level.txt +0 -0
  39. {cave_cli-3.5.0 → cave_cli-3.5.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cave_cli
3
- Version: 3.5.0
3
+ Version: 3.5.1
4
4
  Summary: CLI for creating and managing Docker-based CAVE web applications.
5
5
  Author-email: MIT-CAVE <cave-contact@mit.edu>
6
6
  License: Apache-2.0
@@ -58,16 +58,39 @@ docker run hello-world
58
58
 
59
59
  ## Installation
60
60
 
61
+ Install with [pipx](https://pipx.pypa.io/) (recommended — keeps the CLI isolated from your system Python):
62
+
61
63
  ```sh
62
- pip install git+https://github.com/MIT-CAVE/cave_cli.git
64
+ pipx install cave_cli
63
65
  ```
64
66
 
65
- Or with [pipx](https://pipx.pypa.io/) (recommended for CLI tools):
67
+ If you don't have pipx, install it first:
68
+
69
+ <details>
70
+ <summary>macOS</summary>
66
71
 
67
72
  ```sh
68
- pipx install git+https://github.com/MIT-CAVE/cave_cli.git
73
+ # With Homebrew (recommended)
74
+ brew install pipx
75
+ pipx ensurepath
76
+
77
+ # Or with pip
78
+ pip3 install --user pipx
79
+ pipx ensurepath
69
80
  ```
70
81
 
82
+ </details>
83
+ <details>
84
+ <summary>Other Linux / Windows (WSL)</summary>
85
+
86
+ ```sh
87
+ python3 -m pip install --user pipx
88
+ pipx ensurepath
89
+ ```
90
+ </details>
91
+
92
+ For more options see the [pipx installation guide](https://pipx.pypa.io/stable/installation/).
93
+
71
94
  Verify the installation:
72
95
 
73
96
  ```sh
@@ -129,13 +152,13 @@ cave --help
129
152
  ## Updating
130
153
 
131
154
  ```sh
132
- pip install --upgrade git+https://github.com/MIT-CAVE/cave_cli.git
155
+ cave update
133
156
  ```
134
157
 
135
- Or:
158
+ Or directly via pipx:
136
159
 
137
160
  ```sh
138
- cave update
161
+ pipx upgrade cave_cli
139
162
  ```
140
163
 
141
164
  ## License Notice
@@ -41,16 +41,39 @@ docker run hello-world
41
41
 
42
42
  ## Installation
43
43
 
44
+ Install with [pipx](https://pipx.pypa.io/) (recommended — keeps the CLI isolated from your system Python):
45
+
44
46
  ```sh
45
- pip install git+https://github.com/MIT-CAVE/cave_cli.git
47
+ pipx install cave_cli
46
48
  ```
47
49
 
48
- Or with [pipx](https://pipx.pypa.io/) (recommended for CLI tools):
50
+ If you don't have pipx, install it first:
51
+
52
+ <details>
53
+ <summary>macOS</summary>
49
54
 
50
55
  ```sh
51
- pipx install git+https://github.com/MIT-CAVE/cave_cli.git
56
+ # With Homebrew (recommended)
57
+ brew install pipx
58
+ pipx ensurepath
59
+
60
+ # Or with pip
61
+ pip3 install --user pipx
62
+ pipx ensurepath
52
63
  ```
53
64
 
65
+ </details>
66
+ <details>
67
+ <summary>Other Linux / Windows (WSL)</summary>
68
+
69
+ ```sh
70
+ python3 -m pip install --user pipx
71
+ pipx ensurepath
72
+ ```
73
+ </details>
74
+
75
+ For more options see the [pipx installation guide](https://pipx.pypa.io/stable/installation/).
76
+
54
77
  Verify the installation:
55
78
 
56
79
  ```sh
@@ -112,13 +135,13 @@ cave --help
112
135
  ## Updating
113
136
 
114
137
  ```sh
115
- pip install --upgrade git+https://github.com/MIT-CAVE/cave_cli.git
138
+ cave update
116
139
  ```
117
140
 
118
- Or:
141
+ Or directly via pipx:
119
142
 
120
143
  ```sh
121
- cave update
144
+ pipx upgrade cave_cli
122
145
  ```
123
146
 
124
147
  ## License Notice
@@ -1,15 +1,18 @@
1
1
  import argparse
2
+ import shutil
2
3
  import subprocess
3
4
  import sys
4
5
 
5
6
  from cave_cli.utils.logger import logger
6
7
 
8
+ PIPX_DOCS_URL = "https://pipx.pypa.io/stable/installation/"
9
+
7
10
 
8
11
  def uninstall(args: argparse.Namespace) -> None:
9
12
  """
10
13
  Usage:
11
14
 
12
- - Removes the CAVE CLI package
15
+ - Removes the CAVE CLI package via pipx.
13
16
  """
14
17
  try:
15
18
  response = input(
@@ -24,9 +27,17 @@ def uninstall(args: argparse.Namespace) -> None:
24
27
  logger.error("Uninstall canceled")
25
28
  return
26
29
 
30
+ pipx = shutil.which("pipx")
31
+ if not pipx:
32
+ logger.error(
33
+ "pipx not found. Please uninstall cave_cli manually."
34
+ )
35
+ logger.error(f"See: {PIPX_DOCS_URL}")
36
+ sys.exit(1)
37
+
27
38
  logger.info("Removing installation...")
28
39
  result = subprocess.run(
29
- [sys.executable, "-m", "pip", "uninstall", "cave_cli", "-y"],
40
+ [pipx, "uninstall", "cave_cli"],
30
41
  stdout=subprocess.PIPE,
31
42
  stderr=subprocess.PIPE,
32
43
  text=True,
@@ -1,30 +1,47 @@
1
1
  import argparse
2
+ import shutil
2
3
  import subprocess
3
4
  import sys
4
5
 
5
6
  from cave_cli.utils.logger import logger
6
7
 
8
+ PIPX_DOCS_URL = "https://pipx.pypa.io/stable/installation/"
9
+
7
10
 
8
11
  def update(args: argparse.Namespace) -> None:
9
12
  """
10
13
  Usage:
11
14
 
12
- - Updates the CAVE CLI via pip install --upgrade
15
+ - Updates the CAVE CLI via pipx.
16
+
17
+ Notes:
18
+
19
+ - Without ``--version``, runs ``pipx upgrade cave_cli``.
20
+ - With ``--version``, reinstalls via ``pipx install --force`` from the
21
+ specified git tag or branch.
13
22
  """
14
23
  logger.info("Updating CAVE CLI...")
24
+
25
+ pipx = shutil.which("pipx")
26
+ if not pipx:
27
+ logger.error(
28
+ "pipx not found. Please install pipx and reinstall cave_cli."
29
+ )
30
+ logger.error(f"See: {PIPX_DOCS_URL}")
31
+ sys.exit(1)
32
+
15
33
  version = getattr(args, "version", None)
16
34
  if version:
17
35
  spec = (
18
36
  f"cave_cli @ "
19
37
  f"git+https://github.com/MIT-CAVE/cave_cli.git@{version}"
20
38
  )
39
+ cmd = [pipx, "install", "--force", spec]
21
40
  else:
22
- spec = (
23
- "cave_cli @ "
24
- "git+https://github.com/MIT-CAVE/cave_cli.git@main"
25
- )
41
+ cmd = [pipx, "upgrade", "cave_cli"]
42
+
26
43
  result = subprocess.run(
27
- [sys.executable, "-m", "pip", "install", "--upgrade", spec],
44
+ cmd,
28
45
  stdout=subprocess.PIPE,
29
46
  stderr=subprocess.PIPE,
30
47
  text=True,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cave_cli
3
- Version: 3.5.0
3
+ Version: 3.5.1
4
4
  Summary: CLI for creating and managing Docker-based CAVE web applications.
5
5
  Author-email: MIT-CAVE <cave-contact@mit.edu>
6
6
  License: Apache-2.0
@@ -58,16 +58,39 @@ docker run hello-world
58
58
 
59
59
  ## Installation
60
60
 
61
+ Install with [pipx](https://pipx.pypa.io/) (recommended — keeps the CLI isolated from your system Python):
62
+
61
63
  ```sh
62
- pip install git+https://github.com/MIT-CAVE/cave_cli.git
64
+ pipx install cave_cli
63
65
  ```
64
66
 
65
- Or with [pipx](https://pipx.pypa.io/) (recommended for CLI tools):
67
+ If you don't have pipx, install it first:
68
+
69
+ <details>
70
+ <summary>macOS</summary>
66
71
 
67
72
  ```sh
68
- pipx install git+https://github.com/MIT-CAVE/cave_cli.git
73
+ # With Homebrew (recommended)
74
+ brew install pipx
75
+ pipx ensurepath
76
+
77
+ # Or with pip
78
+ pip3 install --user pipx
79
+ pipx ensurepath
69
80
  ```
70
81
 
82
+ </details>
83
+ <details>
84
+ <summary>Other Linux / Windows (WSL)</summary>
85
+
86
+ ```sh
87
+ python3 -m pip install --user pipx
88
+ pipx ensurepath
89
+ ```
90
+ </details>
91
+
92
+ For more options see the [pipx installation guide](https://pipx.pypa.io/stable/installation/).
93
+
71
94
  Verify the installation:
72
95
 
73
96
  ```sh
@@ -129,13 +152,13 @@ cave --help
129
152
  ## Updating
130
153
 
131
154
  ```sh
132
- pip install --upgrade git+https://github.com/MIT-CAVE/cave_cli.git
155
+ cave update
133
156
  ```
134
157
 
135
- Or:
158
+ Or directly via pipx:
136
159
 
137
160
  ```sh
138
- cave update
161
+ pipx upgrade cave_cli
139
162
  ```
140
163
 
141
164
  ## License Notice
@@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta"
9
9
 
10
10
  [project]
11
11
  name = "cave_cli"
12
- version = "3.5.0"
12
+ version = "3.5.1"
13
13
  description = "CLI for creating and managing Docker-based CAVE web applications."
14
14
  authors = [
15
15
  {name = "MIT-CAVE", email = "cave-contact@mit.edu"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes