hypercli-cli 1.0.6__tar.gz → 1.0.8__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 (25) hide show
  1. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/.gitignore +1 -0
  2. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/PKG-INFO +1 -1
  3. hypercli_cli-1.0.8/hypercli_cli/__init__.py +1 -0
  4. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/claw.py +29 -0
  5. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/embed.py +6 -1
  6. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/voice.py +6 -2
  7. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/pyproject.toml +1 -1
  8. hypercli_cli-1.0.6/hypercli_cli/__init__.py +0 -1
  9. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/README.md +0 -0
  10. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/agents.py +0 -0
  11. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/billing.py +0 -0
  12. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/cli.py +0 -0
  13. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/comfyui.py +0 -0
  14. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/flow.py +0 -0
  15. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/instances.py +0 -0
  16. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/jobs.py +0 -0
  17. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/keys.py +0 -0
  18. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/onboard.py +0 -0
  19. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/output.py +0 -0
  20. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/renders.py +0 -0
  21. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/stt.py +0 -0
  22. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/tui/__init__.py +0 -0
  23. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/tui/job_monitor.py +0 -0
  24. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/user.py +0 -0
  25. {hypercli_cli-1.0.6 → hypercli_cli-1.0.8}/hypercli_cli/wallet.py +0 -0
@@ -49,3 +49,4 @@ next-env.d.ts
49
49
 
50
50
  # Turbo
51
51
  .turbo
52
+ .netlify
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hypercli-cli
3
- Version: 1.0.6
3
+ Version: 1.0.8
4
4
  Summary: CLI for HyperCLI - GPU orchestration and LLM API
5
5
  Project-URL: Homepage, https://hypercli.com
6
6
  Project-URL: Documentation, https://docs.hypercli.com
@@ -0,0 +1 @@
1
+ __version__ = "1.0.8"
@@ -10,6 +10,7 @@ from rich.table import Table
10
10
  from .onboard import onboard as _onboard_fn
11
11
  from .voice import app as voice_app
12
12
  from .stt import app as stt_app
13
+ from .stt import transcribe as _stt_transcribe
13
14
  from .embed import app as embed_app
14
15
 
15
16
  app = typer.Typer(help="HyperClaw inference commands")
@@ -21,6 +22,34 @@ app.add_typer(voice_app, name="voice")
21
22
  app.add_typer(stt_app, name="stt")
22
23
  app.add_typer(embed_app, name="embed")
23
24
 
25
+
26
+ @app.command("transcribe")
27
+ def transcribe_alias(
28
+ audio_file: Path = typer.Argument(..., help="Audio file to transcribe (wav, mp3, ogg, m4a, etc.)"),
29
+ model: str = typer.Option("turbo", "--model", "-m", help="Whisper model: tiny, base, small, medium, large-v3, turbo"),
30
+ language: str = typer.Option(None, "--language", "-l", help="Language code (e.g. en, de, fr). Auto-detect if omitted."),
31
+ device: str = typer.Option("auto", "--device", "-d", help="Device: auto, cpu, cuda"),
32
+ compute_type: str = typer.Option("auto", "--compute", help="Compute type: auto, int8, float16, float32"),
33
+ json_output: bool = typer.Option(False, "--json", help="Output as JSON with timestamps"),
34
+ output: Path = typer.Option(None, "--output", "-o", help="Write transcript to file"),
35
+ ):
36
+ """Alias for `hyper claw stt transcribe` (local faster-whisper)."""
37
+ _stt_transcribe(audio_file, model, language, device, compute_type, json_output, output)
38
+
39
+
40
+ @app.command("trascribe", hidden=True)
41
+ def trascribe_alias(
42
+ audio_file: Path = typer.Argument(..., help="Audio file to transcribe (wav, mp3, ogg, m4a, etc.)"),
43
+ model: str = typer.Option("turbo", "--model", "-m", help="Whisper model: tiny, base, small, medium, large-v3, turbo"),
44
+ language: str = typer.Option(None, "--language", "-l", help="Language code (e.g. en, de, fr). Auto-detect if omitted."),
45
+ device: str = typer.Option("auto", "--device", "-d", help="Device: auto, cpu, cuda"),
46
+ compute_type: str = typer.Option("auto", "--compute", help="Compute type: auto, int8, float16, float32"),
47
+ json_output: bool = typer.Option(False, "--json", help="Output as JSON with timestamps"),
48
+ output: Path = typer.Option(None, "--output", "-o", help="Write transcript to file"),
49
+ ):
50
+ """Backward-compatible typo alias for transcribe."""
51
+ _stt_transcribe(audio_file, model, language, device, compute_type, json_output, output)
52
+
24
53
  # Check if wallet dependencies are available
