deepctl 0.2.19__tar.gz → 0.2.21__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.19
3
+ Version: 0.2.21
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>
@@ -55,6 +55,7 @@ Requires-Dist: deepctl-cmd-billing>=0.0.1
55
55
  Requires-Dist: deepctl-cmd-members>=0.0.1
56
56
  Requires-Dist: deepctl-cmd-completion>=0.0.1
57
57
  Requires-Dist: deepctl-shared-utils>=0.1.10
58
+ Requires-Dist: deepctl-telemetry>=0.0.1
58
59
  Requires-Dist: pydantic>=2.0.0
59
60
  Requires-Dist: rich>=13.0.0
60
61
  Requires-Dist: httpx>=0.24.0
@@ -176,7 +177,7 @@ dg listen keynote.mp3 --diarize --model nova-3
176
177
  dg listen https://cdn.example.com/podcast.mp3
177
178
 
178
179
  # Pipe to jq for scripting
179
- dg listen standup.mp3 -o json \
180
+ dg -o json listen standup.mp3 \
180
181
  | jq '.results.channels[0].alternatives[0].transcript'
181
182
 
182
183
  # Live microphone with interim (partial) results
@@ -244,8 +245,8 @@ dg mcp --transport sse --port 8000
244
245
  Transcribe audio files, URLs, or live microphone input.
245
246
 
246
247
  ```bash
247
- dg transcribe meeting.wav --diarize --smart-format
248
- dg transcribe https://example.com/audio.mp3 --model nova-3
248
+ dg listen meeting.wav --diarize --smart-format
249
+ dg listen https://example.com/audio.mp3 --model nova-3
249
250
  dg listen --mic --model nova-3 --language en-US
250
251
  cat audio.raw | dg listen --encoding linear16 --sample-rate 16000
251
252
  ```
@@ -361,7 +362,7 @@ export DEEPGRAM_API_KEY="your-key"
361
362
  export DEEPGRAM_PROJECT_ID="your-project-id"
362
363
 
363
364
  # Non-interactive usage
364
- dg transcribe recording.wav
365
+ dg listen recording.wav
365
366
  dg speak "Deploy complete" -o notification.mp3
366
367
  dg keys --create --comment "ci-key" --scopes member
367
368
  dg keys --delete KEY_ID --yes
@@ -402,6 +403,38 @@ dg profiles --switch staging # Switch profile
402
403
 
403
404
  Output format on any command: `--output json|yaml|table|csv`
404
405
 
406
+ ## Telemetry
407
+
408
+ The CLI phones home anonymous error reports to help us catch crashes and regressions before users have to file an issue. It's **on by default** and easy to turn off.
409
+
410
+ **What's collected:** Python exceptions, stack traces, the CLI version, and the Python runtime. Request bodies, headers, cookies, API keys, email addresses, IP addresses, and usernames are scrubbed before send. No performance traces, no profiling, no replays — errors only.
411
+
412
+ **Where it goes:** the `dx-cli` Sentry project owned by the Deepgram DX team.
413
+
414
+ ### Opt out
415
+
416
+ Persistent (recommended):
417
+
418
+ ```bash
419
+ dg config set telemetry.enabled false
420
+ ```
421
+
422
+ One-shot (CI, scripts, single command):
423
+
424
+ ```bash
425
+ DEEPCTL_TELEMETRY_DISABLED=1 dg listen recording.wav
426
+ ```
427
+
428
+ ### Override the destination
429
+
430
+ For forks or self-hosted Sentry, point telemetry at your own DSN:
431
+
432
+ ```bash
433
+ export DEEPCTL_TELEMETRY_DSN='https://<key>@<your-sentry>/<project>'
434
+ ```
435
+
436
+ `DEEPCTL_TELEMETRY_DISABLED` always wins. The default DSN is baked into the package and only used when the override is unset.
437
+
405
438
  ## Development
406
439
 
407
440
  ```bash
@@ -446,7 +479,8 @@ cli/
446
479
  │ ├── deepctl-cmd-usage/ # Usage command for deepctl
447
480
  │ ├── deepctl-core/ # Core components for deepctl
448
481
  │ ├── deepctl-plugin-example/ # Example plugin for deepctl
449
- │ └── deepctl-shared-utils/ # Shared utilities for deepctl
482
+ │ ├── deepctl-shared-utils/ # Shared utilities for deepctl
483
+ │ └── deepctl-telemetry/ # Opt-out phone-home telemetry for deepctl
450
484
  ├── tests/ # Integration tests
451
485
  └── Makefile # Development tasks
452
486
  ```
