deepctl 0.2.25__tar.gz → 0.2.26__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepctl
3
- Version: 0.2.25
3
+ Version: 0.2.26
4
4
  Summary: Official Deepgram CLI for speech recognition and audio intelligence
5
5
  Author-email: Deepgram <devrel@deepgram.com>
6
6
  Maintainer-email: Deepgram <devrel@deepgram.com>
@@ -26,7 +26,7 @@ Requires-Python: >=3.10
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
28
  Requires-Dist: click>=8.0.0
29
- Requires-Dist: deepgram-sdk>=6.0.0rc2
29
+ Requires-Dist: deepgram-sdk>=7.5.0
30
30
  Requires-Dist: deepctl-core>=0.1.10
31
31
  Requires-Dist: deepctl-cmd-login>=0.1.10
32
32
  Requires-Dist: deepctl-cmd-projects>=0.1.10
@@ -255,11 +255,22 @@ cat audio.raw | dg listen --encoding linear16 --sample-rate 16000
255
255
 
256
256
  Convert text to natural speech. Supports file output and piping.
257
257
 
258
+ `aura-*` models use the Speak v1 batch REST API. `flux-*` (Flux TTS) models use
259
+ the Speak v2 WebSocket API and stream by default; their raw `linear16` output is
260
+ wrapped in a WAV container so it is directly playable.
261
+
258
262
  ```bash
263
+ # Aura (v1, batch REST)
259
264
  dg speak "Welcome to Deepgram" -o welcome.mp3
260
265
  dg speak --file script.txt -o output.mp3 -m aura-2-luna-en
261
266
  echo "Hello" | dg speak -o greeting.mp3
262
- dg speak "Stream me" | ffplay -nodisp - # pipe to audio player
267
+ dg speak "Stream me" | ffplay -nodisp - # pipe to audio player
268
+
269
+ # Flux TTS (v2, WebSocket streaming)
270
+ dg speak "Hello from Flux" -m flux-alexis-en -o hello.wav
271
+ # Piped audio is a streaming WAV; -loglevel error hides ffmpeg's cosmetic
272
+ # end-of-stream notice (the audio is complete).
273
+ dg speak "Hello from Flux" -m flux-alexis-en | ffplay -loglevel error -nodisp -autoexit -
263
274
  ```
264
275
 
265
276
  ### Text Intelligence
@@ -173,11 +173,22 @@ cat audio.raw | dg listen --encoding linear16 --sample-rate 16000
173
173
 
174
174
  Convert text to natural speech. Supports file output and piping.
175
175
 
176
+ `aura-*` models use the Speak v1 batch REST API. `flux-*` (Flux TTS) models use
177
+ the Speak v2 WebSocket API and stream by default; their raw `linear16` output is
178
+ wrapped in a WAV container so it is directly playable.
179
+
176
180
  ```bash
181
+ # Aura (v1, batch REST)
177
182
  dg speak "Welcome to Deepgram" -o welcome.mp3
178
183
  dg speak --file script.txt -o output.mp3 -m aura-2-luna-en
179
184
  echo "Hello" | dg speak -o greeting.mp3
180
- dg speak "Stream me" | ffplay -nodisp - # pipe to audio player
185
+ dg speak "Stream me" | ffplay -nodisp - # pipe to audio player
186
+
187
+ # Flux TTS (v2, WebSocket streaming)
188
+ dg speak "Hello from Flux" -m flux-alexis-en -o hello.wav
189
+ # Piped audio is a streaming WAV; -loglevel error hides ffmpeg's cosmetic
190
+ # end-of-stream notice (the audio is complete).
191
+ dg speak "Hello from Flux" -m flux-alexis-en | ffplay -loglevel error -nodisp -autoexit -
181
192
  ```
182
193
 
