spawn-cli 0.1.11__tar.gz → 0.1.13__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 (49) hide show
  1. {spawn_cli-0.1.11/src/spawn_cli.egg-info → spawn_cli-0.1.13}/PKG-INFO +1 -1
  2. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/pyproject.toml +1 -1
  3. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/core/scripts.py +26 -13
  4. {spawn_cli-0.1.11 → spawn_cli-0.1.13/src/spawn_cli.egg-info}/PKG-INFO +1 -1
  5. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/LICENSE +0 -0
  6. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/README.md +0 -0
  7. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/setup.cfg +0 -0
  8. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/__init__.py +0 -0
  9. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/cli.py +0 -0
  10. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/core/__init__.py +0 -0
  11. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/core/download.py +0 -0
  12. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/core/errors.py +0 -0
  13. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/core/high_level.py +0 -0
  14. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/core/low_level.py +0 -0
  15. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/errors.py +0 -0
  16. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/__init__.py +0 -0
  17. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/_helpers.py +0 -0
  18. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/_stub.py +0 -0
  19. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/_vacancy.py +0 -0
  20. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/claude_code.py +0 -0
  21. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/codex.py +0 -0
  22. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/cursor.py +0 -0
  23. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/gemini_cli.py +0 -0
  24. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/github_copilot.py +0 -0
  25. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/registry.py +0 -0
  26. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/ide/windsurf.py +0 -0
  27. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/io/__init__.py +0 -0
  28. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/io/json_io.py +0 -0
  29. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/io/lock.py +0 -0
  30. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/io/paths.py +0 -0
  31. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/io/text_io.py +0 -0
  32. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/io/toml_io.py +0 -0
  33. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/io/yaml_io.py +0 -0
  34. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/models/__init__.py +0 -0
  35. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/models/config.py +0 -0
  36. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/models/mcp.py +0 -0
  37. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/models/metadata.py +0 -0
  38. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/models/navigation.py +0 -0
  39. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/models/skill.py +0 -0
  40. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/resources/__init__.py +0 -0
  41. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/resources/default_core_config.yaml +0 -0
  42. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli/warnings_display.py +0 -0
  43. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli.egg-info/SOURCES.txt +0 -0
  44. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli.egg-info/dependency_links.txt +0 -0
  45. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli.egg-info/entry_points.txt +0 -0
  46. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli.egg-info/requires.txt +0 -0
  47. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/src/spawn_cli.egg-info/top_level.txt +0 -0
  48. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/tests/test_cli.py +0 -0
  49. {spawn_cli-0.1.11 → spawn_cli-0.1.13}/tests/test_warnings_display.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spawn-cli
3
- Version: 0.1.11
3
+ Version: 0.1.13
4
4
  Summary: A minimal installable Python CLI package.
5
5
  License: MIT
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "spawn-cli"
7
- version = "0.1.11"
7
+ version = "0.1.13"
8
8
  description = "A minimal installable Python CLI package."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -66,10 +66,11 @@ def _run_script(
66
66
  target_root: Path,
67
67
  extension: str,
68
68
  script_filename: str,
69
+ phase: str,
69
70
  *,
70
71
  ext_layout: Path,
71
72
  blocking: bool,
72
- ) -> subprocess.CompletedProcess[str]:
73
+ ) -> subprocess.CompletedProcess[str | None]:
73
74
  script_path = _setup_script_path(ext_layout, script_filename)
74
75
  if not script_path.is_file():
75
76
  raise SpawnError(f"setup script missing: {script_path}")
