wraith-cli 1.5.0__tar.gz → 1.6.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 (41) hide show
  1. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/CHANGELOG.md +2 -0
  2. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/PKG-INFO +1 -1
  3. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/docs/usage.md +4 -4
  4. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/pyproject.toml +1 -1
  5. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/src/wraith_cli/main.py +7 -7
  6. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/tests/test_cli.py +6 -6
  7. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/uv.lock +1 -1
  8. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.cz.yaml +0 -0
  9. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.env.example +0 -0
  10. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.gitea/CODEOWNERS.md +0 -0
  11. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.gitea/PULL_REQUEST_TEMPLATE.md +0 -0
  12. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.gitea/workflows/pages.yml +0 -0
  13. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.gitea/workflows/release.yml +0 -0
  14. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.gitea/workflows/test.yml +0 -0
  15. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.gitignore +0 -0
  16. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.pre-commit-config.yaml +0 -0
  17. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/.secrets.baseline +0 -0
  18. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/CONTRIBUTING.md +0 -0
  19. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/LICENSE +0 -0
  20. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/README.md +0 -0
  21. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/bin/build.sh +0 -0
  22. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/bin/run_tests.sh +0 -0
  23. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/bin/setup_venv.sh +0 -0
  24. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/docs/architecture.md +0 -0
  25. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/docs/index.md +0 -0
  26. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/docs/reference.md +0 -0
  27. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/docs/security.md +0 -0
  28. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/mkdocs.yml +0 -0
  29. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/src/wraith_cli/__init__.py +0 -0
  30. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/src/wraith_cli/assets.py +0 -0
  31. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/src/wraith_cli/config.py +0 -0
  32. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/src/wraith_cli/providers.py +0 -0
  33. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/src/wraith_cli/qol.py +0 -0
  34. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/src/wraith_cli/repo_make.py +0 -0
  35. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/src/wraith_cli/shield.py +0 -0
  36. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/tests/conftest.py +0 -0
  37. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/tests/test_config.py +0 -0
  38. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/tests/test_providers.py +0 -0
  39. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/tests/test_qol.py +0 -0
  40. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/tests/test_repo_make.py +0 -0
  41. {wraith_cli-1.5.0 → wraith_cli-1.6.0}/tests/test_shield.py +0 -0
@@ -1,3 +1,5 @@
1
+ ## v1.6.0 (2026-04-07)
2
+
1
3
  ## v1.5.0 (2026-04-06)
2
4
 
3
5
  ## v1.4.0 (2026-04-05)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wraith-cli
3
- Version: 1.5.0
3
+ Version: 1.6.0
4
4
  Summary: Sovereign Command Centre for a Ghost Stack
5
5
  Project-URL: Homepage, https://git.thomaspeoples.com/thomaspeoples/wraith-cli
6
6
  Project-URL: Documentation, https://www.thomaspeoples.com/gitea-repos/wraith-cli/
@@ -18,7 +18,7 @@ $ [OPTIONS] COMMAND [ARGS]...
18
18
  **Commands**:
19
19
 
20
20
  * `init`: Bootstrap a new Wraith environment.
21
- * `status`: Check the heartbeat of the OpenViking Stack.
21
+ * `status`: Check the heartbeat of the Ghost Stack.
22
22
  * `health`: Visualise health of all configured services.
23
23
  * `update`: Sync Wraith with the latest PyPI release.
24
24
  * `ps`: List running containers with Sovereign...
@@ -48,9 +48,9 @@ $ init [OPTIONS]
48
48
 
49
49
  ## `status`
50
50
 
51
- Check the heartbeat of the OpenViking Stack.
51
+ Check the heartbeat of the Ghost Stack.
52
52
 
53
- Polls the configured VIKING_BASE_URL health
53
+ Polls the configured WRAITH_VIKING_API health
54
54
  endpoint to verify if the orchestrator API is responsive.
55
55
 
56
56
  **Usage**:
@@ -154,7 +154,7 @@ Performs a nuclear reset: stops the container,
154
154
  purges the local registration data, and restarts
155
155
  the service to force a fresh handshake with Gitea.
156
156
 
157
- Requires GITEA_COMPOSE_PATH as an envelope variable
157
+ Requires GITEA_COMPOSE_PATH as an environment variable
158
158
 
159
159
  **Usage**:
160
160
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "wraith-cli"
7
- version = "1.5.0"
7
+ version = "1.6.0"
8
8
  description = "Sovereign Command Centre for a Ghost Stack"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -123,7 +123,7 @@ def init(): # pragma: no cover
