cave-cli 3.6.1__tar.gz → 3.7.0__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 (78) hide show
  1. {cave_cli-3.6.1/cave_cli.egg-info → cave_cli-3.7.0}/PKG-INFO +32 -2
  2. {cave_cli-3.6.1 → cave_cli-3.7.0}/README.md +31 -1
  3. cave_cli-3.7.0/cave_cli/cli.py +1158 -0
  4. cave_cli-3.7.0/cave_cli/commands/completion.py +27 -0
  5. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/kill.py +25 -0
  6. cave_cli-3.7.0/cave_cli/commands/list_cmd.py +69 -0
  7. cave_cli-3.7.0/cave_cli/commands/logs.py +293 -0
  8. cave_cli-3.7.0/cave_cli/commands/prettify.py +48 -0
  9. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/purge.py +14 -0
  10. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/reset.py +17 -0
  11. cave_cli-3.7.0/cave_cli/commands/run.py +929 -0
  12. cave_cli-3.7.0/cave_cli/commands/task.py +894 -0
  13. cave_cli-3.7.0/cave_cli/commands/test.py +47 -0
  14. cave_cli-3.7.0/cave_cli/utils/complete.py +381 -0
  15. cave_cli-3.7.0/cave_cli/utils/display.py +2198 -0
  16. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/docker.py +168 -8
  17. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/git.py +91 -0
  18. cave_cli-3.7.0/cave_cli/utils/lock.py +47 -0
  19. cave_cli-3.7.0/cave_cli/utils/log_parser.py +438 -0
  20. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/logger.py +37 -0
  21. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/sync.py +128 -5
  22. cave_cli-3.7.0/cave_cli/utils/task_queue.py +1337 -0
  23. cave_cli-3.7.0/cave_cli/utils/task_server.py +848 -0
  24. cave_cli-3.7.0/cave_cli/utils/test_server.py +77 -0
  25. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/validate.py +9 -0
  26. {cave_cli-3.6.1 → cave_cli-3.7.0/cave_cli.egg-info}/PKG-INFO +32 -2
  27. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli.egg-info/SOURCES.txt +19 -0
  28. {cave_cli-3.6.1 → cave_cli-3.7.0}/pyproject.toml +1 -1
  29. cave_cli-3.7.0/test/test_complete.py +189 -0
  30. cave_cli-3.7.0/test/test_display.py +1211 -0
  31. cave_cli-3.7.0/test/test_lock.py +215 -0
  32. cave_cli-3.7.0/test/test_logs.py +389 -0
  33. cave_cli-3.7.0/test/test_prettify.py +67 -0
  34. cave_cli-3.7.0/test/test_purge.py +55 -0
  35. cave_cli-3.7.0/test/test_reset.py +52 -0
  36. cave_cli-3.7.0/test/test_run.py +517 -0
  37. cave_cli-3.7.0/test/test_sync.py +343 -0
  38. cave_cli-3.7.0/test/test_task_cmd.py +444 -0
  39. cave_cli-3.7.0/test/test_task_queue.py +279 -0
  40. cave_cli-3.7.0/test/test_test_server.py +323 -0
  41. {cave_cli-3.6.1 → cave_cli-3.7.0}/test/test_validate.py +24 -0
  42. cave_cli-3.6.1/cave_cli/cli.py +0 -548
  43. cave_cli-3.6.1/cave_cli/commands/list_cmd.py +0 -50
  44. cave_cli-3.6.1/cave_cli/commands/prettify.py +0 -27
  45. cave_cli-3.6.1/cave_cli/commands/run.py +0 -402
  46. cave_cli-3.6.1/cave_cli/commands/test.py +0 -39
  47. cave_cli-3.6.1/cave_cli/utils/display.py +0 -1108
  48. cave_cli-3.6.1/test/test_display.py +0 -116
  49. cave_cli-3.6.1/test/test_sync.py +0 -123
  50. {cave_cli-3.6.1 → cave_cli-3.7.0}/LICENSE +0 -0
  51. {cave_cli-3.6.1 → cave_cli-3.7.0}/NOTICE.md +0 -0
  52. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/__init__.py +0 -0
  53. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/__init__.py +0 -0
  54. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/create.py +0 -0
  55. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/doctor.py +0 -0
  56. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/list_versions.py +0 -0
  57. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/sync_cmd.py +0 -0
  58. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/theme.py +0 -0
  59. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/uninstall.py +0 -0
  60. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/update.py +0 -0
  61. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/upgrade.py +0 -0
  62. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/commands/version.py +0 -0
  63. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/__init__.py +0 -0
  64. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/cache.py +0 -0
  65. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/constants.py +0 -0
  66. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/env.py +0 -0
  67. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/net.py +0 -0
  68. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/subprocess.py +0 -0
  69. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli/utils/version.py +0 -0
  70. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli.egg-info/dependency_links.txt +0 -0
  71. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli.egg-info/entry_points.txt +0 -0
  72. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli.egg-info/requires.txt +0 -0
  73. {cave_cli-3.6.1 → cave_cli-3.7.0}/cave_cli.egg-info/top_level.txt +0 -0
  74. {cave_cli-3.6.1 → cave_cli-3.7.0}/setup.cfg +0 -0
  75. {cave_cli-3.6.1 → cave_cli-3.7.0}/test/test_env.py +0 -0
  76. {cave_cli-3.6.1 → cave_cli-3.7.0}/test/test_net.py +0 -0
  77. {cave_cli-3.6.1 → cave_cli-3.7.0}/test/test_upgrade.py +0 -0
  78. {cave_cli-3.6.1 → cave_cli-3.7.0}/utils/prettify.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cave_cli