@@ -83,18 +84,21 @@ def _run_script(
83
84
  env["SPAWN_EXT_PATH"] = str(ext_layout.resolve())
84
85
  env["SPAWN_EXT_VERSION"] = ext_ver
85
86
  env["SPAWN_TARGET_VERSION"] = tgt_ver
87
+ print(
88
+ f"spawn: running {phase} script: {Path(script_filename).name}",
89
+ file=sys.stderr,
90
+ )
86
91
  proc = subprocess.run(
87
92
  [sys.executable, str(script_path)],
88
93
  cwd=str(target_root),
89
94
  env=env,
90
- capture_output=True,
91
- text=True,
92
95
  check=False,
93
96
  )
94
97
  if proc.returncode != 0:
95
- msg = f"Setup script {script_filename!r} exited with status {proc.returncode}"
96
- if proc.stderr.strip():
97
- msg = f"{msg}: {proc.stderr.strip()}"
98
+ msg = (
99
+ f"Setup script {script_filename!r} exited with status {proc.returncode} "
100
+ "(output above)"
101
+ )
98
102
  if blocking:
99
103
  raise SpawnError(msg)
100
104
  warnings.warn(msg, SpawnWarning)
@@ -110,6 +114,7 @@ def run_before_install_scripts(target_root: Path, extension: str, *, ext_layout:
110
114
  target_root,
111
115
  extension,
112
116
  cfg.setup.before_install,
117
+ "before-install",
113
118
  ext_layout=layout,
114
119
  blocking=True,
115
120
  )
@@ -124,6 +129,7 @@ def run_after_install_scripts(target_root: Path, extension: str, *, ext_layout:
124
129
  target_root,
125
130
  extension,
126
131
  cfg.setup.after_install,
132
+ "after-install",
127
133
  ext_layout=layout,
128
134
  blocking=False,
129
135
  )
@@ -140,6 +146,7 @@ def run_before_uninstall_scripts(target_root: Path, extension: str, *, ext_layou
140
146
  target_root,
141
147
  extension,
142
148
  cfg.setup.before_uninstall,
149
+ "before-uninstall",
143
150
  ext_layout=layout,
144
151
  blocking=True,
145
152
  )
@@ -156,6 +163,7 @@ def run_after_uninstall_scripts(target_root: Path, extension: str, *, ext_layout
156
163
  target_root,
157
164
  extension,
158
165
  cfg.setup.after_uninstall,
166
+ "after-uninstall",
159
167
  ext_layout=layout,
160
168
  blocking=False,
161
169
  )
@@ -191,18 +199,21 @@ def run_after_uninstall_from_snapshot(
191
199
  env["SPAWN_EXT_PATH"] = str(ghost_ext.resolve())
192
200
  env["SPAWN_EXT_VERSION"] = snap.ext_version
193
201
  env["SPAWN_TARGET_VERSION"] = _core_version(target_root)
202
+ print(
203
+ f"spawn: running after-uninstall script: {snap.script_path.name}",
204
+ file=sys.stderr,
205
+ )
194
206
  proc = subprocess.run(
195
207
  [sys.executable, str(snap.script_path)],
196
208
  cwd=str(target_root),
197
209
  env=env,
198
- capture_output=True,
199
- text=True,
200
210
  check=False,
201
211
  )
202
212
  if proc.returncode != 0:
203
- msg = f"After-uninstall script exited with status {proc.returncode}"
204
- if proc.stderr.strip():
205
- msg = f"{msg}: {proc.stderr.strip()}"
213
+ msg = (
214
+ f"After-uninstall script exited with status {proc.returncode} "
215
+ "(output above)"
216
+ )
206
217
  warnings.warn(msg, SpawnWarning)
207
218
 
208
219
 
@@ -211,6 +222,10 @@ def run_healthcheck_scripts(target_root: Path, extension: str, *, ext_layout: Pa
211
222
  cfg = _extension_config_at(layout)
212
223
  if not cfg.setup or not cfg.setup.healthcheck:
213
224
  return True
225
+ print(
226
+ f"spawn: running healthcheck script: {Path(cfg.setup.healthcheck).name}",
227
+ file=sys.stderr,
228
+ )
214
229
  proc = subprocess.run(
215
230
  [
216
231
  sys.executable,
@@ -225,8 +240,6 @@ def run_healthcheck_scripts(target_root: Path, extension: str, *, ext_layout: Pa
225
240
  "SPAWN_EXT_VERSION": cfg.version,
226
241
  "SPAWN_TARGET_VERSION": _core_version(target_root),
227
242
  },
228
- capture_output=True,
229
- text=True,
230
243
  check=False,
231
244
  )
232
245
  return proc.returncode == 0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spawn-cli
3
- Version: 0.1.11
3
+ Version: 0.1.13
4
4
  Summary: A minimal installable Python CLI package.
5
5
  License: MIT
6
6
  Classifier: License :: OSI Approved :: MIT License
File without changes
File without changes
File without changes
File without changes