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 testspackages/*/tests/unit/- Unit tests- Runs on Python 3.10-3.12, Linux/Windows/macOS
Documentation
docs/Quick Start For Contributors.mddocs/Architecture and Design.mddocs/Testing and Test Strategy.md
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)deepgramdg
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
- Fork repository
- Run
make dev(formats, lints, tests) - Add tests for changes
- Submit pull request
Links
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ebf872a95c87bbd4d06696fa9f7222d1371c955330c0beba31c45c375dd2414
|
|
| MD5 |
d2e87ee1ecedd4d7802253cbcfbf2e5c
|
|
| BLAKE2b-256 |
91c956f55b35d8cae6e93b82da9c53ceb042b65dbcd95e4da241735096334d98
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a72d3cc31011c13fb1a42a9c00962d1bce269ae2558d6757b089819b8a478756
|
|
| MD5 |
bb5df20bc48193ea4bdd0b90a756a2e4
|
|
| BLAKE2b-256 |
c042e0e22db8930061936c64428544205356ae8c57a3314e58a949587c43aee3
|