agent-cli 0.68.0__py3-none-any.whl → 0.68.2__py3-none-any.whl

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.
@@ -6,6 +6,7 @@ import shutil
6
6
  import subprocess
7
7
  import sys
8
8
  import tomllib
9
+ from importlib.metadata import version as get_version
9
10
  from pathlib import Path
10
11
  from typing import Annotated
11
12
 
@@ -61,8 +62,9 @@ def _get_current_uv_tool_extras() -> list[str]:
61
62
 
62
63
  def _install_via_uv_tool(extras: list[str]) -> bool:
63
64
  """Reinstall agent-cli via uv tool with the specified extras."""
65
+ current_version = get_version("agent-cli").split("+")[0] # Strip local version
64
66
  extras_str = ",".join(extras)
65
- package_spec = f"agent-cli[{extras_str}]"
67
+ package_spec = f"agent-cli[{extras_str}]=={current_version}"
66
68
  python_version = f"{sys.version_info.major}.{sys.version_info.minor}"
67
69
  console.print(f"Reinstalling via uv tool: [cyan]{package_spec}[/] (Python {python_version})")
68
70
  cmd = ["uv", "tool", "install", package_spec, "--force", "--python", python_version]
agent_cli/server/cli.py CHANGED
@@ -20,13 +20,13 @@ console = Console()
20
20
  err_console = Console(stderr=True)
21
21
  logger = logging.getLogger(__name__)
22
22
 
23
- # Check for optional dependencies
24
- HAS_UVICORN = find_spec("uvicorn") is not None
25
- HAS_FASTAPI = find_spec("fastapi") is not None
26
- HAS_FASTER_WHISPER = find_spec("faster_whisper") is not None
27
- HAS_MLX_WHISPER = find_spec("mlx_whisper") is not None
28
- HAS_PIPER = find_spec("piper") is not None
29
- HAS_KOKORO = find_spec("kokoro") is not None
23
+ # Check for optional dependencies at call time (not module load time)
24
+ # This is important because auto-install may install packages after the module is loaded
25
+
26
+
27
+ def _has(package: str) -> bool:
28
+ return find_spec(package) is not None
29
+
30
30
 
