deepctl 0.2.20__tar.gz → 0.2.22__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.20
3
+ Version: 0.2.22
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
@@ -376,6 +377,25 @@ dg usage --last-week -o yaml
376
377
  When running in a non-TTY environment (pipes, CI, or AI coding tools), the CLI
377
378
  automatically switches to structured JSON output with plain-text status messages.
378
379
 
380
+ ### Forcing non-interactive mode
381
+
382
+ Three explicit ways to skip every prompt and run with defaults — useful from a
383
+ real terminal where auto-detection wouldn't otherwise trigger:
384
+
385
+ ```bash
386
+ # Global flag (works at any position)
387
+ dg --non-interactive listen recording.wav
388
+ dg listen --non-interactive recording.wav
389
+
390
+ # Environment variable (good for whole scripts)
391
+ CI=1 dg listen recording.wav
392
+ ```
393
+
394
+ Also recognised: `--agent-friendly` (alias intended for AI coding tools — same
395
+ effect plus JSON metadata output), and the auto-detected env vars
396
+ `CLAUDECODE`, `CLAUDE_CODE_ENTRYPOINT`, `CODEX_SANDBOX`, and Aider's
397
+ `OR_APP_NAME` / `OR_SITE_URL`.
398
+
379
399
  ## Plugins
380
400
 
381
401
  Extend the CLI with custom commands.
@@ -402,6 +422,38 @@ dg profiles --switch staging # Switch profile
402
422
 
403
423
  Output format on any command: `--output json|yaml|table|csv`
404
424
 
425
+ ## Telemetry
426
+
427
+ 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.
428
+
429
+ **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.
430
+
431
+ **Where it goes:** the `dx-cli` Sentry project owned by the Deepgram DX team.
432
+
433
+ ### Opt out
434
+
435
+ Persistent (recommended):
436
+
437
+ ```bash
438
+ dg config set telemetry.enabled false
439
+ ```
440
+
441
+ One-shot (CI, scripts, single command):
442
+
443
+ ```bash
444
+ DEEPCTL_TELEMETRY_DISABLED=1 dg listen recording.wav
445
+ ```
446
+
447
+ ### Override the destination
448
+
449
+ For forks or self-hosted Sentry, point telemetry at your own DSN:
450
+
451
+ ```bash
452
+ export DEEPCTL_TELEMETRY_DSN='https://<key>@<your-sentry>/<project>'
453
+ ```
454
+
455
+ `DEEPCTL_TELEMETRY_DISABLED` always wins. The default DSN is baked into the package and only used when the override is unset.
456
+
405
457
  ## Development
406
458
 
407
459
  ```bash
@@ -446,7 +498,8 @@ cli/
446
498
  │ ├── deepctl-cmd-usage/ # Usage command for deepctl
447
499
  │ ├── deepctl-core/ # Core components for deepctl
448
500
  │ ├── deepctl-plugin-example/ # Example plugin for deepctl
449
- │ └── deepctl-shared-utils/ # Shared utilities for deepctl
501
+ │ ├── deepctl-shared-utils/ # Shared utilities for deepctl
502
+ │ └── deepctl-telemetry/ # Opt-out phone-home telemetry for deepctl
450
503
  ├── tests/ # Integration tests
451
504
  └── Makefile # Development tasks
452
505
  ```
@@ -522,6 +575,7 @@ cli/
522
575
  | [`deepctl-core`](packages/deepctl-core) | Core components for deepctl |
523
576
  | [`deepctl-plugin-example`](packages/deepctl-plugin-example) | Example plugin for deepctl |
524
577
  | [`deepctl-shared-utils`](packages/deepctl-shared-utils) | Shared utilities for deepctl |
578
+ | [`deepctl-telemetry`](packages/deepctl-telemetry) | Opt-out phone-home telemetry for deepctl |
525
579
  <!-- END:packages -->
526
580
 
527
581
  ## Release
@@ -295,6 +295,25 @@ dg usage --last-week -o yaml
295
295
  When running in a non-TTY environment (pipes, CI, or AI coding tools), the CLI
296
296
  automatically switches to structured JSON output with plain-text status messages.
297
297
 