183
194
  ### Text Intelligence
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "deepctl"
7
- version = "0.2.25" # x-release-please-version
7
+ version = "0.2.26" # x-release-please-version
8
8
  description = "Official Deepgram CLI for speech recognition and audio intelligence"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -34,7 +34,7 @@ keywords = [
34
34
  requires-python = ">=3.10"
35
35
  dependencies = [
36
36
  "click>=8.0.0",
37
- "deepgram-sdk>=6.0.0rc2",
37
+ "deepgram-sdk>=7.5.0",
38
38
  "deepctl-core>=0.1.10",
39
39
  "deepctl-cmd-login>=0.1.10",
40
40
  "deepctl-cmd-projects>=0.1.10",
@@ -144,6 +144,11 @@ module = [
144
144
  # Optional microphone dependencies (sounddevice, numpy) and the MCP SDK
145
145
  # (deepgram_mcp) ship without type stubs.
146
146
  ignore_missing_imports = true
147
+ # numpy>=2.2 ships PEP 695 `type` aliases in its stubs, which mypy rejects
148
+ # under python_version = "3.10" (aborting before our code is checked). Skip
149
+ # analyzing these third-party stubs entirely; usages fall back to Any.
150
+ follow_imports = "skip"
151
+ follow_imports_for_stubs = true
147
152
 
148
153
  [tool.pytest.ini_options]
149
154
  testpaths = ["tests", "packages/*/tests"]
@@ -1,7 +1,7 @@
1
1
  """deepctl - Official command-line interface for Deepgram's speech
2
2
  recognition API."""
3
3
 
4
- __version__ = "0.2.25" # x-release-please-version
4
+ __version__ = "0.2.26" # x-release-please-version
5
5
  __author__ = "Deepgram"
6
6
  __email__ = "devrel@deepgram.com"
7
7
  __license__ = "MIT"
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import importlib.metadata
6
+ import os
6
7
  import sys
7
8
  from contextlib import contextmanager
8
9
  from typing import TYPE_CHECKING
@@ -130,6 +131,21 @@ def preprocess_hyphenated_commands(args: list[str]) -> list[str]:
130
131
  "-p",
131
132
  help="Configuration profile to use",
132
133
  )
134
+ @click.option(
135
+ "--base-url",
136
+ help=(
137
+ "Override the API base URL (e.g. https://api.staging.deepgram.com). "
138
+ "REST and WebSocket endpoints are derived from this host. "
139
+ "Also settable via the DEEPGRAM_BASE_URL environment variable."
140
+ ),
141
+ )
142
+ @click.option(
143
+ "--api-key",
144
+ help=(
145
+ "Deepgram API key to use, overriding login/profile/env credentials. "
146
+ "Intended for testing and CI."
147
+ ),
148
+ )
133
149
  @click.option(
134
150
  "--output",
135
151
  "-o",
@@ -179,6 +195,8 @@ def cli(
179
195
  ctx: click.Context,
180
196
  config: str | None,
181
197
  profile: str | None,
198
+ base_url: str | None,
199
+ api_key: str | None,
182
200
  output: str | None,
183
201
  quiet: bool,
184
202
  verbose: bool,
@@ -206,9 +224,16 @@ def cli(
206
224
  enable_timing()
207
225
 
208
226
  with TimingContext("cli_initialization"):
227
+ # A --base-url flag overrides the configured/env base URL (flag wins).
228
+ # Config reads DEEPGRAM_BASE_URL at init, so set it before constructing.
229
+ if base_url:
230
+ os.environ["DEEPGRAM_BASE_URL"] = base_url
231
+
209
232
  # Initialize configuration
210
233
  ctx.ensure_object(dict)
211
234
  ctx.obj["config"] = Config(config_path=config, profile=profile)
235
+ # Global --api-key passthrough (highest-precedence explicit credential).
236
+ ctx.obj["api_key"] = api_key
212
237
  ctx.obj["timing"] = timing or timing_detailed
213
238
  ctx.obj["timing_detailed"] = timing_detailed
214
239
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepctl
3
- Version: 0.2.25
3
+ Version: 0.2.26
4
4
  Summary: Official Deepgram CLI for speech recognition and audio intelligence
5
5
  Author-email: Deepgram <devrel@deepgram.com>
6
6
  Maintainer-email: Deepgram <devrel@deepgram.com>
@@ -26,7 +26,7 @@ Requires-Python: >=3.10
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
28
  Requires-Dist: click>=8.0.0
29
- Requires-Dist: deepgram-sdk>=6.0.0rc2
29
+ Requires-Dist: deepgram-sdk>=7.5.0
30
30
  Requires-Dist: deepctl-core>=0.1.10
31
31
  Requires-Dist: deepctl-cmd-login>=0.1.10
32
32
  Requires-Dist: deepctl-cmd-projects>=0.1.10
@@ -255,11 +255,22 @@ cat audio.raw | dg listen --encoding linear16 --sample-rate 16000
255
255
 
256
256
  Convert text to natural speech. Supports file output and piping.
257
257
 
258
+ `aura-*` models use the Speak v1 batch REST API. `flux-*` (Flux TTS) models use
259
+ the Speak v2 WebSocket API and stream by default; their raw `linear16` output is
260
+ wrapped in a WAV container so it is directly playable.
261
+
258
262
  ```bash
263
+ # Aura (v1, batch REST)
259
264
  dg speak "Welcome to Deepgram" -o welcome.mp3
260
265
  dg speak --file script.txt -o output.mp3 -m aura-2-luna-en
261
266
  echo "Hello" | dg speak -o greeting.mp3
262
- dg speak "Stream me" | ffplay -nodisp - # pipe to audio player
267
+ dg speak "Stream me" | ffplay -nodisp - # pipe to audio player
268
+
269
+ # Flux TTS (v2, WebSocket streaming)
270
+ dg speak "Hello from Flux" -m flux-alexis-en -o hello.wav
271
+ # Piped audio is a streaming WAV; -loglevel error hides ffmpeg's cosmetic
272
+ # end-of-stream notice (the audio is complete).
273
+ dg speak "Hello from Flux" -m flux-alexis-en | ffplay -loglevel error -nodisp -autoexit -
263
274
  ```
264
275
 
265
276
  ### Text Intelligence
@@ -1,5 +1,5 @@
1
1
  click>=8.0.0
2
- deepgram-sdk>=6.0.0rc2
2
+ deepgram-sdk>=7.5.0
3
3
  deepctl-core>=0.1.10
4
4
  deepctl-cmd-login>=0.1.10
5
5
  deepctl-cmd-projects>=0.1.10
File without changes
File without changes