3
- Version: 3.6.1
3
+ Version: 3.7.0
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
@@ -140,6 +140,7 @@ cave --help
140
140
  | `cave sync --url <url>` | Merge files from another repository into the app |
141
141
  | `cave test` | Run tests in `cave_api/tests/` |
142
142
  | `cave prettify` | Format code with autoflake and black |
143
+ | `cave task` | Inspect, kill, and manage running tasks and task runner |
143
144
  | `cave purge <path>` | Remove an app and all its Docker resources |
144
145
 
145
146
  ### Utility Commands
@@ -150,6 +151,7 @@ cave --help
150
151
  | `cave kill` | Stop Docker containers for an app |
151
152
  | `cave list-versions` | List available CAVE app versions |
152
153
  | `cave theme <name>` | Set the CLI color theme (dark, light, solarized, monokai) |
154
+ | `cave completion` | Generate or install shell completion script for bash/zsh |
153
155
  | `cave update` | Update the CAVE CLI itself |
154
156
  | `cave uninstall` | Remove the CAVE CLI |
155
157
  | `cave version` | Print version information |
@@ -166,10 +168,38 @@ cave --help
166
168
 
167
169
  | Flag | Description |
168
170
  |---|---|
169
- | `--all` | Show raw container output instead of the TUI dashboard |
171
+ | `-r`, `--raw` | Show raw container output instead of the TUI dashboard |
172
+ | `-d`, `--detached` | Run in detached background mode |
170
173
  | `-it`, `--interactive` | Run in interactive mode (drops into a bash shell) |
171
174
  | `ip:port` | Optional argument for LAN hosting (e.g. `192.168.1.1:8000`) |
172
175
 
176
+ ### `cave test` & `cave prettify` Options
177
+
178
+ Both commands execute against a background persistent task runner queue, allowing tests and code formatting to run without stopping or interrupting a live application server.
179
+
180
+ | Option | Description |
181
+ |---|---|
182
+ | `-d`, `--detached` | Run task in detached background mode |
183
+ | `--docker-args ARGS` | Additional arguments to pass to Docker |
184
+
185
+ ### `cave task` Options
186
+
187
+ Schedule, inspect, attach to, and cancel serialized background tasks and manage the task runner stack.
188
+
189
+ | Command / Option | Description |
190
+ |---|---|
191
+ | `cave task list` (or `-l`, `--list`) | List current active tasks (queued and running) |
192
+ | `cave task list-all` (or `-la`, `--list-all`) | List all tasks including completed, failed, and cancelled |
193
+ | `cave task start <file> [args...]` | Run arbitrary file or script (e.g. `utils/prettify.py`) sequentially in task container |
194
+ | `cave task <cmd...>` | Run arbitrary container command (e.g. `python manage.py makemigrations`) |
195
+ | `cave task attach [id]` (or `-a`, `--attach`) | Attach to a task to follow live logs (`Esc` to detach, `Ctrl+C` to cancel) |
196
+ | `cave task kill <id>` (or `-k <id>`, `--kill <id>`) | Cancel or terminate a specific task by its incremental ID |
197
+ | `cave task kill-all` (or `--kill-all`) | Cancel all queued and running tasks |
198
+ | `cave task reset` (or `--reset`) | Rebuild the task runner image and reinitialize its database |
199
+ | `cave task stop` (or `--stop`) | Stop task runner containers and purge finished tasks |
200
+
201
+ While attached or waiting in the task queue, pressing **Esc** detaches back to the terminal (leaving the task running in the background), and **Ctrl+C** cancels the task. When the task server stops or times out from inactivity, completed tasks are automatically cleaned up.
202
+
173
203
  ## Updating