@@ -522,6 +556,7 @@ cli/
522
556
  | [`deepctl-core`](packages/deepctl-core) | Core components for deepctl |
523
557
  | [`deepctl-plugin-example`](packages/deepctl-plugin-example) | Example plugin for deepctl |
524
558
  | [`deepctl-shared-utils`](packages/deepctl-shared-utils) | Shared utilities for deepctl |
559
+ | [`deepctl-telemetry`](packages/deepctl-telemetry) | Opt-out phone-home telemetry for deepctl |
525
560
  <!-- END:packages -->
526
561
 
527
562
  ## Release
@@ -95,7 +95,7 @@ dg listen keynote.mp3 --diarize --model nova-3
95
95
  dg listen https://cdn.example.com/podcast.mp3
96
96
 
97
97
  # Pipe to jq for scripting
98
- dg listen standup.mp3 -o json \
98
+ dg -o json listen standup.mp3 \
99
99
  | jq '.results.channels[0].alternatives[0].transcript'
100
100
 
101
101
  # Live microphone with interim (partial) results
@@ -163,8 +163,8 @@ dg mcp --transport sse --port 8000
163
163
  Transcribe audio files, URLs, or live microphone input.
164
164
 
165
165
  ```bash
166
- dg transcribe meeting.wav --diarize --smart-format
167
- dg transcribe https://example.com/audio.mp3 --model nova-3
166
+ dg listen meeting.wav --diarize --smart-format
167
+ dg listen https://example.com/audio.mp3 --model nova-3
168
168
  dg listen --mic --model nova-3 --language en-US
169
169
  cat audio.raw | dg listen --encoding linear16 --sample-rate 16000
170
170
  ```
@@ -280,7 +280,7 @@ export DEEPGRAM_API_KEY="your-key"
280
280
  export DEEPGRAM_PROJECT_ID="your-project-id"
281
281
 
282
282
  # Non-interactive usage
283
- dg transcribe recording.wav
283
+ dg listen recording.wav
284
284
  dg speak "Deploy complete" -o notification.mp3
285
285
  dg keys --create --comment "ci-key" --scopes member
286
286
  dg keys --delete KEY_ID --yes
@@ -321,6 +321,38 @@ dg profiles --switch staging # Switch profile
321
321
 
322
322
  Output format on any command: `--output json|yaml|table|csv`
323
323
 
324
+ ## Telemetry
325
+
326
+ The CLI phones home anonymous error reports to help us catch crashes and regressions before users have to file an issue. It's **on by default** and easy to turn off.
327
+
328
+ **What's collected:** Python exceptions, stack traces, the CLI version, and the Python runtime. Request bodies, headers, cookies, API keys, email addresses, IP addresses, and usernames are scrubbed before send. No performance traces, no profiling, no replays — errors only.
329
+
330
+ **Where it goes:** the `dx-cli` Sentry project owned by the Deepgram DX team.
331
+
332
+ ### Opt out
333
+
334
+ Persistent (recommended):
335
+
336
+ ```bash
337
+ dg config set telemetry.enabled false
338
+ ```
339
+
340
+ One-shot (CI, scripts, single command):
341
+
342
+ ```bash
343
+ DEEPCTL_TELEMETRY_DISABLED=1 dg listen recording.wav
344
+ ```
345
+
346
+ ### Override the destination
347
+
348
+ For forks or self-hosted Sentry, point telemetry at your own DSN:
349
+
350
+ ```bash
351
+ export DEEPCTL_TELEMETRY_DSN='https://<key>@<your-sentry>/<project>'
352
+ ```
353
+
354
+ `DEEPCTL_TELEMETRY_DISABLED` always wins. The default DSN is baked into the package and only used when the override is unset.
355
+
324
356
  ## Development
325
357
 