31
31
  app = typer.Typer(
32
32
  name="server",
@@ -48,7 +48,7 @@ def server_callback(ctx: typer.Context) -> None:
48
48
 
49
49
  def _check_server_deps() -> None:
50
50
  """Check that server dependencies are available."""
51
- if not HAS_UVICORN or not HAS_FASTAPI:
51
+ if not _has("uvicorn") or not _has("fastapi"):
52
52
  err_console.print(
53
53
  "[bold red]Error:[/bold red] Server dependencies not installed. "
54
54
  "Run: [cyan]pip install agent-cli\\[server][/cyan] "
@@ -62,7 +62,7 @@ def _check_tts_deps(backend: str = "auto") -> None:
62
62
  _check_server_deps()
63
63
 
64
64
  if backend == "kokoro":
65
- if not HAS_KOKORO:
65
+ if not _has("kokoro"):
66
66
  err_console.print(
67
67
  "[bold red]Error:[/bold red] Kokoro backend requires kokoro. "
68
68
  "Run: [cyan]pip install agent-cli\\[tts-kokoro][/cyan] "
@@ -72,7 +72,7 @@ def _check_tts_deps(backend: str = "auto") -> None:
72
72
  return
73
73
 
74
74
  if backend == "piper":
75
- if not HAS_PIPER:
75
+ if not _has("piper"):
76
76
  err_console.print(
77
77
  "[bold red]Error:[/bold red] Piper backend requires piper-tts. "
78
78
  "Run: [cyan]pip install agent-cli\\[tts][/cyan] "
@@ -82,7 +82,7 @@ def _check_tts_deps(backend: str = "auto") -> None:
82
82
  return
83
83
 
84
84
  # For auto, check if either is available
85
- if not HAS_PIPER and not HAS_KOKORO:
85
+ if not _has("piper") and not _has("kokoro"):
86
86
  err_console.print(
87
87
  "[bold red]Error:[/bold red] No TTS backend available. "
88
88
  "Run: [cyan]pip install agent-cli\\[tts][/cyan] for Piper "
@@ -136,7 +136,7 @@ def _check_whisper_deps(backend: str, *, download_only: bool = False) -> None:
136
136
  """Check that Whisper dependencies are available."""
137
137
  _check_server_deps()
138
138
  if download_only:
139
- if not HAS_FASTER_WHISPER:
139
+ if not _has("faster_whisper"):
140
140
  err_console.print(
141
141
  "[bold red]Error:[/bold red] faster-whisper is required for --download-only. "
142
142
  "Run: [cyan]pip install agent-cli\\[whisper][/cyan] "
@@ -146,7 +146,7 @@ def _check_whisper_deps(backend: str, *, download_only: bool = False) -> None:
146
146
  return
147
147
 
148
148
  if backend == "mlx":
149
- if not HAS_MLX_WHISPER:
149
+ if not _has("mlx_whisper"):
150
150
  err_console.print(
151
151
  "[bold red]Error:[/bold red] MLX Whisper backend requires mlx-whisper. "
152
152
  "Run: [cyan]pip install mlx-whisper[/cyan]",
@@ -154,7 +154,7 @@ def _check_whisper_deps(backend: str, *, download_only: bool = False) -> None:
154
154
  raise typer.Exit(1)
155
155
  return
156
156
 
157
- if not HAS_FASTER_WHISPER:
157
+ if not _has("faster_whisper"):
158
158
  err_console.print(
159
159
  "[bold red]Error:[/bold red] Whisper dependencies not installed. "
160
160
  "Run: [cyan]pip install agent-cli\\[whisper][/cyan] "
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.68.0
3
+ Version: 0.68.2
4
4
  Summary: A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.
5
5
  Project-URL: Homepage, https://github.com/basnijholt/agent-cli
6
6
  Author-email: Bas Nijholt <bas@nijho.lt>
@@ -91,7 +91,7 @@ agent_cli/dev/terminals/warp.py,sha256=j-Jvz_BbWYC3QfLrvl4CbDh03c9OGRFmuCzjyB2ud
91
91
  agent_cli/dev/terminals/zellij.py,sha256=GnQnopimb9XH67CZGHjnbVWpVSWhaLCATGJizCT5TkY,2321
92
92
  agent_cli/install/__init__.py,sha256=JQPrOrtdNd1Y1NmQDkb3Nmm1qdyn3kPjhQwy9D8ryjI,124
93
93
  agent_cli/install/common.py,sha256=WvnmcjnFTW0d1HZrKVGzj5Tg3q8Txk_ZOdc4a1MBFWI,3121
94
- agent_cli/install/extras.py,sha256=BPIlMdDeUo-tsKb_9Ttx3799YsIV_yup79ESFNpoJ1o,5731
94
+ agent_cli/install/extras.py,sha256=dUaZm3InIND-V-7tJEWN_J_-EUN9y4ODDFsDgxXUT-8,5888
95
95
  agent_cli/install/hotkeys.py,sha256=bwGoPeEKK6VI-IrKU8Q0RLMW9smkDNU7CdqD3Nbsd-w,1626
96
96
  agent_cli/install/services.py,sha256=2s_7ThxaElKCuomBYTn4Z36TF_o_arNeyJ4f8Wh4jEI,2912
97
97
  agent_cli/memory/__init__.py,sha256=8XNpVzP-qjF8o49A_eXsH_Rbp_FmxTIcknnvxq7vHms,162
@@ -156,7 +156,7 @@ agent_cli/scripts/nvidia-asr-server/server.py,sha256=kPNQIVF3exblvqMtIVk38Y6sZy2
156
156
  agent_cli/scripts/nvidia-asr-server/shell.nix,sha256=IT20j5YNj_wc7MdXi7ndogGodDNSGwyq8G0bNoZEpmg,1003
157
157
  agent_cli/scripts/nvidia-asr-server/uv.lock,sha256=5WWaqWOuV_moMPC-LIZK-A-Y5oaHr1tUn_vbR-IupzY,728608
158
158
  agent_cli/server/__init__.py,sha256=NZuJHlLHck9KWrepNZHrJONptYCQI9P-uTqknSFI5Ds,71
159
- agent_cli/server/cli.py,sha256=ZpsDmf9Z18jk2N1bdJILN2urPXb8iLYzrlHF9sCxmuY,23021
159
+ agent_cli/server/cli.py,sha256=QA7MmASRN9Z5lDIQ25IBmxnFMsmW9AzmFsVqnUuafU0,22961
160
160
  agent_cli/server/common.py,sha256=fD2AZdM716TXcz1T4ZDPpPaKynVOEjbVC1LDDloDmDo,6463
161
161
  agent_cli/server/model_manager.py,sha256=93l_eeZeqnPALyDIK24or61tvded9TbM8tnde0okVjY,9225
162
162
  agent_cli/server/model_registry.py,sha256=KrRV1XxbFYuXu5rJlHFh6PTl_2BKiWnWsaNrf-0c6wQ,6988
@@ -188,8 +188,8 @@ agent_cli/services/asr.py,sha256=aRaCLVCygsJ15qyQEPECOZsdSrnlLPbyY4RwAqY0qIw,172
188
188
  agent_cli/services/llm.py,sha256=Kwdo6pbMYI9oykF-RBe1iaL3KsYrNWTLdRSioewmsGQ,7199
189
189
  agent_cli/services/tts.py,sha256=NX5Qnq7ddLI3mwm3nzhbR3zB1Os4Ip4sSVSjDZDTBcI,14855
190
190
  agent_cli/services/wake_word.py,sha256=JFJ1SA22H4yko9DXiQ1t7fcoxeALLAe3iBrLs0z8rX4,4664
191
- agent_cli-0.68.0.dist-info/METADATA,sha256=0eWIbitl8b9hqUg_Fh8fjJNd2UJ91_qZDYdynfh60GU,156032
192
- agent_cli-0.68.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
193
- agent_cli-0.68.0.dist-info/entry_points.txt,sha256=FUv-fB2atLsPUk_RT4zqnZl1coz4_XHFwRALOKOF38s,97
194
- agent_cli-0.68.0.dist-info/licenses/LICENSE,sha256=majJU6S9kC8R8bW39NVBHyv32Dq50FL6TDxECG2WVts,1068
195
- agent_cli-0.68.0.dist-info/RECORD,,
191
+ agent_cli-0.68.2.dist-info/METADATA,sha256=yQEQZWdACTkFLOqkaYeZ0fXPEBeO9cUuyUQ-AXMTuYo,156032
192
+ agent_cli-0.68.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
193
+ agent_cli-0.68.2.dist-info/entry_points.txt,sha256=FUv-fB2atLsPUk_RT4zqnZl1coz4_XHFwRALOKOF38s,97
194
+ agent_cli-0.68.2.dist-info/licenses/LICENSE,sha256=majJU6S9kC8R8bW39NVBHyv32Dq50FL6TDxECG2WVts,1068
195
+ agent_cli-0.68.2.dist-info/RECORD,,