evo-cli 0.10.0__tar.gz → 0.10.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 (45) hide show
  1. {evo_cli-0.10.0 → evo_cli-0.10.1}/PKG-INFO +1 -1
  2. evo_cli-0.10.1/evo_cli/VERSION +1 -0
  3. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/opencode.py +6 -4
  4. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/console.py +13 -2
  5. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli.egg-info/PKG-INFO +1 -1
  6. evo_cli-0.10.0/evo_cli/VERSION +0 -1
  7. {evo_cli-0.10.0 → evo_cli-0.10.1}/Containerfile +0 -0
  8. {evo_cli-0.10.0 → evo_cli-0.10.1}/HISTORY.md +0 -0
  9. {evo_cli-0.10.0 → evo_cli-0.10.1}/LICENSE +0 -0
  10. {evo_cli-0.10.0 → evo_cli-0.10.1}/MANIFEST.in +0 -0
  11. {evo_cli-0.10.0 → evo_cli-0.10.1}/README.md +0 -0
  12. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/__init__.py +0 -0
  13. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/__main__.py +0 -0
  14. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/base.py +0 -0
  15. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/cli.py +0 -0
  16. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/__init__.py +0 -0
  17. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/cloudflare.py +0 -0
  18. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/fix_claude.py +0 -0
  19. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/gdrive.py +0 -0
  20. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/localproxy.py +0 -0
  21. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/mcp.py +0 -0
  22. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/miniconda.py +0 -0
  23. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/netcheck.py +0 -0
  24. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/plantuml.py +0 -0
  25. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/site2s.py +0 -0
  26. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/ssh.py +0 -0
  27. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/sysmon.py +0 -0
  28. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/commands/wifi.py +0 -0
  29. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli/mcp_registry.py +0 -0
  30. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli.egg-info/SOURCES.txt +0 -0
  31. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli.egg-info/dependency_links.txt +0 -0
  32. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli.egg-info/entry_points.txt +0 -0
  33. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli.egg-info/requires.txt +0 -0
  34. {evo_cli-0.10.0 → evo_cli-0.10.1}/evo_cli.egg-info/top_level.txt +0 -0
  35. {evo_cli-0.10.0 → evo_cli-0.10.1}/pyproject.toml +0 -0
  36. {evo_cli-0.10.0 → evo_cli-0.10.1}/setup.cfg +0 -0
  37. {evo_cli-0.10.0 → evo_cli-0.10.1}/tests/__init__.py +0 -0
  38. {evo_cli-0.10.0 → evo_cli-0.10.1}/tests/test_cli.py +0 -0
  39. {evo_cli-0.10.0 → evo_cli-0.10.1}/tests/test_console.py +0 -0
  40. {evo_cli-0.10.0 → evo_cli-0.10.1}/tests/test_fix_claude.py +0 -0
  41. {evo_cli-0.10.0 → evo_cli-0.10.1}/tests/test_mcp.py +0 -0
  42. {evo_cli-0.10.0 → evo_cli-0.10.1}/tests/test_opencode.py +0 -0
  43. {evo_cli-0.10.0 → evo_cli-0.10.1}/tests/test_plantuml.py +0 -0
  44. {evo_cli-0.10.0 → evo_cli-0.10.1}/tests/test_sysmon.py +0 -0
  45. {evo_cli-0.10.0 → evo_cli-0.10.1}/tests/test_wifi.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evo_cli
3
- Version: 0.10.0
3
+ Version: 0.10.1
4
4
  Summary: Evolution CLI - a developer toolbox for setting up dev machines
5
5
  Author: maycuatroi
6
6
  Project-URL: Homepage, https://github.com/maycuatroi/evo-cli
@@ -0,0 +1 @@
1
+ 0.10.1
@@ -10,7 +10,7 @@ import rich_click as click
10
10
  from rich.panel import Panel
11
11
  from rich.text import Text
12
12
 