174
204
 
175
205
  ```sh
@@ -114,6 +114,7 @@ cave --help
114
114
  | `cave sync --url <url>` | Merge files from another repository into the app |
115
115
  | `cave test` | Run tests in `cave_api/tests/` |
116
116
  | `cave prettify` | Format code with autoflake and black |
117
+ | `cave task` | Inspect, kill, and manage running tasks and task runner |
117
118
  | `cave purge <path>` | Remove an app and all its Docker resources |
118
119
 
119
120
  ### Utility Commands
@@ -124,6 +125,7 @@ cave --help
124
125
  | `cave kill` | Stop Docker containers for an app |
125
126
  | `cave list-versions` | List available CAVE app versions |
126
127
  | `cave theme <name>` | Set the CLI color theme (dark, light, solarized, monokai) |
128
+ | `cave completion` | Generate or install shell completion script for bash/zsh |
127
129
  | `cave update` | Update the CAVE CLI itself |
128
130
  | `cave uninstall` | Remove the CAVE CLI |
129
131
  | `cave version` | Print version information |
@@ -140,10 +142,38 @@ cave --help
140
142
 
141
143
  | Flag | Description |
142
144
  |---|---|
143
- | `--all` | Show raw container output instead of the TUI dashboard |
145
+ | `-r`, `--raw` | Show raw container output instead of the TUI dashboard |
146
+ | `-d`, `--detached` | Run in detached background mode |
144
147
  | `-it`, `--interactive` | Run in interactive mode (drops into a bash shell) |
145
148
  | `ip:port` | Optional argument for LAN hosting (e.g. `192.168.1.1:8000`) |
146
149
 
150
+ ### `cave test` & `cave prettify` Options
151
+
152
+ Both commands execute against a background persistent task runner queue, allowing tests and code formatting to run without stopping or interrupting a live application server.
153
+
154
+ | Option | Description |
155
+ |---|---|
156
+ | `-d`, `--detached` | Run task in detached background mode |
157
+ | `--docker-args ARGS` | Additional arguments to pass to Docker |
158
+
159
+ ### `cave task` Options
160
+
161
+ Schedule, inspect, attach to, and cancel serialized background tasks and manage the task runner stack.
162
+
163
+ | Command / Option | Description |
164
+ |---|---|
165
+ | `cave task list` (or `-l`, `--list`) | List current active tasks (queued and running) |
166
+ | `cave task list-all` (or `-la`, `--list-all`) | List all tasks including completed, failed, and cancelled |
167
+ | `cave task start <file> [args...]` | Run arbitrary file or script (e.g. `utils/prettify.py`) sequentially in task container |
168
+ | `cave task <cmd...>` | Run arbitrary container command (e.g. `python manage.py makemigrations`) |
169
+ | `cave task attach [id]` (or `-a`, `--attach`) | Attach to a task to follow live logs (`Esc` to detach, `Ctrl+C` to cancel) |
170
+ | `cave task kill <id>` (or `-k <id>`, `--kill <id>`) | Cancel or terminate a specific task by its incremental ID |
171
+ | `cave task kill-all` (or `--kill-all`) | Cancel all queued and running tasks |
172
+ | `cave task reset` (or `--reset`) | Rebuild the task runner image and reinitialize its database |
173
+ | `cave task stop` (or `--stop`) | Stop task runner containers and purge finished tasks |
174
+
175
+ While attached or waiting in the task queue, pressing **Esc** detaches back to the terminal (leaving the task running in the background), and **Ctrl+C** cancels the task. When the task server stops or times out from inactivity, completed tasks are automatically cleaned up.
176
+
147
177
  ## Updating
148
178
 
149
179
  ```sh