298
+ ### Forcing non-interactive mode
299
+
300
+ Three explicit ways to skip every prompt and run with defaults — useful from a
301
+ real terminal where auto-detection wouldn't otherwise trigger:
302
+
303
+ ```bash
304
+ # Global flag (works at any position)
305
+ dg --non-interactive listen recording.wav
306
+ dg listen --non-interactive recording.wav
307
+
308
+ # Environment variable (good for whole scripts)
309
+ CI=1 dg listen recording.wav
310
+ ```
311
+
312
+ Also recognised: `--agent-friendly` (alias intended for AI coding tools — same
313
+ effect plus JSON metadata output), and the auto-detected env vars
314
+ `CLAUDECODE`, `CLAUDE_CODE_ENTRYPOINT`, `CODEX_SANDBOX`, and Aider's
315
+ `OR_APP_NAME` / `OR_SITE_URL`.
316
+
298
317
  ## Plugins
299
318
 
300
319
  Extend the CLI with custom commands.
@@ -321,6 +340,38 @@ dg profiles --switch staging # Switch profile
321
340
 
322
341
  Output format on any command: `--output json|yaml|table|csv`
323
342
 
343
+ ## Telemetry
344
+
345
+ 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.
346
+
347
+ **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.
348
+
349
+ **Where it goes:** the `dx-cli` Sentry project owned by the Deepgram DX team.
350
+
351
+ ### Opt out
352
+
353
+ Persistent (recommended):
354
+
355
+ ```bash
356
+ dg config set telemetry.enabled false
357
+ ```
358
+
359
+ One-shot (CI, scripts, single command):
360
+
361
+ ```bash
362
+ DEEPCTL_TELEMETRY_DISABLED=1 dg listen recording.wav
363
+ ```
364
+
365
+ ### Override the destination
366
+
367
+ For forks or self-hosted Sentry, point telemetry at your own DSN:
368
+
369
+ ```bash
370
+ export DEEPCTL_TELEMETRY_DSN='https://<key>@<your-sentry>/<project>'
371
+ ```
372
+
373
+ `DEEPCTL_TELEMETRY_DISABLED` always wins. The default DSN is baked into the package and only used when the override is unset.
374
+
324
375
  ## Development
325
376
 
326
377
  ```bash
@@ -365,7 +416,8 @@ cli/
365
416
  │ ├── deepctl-cmd-usage/ # Usage command for deepctl
366
417
  │ ├── deepctl-core/ # Core components for deepctl
367
418
  │ ├── deepctl-plugin-example/ # Example plugin for deepctl
368
- │ └── deepctl-shared-utils/ # Shared utilities for deepctl
419
+ │ ├── deepctl-shared-utils/ # Shared utilities for deepctl
420
+ │ └── deepctl-telemetry/ # Opt-out phone-home telemetry for deepctl
369
421
  ├── tests/ # Integration tests
370
422
  └── Makefile # Development tasks
371
423
  ```
@@ -441,6 +493,7 @@ cli/
441
493
  | [`deepctl-core`](packages/deepctl-core) | Core components for deepctl |
442
494
  | [`deepctl-plugin-example`](packages/deepctl-plugin-example) | Example plugin for deepctl |
443
495
  | [`deepctl-shared-utils`](packages/deepctl-shared-utils) | Shared utilities for deepctl |
496
+ | [`deepctl-telemetry`](packages/deepctl-telemetry) | Opt-out phone-home telemetry for deepctl |
444
497
  <!-- END:packages -->
445
498
 
446
499
  ## Release
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "deepctl"
7
- version = "0.2.20" # x-release-please-version
7
+ version = "0.2.22" # 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.20" # x-release-please-version
4
+ __version__ = "0.2.22" # x-release-please-version
5
5
  __author__ = "Deepgram"
6
6
  __email__ = "devrel@deepgram.com"
7
7
  __license__ = "MIT"
@@ -151,6 +151,13 @@ def preprocess_hyphenated_commands(args: list[str]) -> list[str]:
151
151
  is_flag=True,
152
152
  help="Show detailed performance timing information",
153
153
  )
154
+ @click.option(
155
+ "--non-interactive",
156
+ is_flag=True,
157
+ is_eager=True,
158
+ expose_value=False,
159
+ help="Skip interactive prompts; use defaults for any optional features.",
160
+ )
154
161
  @click.option(
155
162
  "--record-install-method",
156
163
  is_eager=True,
@@ -233,6 +240,20 @@ def main() -> None:
233
240
  if timing_requested:
234
241
  enable_timing()
235
242
 
243
+ # Initialize phone-home telemetry and install the --help footer.
244
+ # Both are no-ops when the user has opted out via config or env.
245
+ try:
246
+ from deepctl_telemetry import (
247
+ init_telemetry,
248
+ install_help_notice,
249
+ )
250
+
251
+ telemetry_config = Config()
252
+ init_telemetry(telemetry_config)
253
+ install_help_notice(telemetry_config)
254
+ except Exception:
255
+ pass
256
+
236
257
  # Start background update checks (non-blocking)
237
258
  try:
238
259
  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.20
3
+ Version: 0.2.22
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
@@ -376,6 +377,25 @@ dg usage --last-week -o yaml
376
377
  When running in a non-TTY environment (pipes, CI, or AI coding tools), the CLI
377
378
  automatically switches to structured JSON output with plain-text status messages.
378
379
 
380
+ ### Forcing non-interactive mode
381
+
382
+ Three explicit ways to skip every prompt and run with defaults — useful from a
383
+ real terminal where auto-detection wouldn't otherwise trigger:
384
+
385
+ ```bash
386
+ # Global flag (works at any position)
387
+ dg --non-interactive listen recording.wav
388
+ dg listen --non-interactive recording.wav
389
+
390
+ # Environment variable (good for whole scripts)
391
+ CI=1 dg listen recording.wav
392
+ ```
393
+
394
+ Also recognised: `--agent-friendly` (alias intended for AI coding tools — same
395
+ effect plus JSON metadata output), and the auto-detected env vars
396
+ `CLAUDECODE`, `CLAUDE_CODE_ENTRYPOINT`, `CODEX_SANDBOX`, and Aider's
397
+ `OR_APP_NAME` / `OR_SITE_URL`.
398
+
379
399
  ## Plugins
380
400
 
381
401
  Extend the CLI with custom commands.
@@ -402,6 +422,38 @@ dg profiles --switch staging # Switch profile
402
422
 
403
423
  Output format on any command: `--output json|yaml|table|csv`
404
424
 
425
+ ## Telemetry
426
+
427
+ 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.
428
+
429
+ **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.
430
+
431
+ **Where it goes:** the `dx-cli` Sentry project owned by the Deepgram DX team.
432
+
433
+ ### Opt out
434
+
435
+ Persistent (recommended):
436
+
437
+ ```bash
438
+ dg config set telemetry.enabled false
439
+ ```
440
+
441
+ One-shot (CI, scripts, single command):
442
+
443
+ ```bash
444
+ DEEPCTL_TELEMETRY_DISABLED=1 dg listen recording.wav
445
+ ```
446
+
447
+ ### Override the destination
448
+
449
+ For forks or self-hosted Sentry, point telemetry at your own DSN:
450
+
451
+ ```bash
452
+ export DEEPCTL_TELEMETRY_DSN='https://<key>@<your-sentry>/<project>'
453
+ ```
454
+
455
+ `DEEPCTL_TELEMETRY_DISABLED` always wins. The default DSN is baked into the package and only used when the override is unset.
456
+
405
457
  ## Development
406
458
 
407
459
  ```bash
@@ -446,7 +498,8 @@ cli/
446
498
  │ ├── deepctl-cmd-usage/ # Usage command for deepctl
447
499
  │ ├── deepctl-core/ # Core components for deepctl
448
500
  │ ├── deepctl-plugin-example/ # Example plugin for deepctl
449
- │ └── deepctl-shared-utils/ # Shared utilities for deepctl
501
+ │ ├── deepctl-shared-utils/ # Shared utilities for deepctl
502
+ │ └── deepctl-telemetry/ # Opt-out phone-home telemetry for deepctl
450
503
  ├── tests/ # Integration tests
451
504
  └── Makefile # Development tasks
452
505
  ```
@@ -522,6 +575,7 @@ cli/
522
575
  | [`deepctl-core`](packages/deepctl-core) | Core components for deepctl |
523
576
  | [`deepctl-plugin-example`](packages/deepctl-plugin-example) | Example plugin for deepctl |
524
577
  | [`deepctl-shared-utils`](packages/deepctl-shared-utils) | Shared utilities for deepctl |
578
+ | [`deepctl-telemetry`](packages/deepctl-telemetry) | Opt-out phone-home telemetry for deepctl |
525
579
  <!-- END:packages -->
526
580
 
527
581
  ## 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