13
- from evo_cli.console import console, error, info, run_command, step, success, warning
13
+ from evo_cli.console import console, error, info, resolve_executable, run_command, step, success, warning
14
14
  from evo_cli.mcp_registry import opencode_servers
15
15
 
16
16
  EPILOG = Text.from_markup(
@@ -52,7 +52,7 @@ def ensure_node_installed():
52
52
  npx_cmd = shutil.which("npx")
53
53
 
54
54
  if node_cmd and npm_cmd and npx_cmd:
55
- result = subprocess.run(["node", "--version"], capture_output=True, text=True, check=True)
55
+ result = subprocess.run(resolve_executable(["node", "--version"]), capture_output=True, text=True, check=True)
56
56
  info(f"Node.js found: {result.stdout.strip()}")
57
57
  return node_cmd, npm_cmd, npx_cmd
58
58
 
@@ -152,7 +152,9 @@ def opencode_version():
152
152
  if not shutil.which("opencode"):
153
153
  return None
154
154
  try:
155
- result = subprocess.run(["opencode", "--version"], capture_output=True, text=True, timeout=30)
155
+ result = subprocess.run(
156
+ resolve_executable(["opencode", "--version"]), capture_output=True, text=True, timeout=30
157
+ )
156
158
  return result.stdout.strip() or "unknown"
157
159
  except Exception:
158
160
  return "unknown"
@@ -293,7 +295,7 @@ def verify_mcp_servers():
293
295
  for name, cmd in _local_mcp_commands():
294
296
  try:
295
297
  result = subprocess.run(
296
- cmd,
298
+ resolve_executable(cmd),
297
299
  input=init_message,
298
300
  capture_output=True,
299
301
  text=True,
@@ -1,3 +1,4 @@
1
+ import shutil
1
2
  import subprocess
2
3
  import urllib.request
3
4
 
@@ -52,9 +53,19 @@ def step(title):
52
53
  console.rule(f"[step]{title}[/step]", style="step", align="left")
53
54
 
54
55
 
56
+ def resolve_executable(cmd):
57
+ cmd = [str(part) for part in cmd]
58
+ if cmd:
59
+ resolved = shutil.which(cmd[0])
60
+ if resolved:
61
+ cmd[0] = resolved
62
+ return cmd
63
+
64
+
55
65
  def run_command(cmd, capture=False, check=True, input_text=None, status=None, timeout=None, stdin=None):
56
66
  cmd = [str(part) for part in cmd]
57
67
  console.print(f"[cmd]$ {' '.join(cmd)}[/cmd]")
68
+ exec_cmd = resolve_executable(cmd)
58
69
 
59
70
  run_kwargs = {"text": True, "input": input_text, "timeout": timeout}
60
71
  # subprocess.run rejects passing both `input` and `stdin`. Only attach an
@@ -66,12 +77,12 @@ def run_command(cmd, capture=False, check=True, input_text=None, status=None, ti
66
77
  try:
67
78
  if status:
68
79
  with console.status(f"[info]{status}[/info]", spinner="dots"):
69
- result = subprocess.run(cmd, capture_output=True, **run_kwargs)
80
+ result = subprocess.run(exec_cmd, capture_output=True, **run_kwargs)
70
81
  output = (result.stdout or "").strip()
71
82
  if output:
72
83
  console.print(output)
73
84
  else:
74
- result = subprocess.run(cmd, capture_output=capture, **run_kwargs)
85
+ result = subprocess.run(exec_cmd, capture_output=capture, **run_kwargs)
75
86
  except subprocess.TimeoutExpired as exc:
76
87
  console.print(f"[error]command timed out after {timeout}s: {' '.join(cmd)}[/error]")
77
88
  if check:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evo_cli
3
- Version: 0.10.0
3
+ Version: 0.10.1
4
4
  Summary: Evolution CLI - a developer toolbox for setting up dev machines
5
5
  Author: maycuatroi
6
6
  Project-URL: Homepage, https://github.com/maycuatroi/evo-cli
@@ -1 +0,0 @@
1
- 0.10.0
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
File without changes