25
54
  try:
26
55
  from x402 import x402Client
@@ -1,5 +1,6 @@
1
1
  """HyperClaw Embed — text embeddings via HyperClaw API."""
2
2
  import json
3
+ import os
3
4
  from pathlib import Path
4
5
 
5
6
  import httpx
@@ -16,15 +17,19 @@ DEV_API_BASE = "https://api.dev.hyperclaw.app"
16
17
 
17
18
 
18
19
  def _get_api_key(key: str | None) -> str:
20
+ """Resolve API key: --key flag > env HYPERCLAW_API_KEY > claw-key.json."""
19
21
  if key:
20
22
  return key
23
+ env_key = os.environ.get("HYPERCLAW_API_KEY", "").strip()
24
+ if env_key:
25
+ return env_key
21
26
  if CLAW_KEY_PATH.exists():
22
27
  with open(CLAW_KEY_PATH) as f:
23
28
  k = json.load(f).get("key", "")
24
29
  if k:
25
30
  return k
26
31
  console.print("[red]❌ No API key found.[/red]")
27
- console.print("Pass [bold]--key sk-...[/bold] or run [bold]hyper claw subscribe[/bold]")
32
+ console.print("Pass [bold]--key sk-...[/bold], set [bold]HYPERCLAW_API_KEY[/bold], or run [bold]hyper claw subscribe[/bold]")
28
33
  raise typer.Exit(1)
29
34
 
30
35
 
@@ -1,6 +1,7 @@
1
1
  """HyperClaw Voice API commands — TTS, clone, design"""
2
2
  import base64
3
3
  import json
4
+ import os
4
5
  import sys
5
6
  from pathlib import Path
6
7
 
@@ -18,16 +19,19 @@ DEV_API_BASE = "https://dev-api.hyperclaw.app"
18
19
 
19
20
 
20
21
  def _get_api_key(key: str | None) -> str:
21
- """Resolve API key from flag or saved claw key."""
22
+ """Resolve API key: --key flag > env HYPERCLAW_API_KEY > claw-key.json."""
22
23
  if key:
23
24
  return key
25
+ env_key = os.environ.get("HYPERCLAW_API_KEY", "").strip()
26
+ if env_key:
27
+ return env_key
24
28
  if CLAW_KEY_PATH.exists():
25
29
  with open(CLAW_KEY_PATH) as f:
26
30
  k = json.load(f).get("key", "")
27
31
  if k:
28
32
  return k
29
33
  console.print("[red]❌ No API key found.[/red]")
30
- console.print("Pass [bold]--key sk-...[/bold] or run [bold]hyper claw subscribe[/bold]")
34
+ console.print("Pass [bold]--key sk-...[/bold], set [bold]HYPERCLAW_API_KEY[/bold], or run [bold]hyper claw subscribe[/bold]")
31
35
  raise typer.Exit(1)
32
36
 
33
37
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hypercli-cli"
7
- version = "1.0.6"
7
+ version = "1.0.8"
8
8
  description = "CLI for HyperCLI - GPU orchestration and LLM API"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1 +0,0 @@
1
- __version__ = "0.8.9"
File without changes