326
358
  ```bash
@@ -365,7 +397,8 @@ cli/
365
397
  │ ├── deepctl-cmd-usage/ # Usage command for deepctl
366
398
  │ ├── deepctl-core/ # Core components for deepctl
367
399
  │ ├── deepctl-plugin-example/ # Example plugin for deepctl
368
- │ └── deepctl-shared-utils/ # Shared utilities for deepctl
400
+ │ ├── deepctl-shared-utils/ # Shared utilities for deepctl
401
+ │ └── deepctl-telemetry/ # Opt-out phone-home telemetry for deepctl
369
402
  ├── tests/ # Integration tests
370
403
  └── Makefile # Development tasks
371
404
  ```
@@ -441,6 +474,7 @@ cli/
441
474
  | [`deepctl-core`](packages/deepctl-core) | Core components for deepctl |
442
475
  | [`deepctl-plugin-example`](packages/deepctl-plugin-example) | Example plugin for deepctl |
443
476
  | [`deepctl-shared-utils`](packages/deepctl-shared-utils) | Shared utilities for deepctl |
477
+ | [`deepctl-telemetry`](packages/deepctl-telemetry) | Opt-out phone-home telemetry for deepctl |
444
478
  <!-- END:packages -->
445
479
 
446
480
  ## Release
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "deepctl"
7
- version = "0.2.19" # x-release-please-version
7
+ version = "0.2.21" # 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"
@@ -63,6 +63,7 @@ dependencies = [
63
63
  "deepctl-cmd-members>=0.0.1",
64
64
  "deepctl-cmd-completion>=0.0.1",
65
65
  "deepctl-shared-utils>=0.1.10",
66
+ "deepctl-telemetry>=0.0.1",
66
67
  "pydantic>=2.0.0",
67
68
  "rich>=13.0.0",
68
69
  "httpx>=0.24.0",
@@ -213,6 +214,7 @@ deepctl-cmd-billing = { workspace = true }
213
214
  deepctl-cmd-members = { workspace = true }
214
215
  deepctl-cmd-completion = { workspace = true }
215
216
  deepctl-shared-utils = { workspace = true }
217
+ deepctl-telemetry = { workspace = true }
216
218
  deepctl-plugin-example = { workspace = true }
217
219
 
218
220
  [tool.uv.workspace]
@@ -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.19" # x-release-please-version
4
+ __version__ = "0.2.21" # x-release-please-version
5
5
  __author__ = "Deepgram"
6
6
  __email__ = "devrel@deepgram.com"
7
7
  __license__ = "MIT"
@@ -233,6 +233,20 @@ def main() -> None:
233
233
  if timing_requested:
234
234
  enable_timing()
235
235
 
236
+ # Initialize phone-home telemetry and install the --help footer.
237
+ # Both are no-ops when the user has opted out via config or env.
238
+ try:
239
+ from deepctl_telemetry import (
240
+ init_telemetry,
241
+ install_help_notice,
242
+ )
243
+
244
+ telemetry_config = Config()
245
+ init_telemetry(telemetry_config)
246
+ install_help_notice(telemetry_config)
247
+ except Exception:
248
+ pass
249
+
236
250
  # Start background update checks (non-blocking)
237
251
  try:
238
252
  from deepctl_cmd_update.startup_check import (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepctl
3
- Version: 0.2.19
3
+ Version: 0.2.21
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>
@@ -55,6 +55,7 @@ Requires-Dist: deepctl-cmd-billing>=0.0.1
55
55
  Requires-Dist: deepctl-cmd-members>=0.0.1
56
56
  Requires-Dist: deepctl-cmd-completion>=0.0.1
57
57
  Requires-Dist: deepctl-shared-utils>=0.1.10
58
+ Requires-Dist: deepctl-telemetry>=0.0.1
58
59
  Requires-Dist: pydantic>=2.0.0
59
60
  Requires-Dist: rich>=13.0.0
60
61
  Requires-Dist: httpx>=0.24.0
@@ -176,7 +177,7 @@ dg listen keynote.mp3 --diarize --model nova-3
176
177
  dg listen https://cdn.example.com/podcast.mp3
177
178
 
178
179
  # Pipe to jq for scripting
179
- dg listen standup.mp3 -o json \
180
+ dg -o json listen standup.mp3 \
180
181
  | jq '.results.channels[0].alternatives[0].transcript'
181
182
 
182
183
  # Live microphone with interim (partial) results
@@ -244,8 +245,8 @@ dg mcp --transport sse --port 8000
244
245
  Transcribe audio files, URLs, or live microphone input.
245
246
 
246
247
  ```bash
247
- dg transcribe meeting.wav --diarize --smart-format
248
- dg transcribe https://example.com/audio.mp3 --model nova-3
248
+ dg listen meeting.wav --diarize --smart-format
249
+ dg listen https://example.com/audio.mp3 --model nova-3
249
250
  dg listen --mic --model nova-3 --language en-US
250
251
  cat audio.raw | dg listen --encoding linear16 --sample-rate 16000
251
252
  ```
@@ -361,7 +362,7 @@ export DEEPGRAM_API_KEY="your-key"
361
362
  export DEEPGRAM_PROJECT_ID="your-project-id"
362
363
 
363
364
  # Non-interactive usage
364
- dg transcribe recording.wav
365
+ dg listen recording.wav
365
366
  dg speak "Deploy complete" -o notification.mp3
366
367
  dg keys --create --comment "ci-key" --scopes member
367
368
  dg keys --delete KEY_ID --yes
@@ -402,6 +403,38 @@ dg profiles --switch staging # Switch profile
402
403
 
403
404
  Output format on any command: `--output json|yaml|table|csv`
404
405
 
406
+ ## Telemetry
407
+
408
+ The CLI phones home anonymous error reports to help us catch crashes and regressions before users have to file an issue. It's **on by default** and easy to turn off.
409
+
410
+ **What's collected:** Python exceptions, stack traces, the CLI version, and the Python runtime. Request bodies, headers, cookies, API keys, email addresses, IP addresses, and usernames are scrubbed before send. No performance traces, no profiling, no replays — errors only.
411
+
412
+ **Where it goes:** the `dx-cli` Sentry project owned by the Deepgram DX team.
413
+
414
+ ### Opt out
415
+
416
+ Persistent (recommended):
417
+
418
+ ```bash
419
+ dg config set telemetry.enabled false
420
+ ```
421
+
422
+ One-shot (CI, scripts, single command):
423
+
424
+ ```bash
425
+ DEEPCTL_TELEMETRY_DISABLED=1 dg listen recording.wav
426
+ ```
427
+
428
+ ### Override the destination
429
+
430
+ For forks or self-hosted Sentry, point telemetry at your own DSN:
431
+
432
+ ```bash
433
+ export DEEPCTL_TELEMETRY_DSN='https://<key>@<your-sentry>/<project>'
434
+ ```
435
+
436
+ `DEEPCTL_TELEMETRY_DISABLED` always wins. The default DSN is baked into the package and only used when the override is unset.
437
+
405
438
  ## Development
406
439
 
407
440
  ```bash
@@ -446,7 +479,8 @@ cli/
446
479
  │ ├── deepctl-cmd-usage/ # Usage command for deepctl
447
480
  │ ├── deepctl-core/ # Core components for deepctl
448
481
  │ ├── deepctl-plugin-example/ # Example plugin for deepctl
449
- │ └── deepctl-shared-utils/ # Shared utilities for deepctl
482
+ │ ├── deepctl-shared-utils/ # Shared utilities for deepctl
483
+ │ └── deepctl-telemetry/ # Opt-out phone-home telemetry for deepctl
450
484
  ├── tests/ # Integration tests
451
485
  └── Makefile # Development tasks
452
486
  ```
@@ -522,6 +556,7 @@ cli/
522
556
  | [`deepctl-core`](packages/deepctl-core) | Core components for deepctl |
523
557
  | [`deepctl-plugin-example`](packages/deepctl-plugin-example) | Example plugin for deepctl |
524
558
  | [`deepctl-shared-utils`](packages/deepctl-shared-utils) | Shared utilities for deepctl |
559
+ | [`deepctl-telemetry`](packages/deepctl-telemetry) | Opt-out phone-home telemetry for deepctl |
525
560
  <!-- END:packages -->
526
561
 
527
562
  ## Release
@@ -28,6 +28,7 @@ deepctl-cmd-billing>=0.0.1
28
28
  deepctl-cmd-members>=0.0.1
29
29
  deepctl-cmd-completion>=0.0.1
30
30
  deepctl-shared-utils>=0.1.10
31
+ deepctl-telemetry>=0.0.1
31
32
  pydantic>=2.0.0
32
33
  rich>=13.0.0
33
34
  httpx>=0.24.0
File without changes
File without changes