123
123
  """
124
124
  typer.echo("Initialising Wraith Sovereign Environment...")
125
125
  stack_name = Prompt.ask("Stack Name", default="Ghost Stack")
126
- viking_api = Prompt.ask("Viking API URL (optional)", default="")
126
+ viking_api = Prompt.ask("Ghost Stack API URL (optional)", default="")
127
127
 
128
128
  if viking_api:
129
129
  try:
@@ -168,9 +168,9 @@ def init(): # pragma: no cover
168
168
  @app.command()
169
169
  def status():
170
170
  """
171
- Check the heartbeat of the OpenViking Stack.
171
+ Check the heartbeat of the Ghost Stack.
172
172
 
173
- Polls the configured VIKING_BASE_URL health
173
+ Polls the configured WRAITH_VIKING_API health
174
174
  endpoint to verify if the orchestrator API is responsive.
175
175
  """
176
176
  settings = config.get_settings()
@@ -183,14 +183,14 @@ def status():
183
183
  try:
184
184
  response = requests.get(url, timeout=3)
185
185
  if response.status_code == 200:
186
- typer.secho("🟢 OpenViking: Online", fg=typer.colors.GREEN)
186
+ typer.secho("🟢 Ghost Stack: Online", fg=typer.colors.GREEN)
187
187
  else:
188
188
  typer.secho(
189
- f"🟡 OpenViking: Warning ({response.status_code})",
189
+ f"🟡 Ghost Stack: Warning ({response.status_code})",
190
190
  fg=typer.colors.YELLOW,
191
191
  )
192
192
  except Exception:
193
- typer.secho("🔴 OpenViking: Offline", fg=typer.colors.RED)
193
+ typer.secho("🔴 Ghost Stack: Offline", fg=typer.colors.RED)
194
194
 
195
195
 
196
196
  @app.command()
@@ -360,7 +360,7 @@ def runner_reset():
360
360
  purges the local registration data, and restarts
361
361
  the service to force a fresh handshake with Gitea.
362
362
 
363
- Requires GITEA_COMPOSE_PATH as an envelope variable
363
+ Requires GITEA_COMPOSE_PATH as an environment variable
364
364
  """
365
365
  settings = config.get_settings()
366
366
  compose_path = settings.gitea_compose_path
@@ -91,30 +91,30 @@ def test_init_api_fail_proceed(
91
91
 
92
92
 
93
93
  def test_status_online():
94
- """Test status when OpenViking is 200 OK."""
94
+ """Test status when Ghost Stack is 200 OK."""
95
95
  with patch("requests.get") as mock_get:
96
96
  mock_get.return_value.status_code = 200
97
97
  result = runner.invoke(app, ["status"])
98
98
  assert result.exit_code == 0
99
- assert "🟢 OpenViking: Online" in result.stdout
99
+ assert "🟢 Ghost Stack: Online" in result.stdout
100
100
 
101
101
 
102
102
  def test_status_offline():
103
- """Test status when OpenViking connection fails."""
103
+ """Test status when Ghost Stack connection fails."""
104
104
  with patch("requests.get") as mock_get:
105
105
  mock_get.side_effect = Exception("Connection Refused")
106
106
  result = runner.invoke(app, ["status"])
107
107
  assert result.exit_code == 0
108
- assert "🔴 OpenViking: Offline" in result.stdout
108
+ assert "🔴 Ghost Stack: Offline" in result.stdout
109
109
 
110
110
 
111
111
  def test_status_warning():
112
- """Test status when OpenViking returns a non-200 status code."""
112
+ """Test status when Ghost Stack returns a non-200 status code."""
113
113
  with patch("requests.get") as mock_get:
114
114
  mock_get.return_value.status_code = 500
115
115
  result = runner.invoke(app, ["status"])
116
116
  assert result.exit_code == 0
117
- assert "🟡 OpenViking: Warning (500)" in result.stdout
117
+ assert "🟡 Ghost Stack: Warning (500)" in result.stdout
118
118
 
119
119
 
120
120
  # --- Health Command Tests ---
@@ -1210,7 +1210,7 @@ wheels = [
1210
1210
 
1211
1211
  [[package]]
1212
1212
  name = "wraith-cli"
1213
- version = "1.5.0"
1213
+ version = "1.6.0"
1214
1214
  source = { editable = "." }
1215
1215
  dependencies = [
1216
1216
  { name = "pydantic-settings" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes