Skip to main content

Official Deepgram CLI for speech recognition and audio intelligence

Project description

deepctl

[!WARNING]
Alpha Software: This CLI is experimental and under active development.

Official Deepgram CLI. Modular Python package with plugin system.

Development

Setup

git clone https://github.com/deepgram/cli && cd cli
uv venv && uv pip install -e ".[dev]"

Run CLI

uv run deepctl --help
uv run deepctl login
uv run deepctl transcribe audio.wav

Development Commands

make dev                   # Format, lint, test
make test                  # Run tests
uv run tox                 # Test all Python versions

Requirements

  • Python 3.10+
  • uv package manager
  • Cross-platform: Linux, Windows, macOS

Architecture

cli/
├── src/deepctl/           # Main CLI
├── packages/              # Command packages
├── tests/                 # Integration tests
└── Makefile               # Development tasks

Plugin Development

from deepctl_core.base_command import BaseCommand

class MyCommand(BaseCommand):
    name = "mycommand"
    help = "My custom command"

    def handle(self, config, auth_manager, client, **kwargs):
        pass

See packages/deepctl-plugin-example.

Testing

  • tests/ - Integration tests
  • packages/*/tests/unit/ - Unit tests
  • Runs on Python 3.10-3.12, Linux/Windows/macOS

Documentation

Release

Semi-automated release (recommended)

# 1. Update versions
make version VERSION=0.2.0

# 2. Commit changes
make commit

# 3. Build packages
make build

# 4. Verify everything
make verify-packages

# 5. Create tag
make tag

# 6. Push to trigger PyPI publish
git push origin main --tags

Full automated release

make release
# Enter version when prompted (e.g., 0.2.0)
git push origin main --tags

Installation

Try Without Installing

uv run deepctl --help
pipx run deepctl --help

{WIP} Install

pip install deepctl
uv tool install deepctl
brew install deepctl

Usage

Commands

deepctl login
deepctl transcribe audio.wav
deepctl projects list
deepctl usage --month 2024-01

Aliases

  • deepctl (primary)
  • deepgram
  • dg

Plugins

deepctl plugin search
deepctl plugin install <package>
deepctl plugin list

Configuration

Priority: CLI args > env vars > ~/.deepgram/config.yaml > ./deepgram.yaml

Output Formats

deepctl transcribe audio.wav --output json|yaml|table|csv

Contributing

  1. Fork repository
  2. Run make dev (formats, lints, tests)
  3. Add tests for changes
  4. Submit pull request

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deepctl-0.1.10.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepctl-0.1.10-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file deepctl-0.1.10.tar.gz.

File metadata

  • Download URL: deepctl-0.1.10.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for deepctl-0.1.10.tar.gz
Algorithm Hash digest
SHA256 8ebf872a95c87bbd4d06696fa9f7222d1371c955330c0beba31c45c375dd2414
MD5 d2e87ee1ecedd4d7802253cbcfbf2e5c
BLAKE2b-256 91c956f55b35d8cae6e93b82da9c53ceb042b65dbcd95e4da241735096334d98

See more details on using hashes here.

File details

Details for the file deepctl-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: deepctl-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for deepctl-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a72d3cc31011c13fb1a42a9c00962d1bce269ae2558d6757b089819b8a478756
MD5 bb5df20bc48193ea4bdd0b90a756a2e4
BLAKE2b-256 c042e0e22db8930061936c64428544205356ae8c57a3314e58a949587c43aee3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page