# deepctl
The official Deepgram CLI.
## Quick Start
### Try it without installing (like `npx`)
```bash
# Using pipx (traditional)
pipx run deepctl --help
pipx run deepctl transcribe audio.wav
# Using uv (recommended - much faster!)
uvx deepctl --help
uvx deepctl transcribe audio.wav
```
### Install permanently
```bash
# Recommended: Using pipx (supports plugins!)
pipx install deepctl
# Alternative: Using uv tool (plugins require manual workarounds)
uv tool install deepctl
```
## Usage
The CLI provides multiple command aliases for flexibility:
- `deepctl` - Primary command
- `deepgram` - Alternative command
- `dg` - Short alias
### Basic Commands
```bash
# Authentication
deepctl login
# Transcribe audio
deepctl transcribe audio.wav
deepctl transcribe https://example.com/audio.mp3
# Manage projects
deepctl projects list
deepctl projects create "My Project"
# View usage statistics
deepctl usage --month 2024-01
```
### Configuration
The CLI supports multiple configuration methods:
1. Command-line arguments (highest priority)
2. Environment variables
3. User config file (`~/.deepgram/config.yaml`)
4. Project config file (`./deepgram.yaml`)
### Output Formats
Choose your preferred output format:
```bash
deepctl transcribe audio.wav --output json
deepctl transcribe audio.wav --output yaml
deepctl transcribe audio.wav --output table
deepctl transcribe audio.wav --output csv
```
## Development
This CLI is built with Python and uses a modular plugin architecture. **Cross-platform compatibility** is a core requirement - the CLI must work identically on Linux, Windows, macOS (Intel), and macOS (Apple Silicon).
### Requirements
- Python 3.10+
- `uv`
- Works on all major platforms:
- Linux (x86_64, arm64)
- Windows (x86_64)
- macOS (Intel x86_64, Apple Silicon arm64)
### Install uv
```bash
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```
### Installation for Development
```bash
git clone https://github.com/deepgram/cli
cd cli
# Create virtual environment and install dependencies
uv venv
uv pip install -e ".[dev]"
```
### Dependencies
All dependencies are managed in `pyproject.toml`. Install them with:
```bash
uv pip install -e . # Runtime dependencies
uv pip install -e ".[dev]" # Development dependencies
uv pip install -e ".[test]" # Test dependencies
```
### Workspace Structure
This repository is organized as a uv workspace (monorepo) to support multiple related packages:
```
cli/ # Workspace root
├── src/ # Main CLI package (deepctl)
│ └── deepgram_cli/
├── packages/ # Additional workspace packages
│ └── (future packages)
└── docs/ # Shared documentation
```
See [Workspace and Monorepo Architecture](docs/Workspace%20and%20Monorepo%20Architecture.md) for detailed information about the workspace structure and how to add new packages.
### Running Tests
```bash
uv run pytest
```
## Plugin Support
### Installing Plugins
Deepctl supports external plugins that add custom commands:
```bash
# First, install deepctl globally with pipx
pipx install deepctl
# Then inject plugins into the same environment
pipx inject deepctl deepctl-plugin-example
pipx inject deepctl your-custom-plugin
```
### Creating Plugins
Create custom commands by extending the `BaseCommand` class:
```python
from deepctl_core.base_command import BaseCommand
class MyCommand(BaseCommand):
name = "mycommand"
help = "Description of my command"
def handle(self, config, auth_manager, client, **kwargs):
# Command implementation
pass
```
See [packages/deepctl-plugin-example](packages/deepctl-plugin-example) for a complete example.
## Support
- [Documentation](https://developers.deepgram.com/docs/cli)
- [Community Discord](https://discord.gg/deepgram)
- [Bug Reports](https://github.com/deepgram/cli/issues)
## License
MIT License - see LICENSE file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "deepctl",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Deepgram <devrel@deepgram.com>",
"keywords": "deepgram, speech, recognition, transcription, audio, cli",
"author": null,
"author_email": "Deepgram <devrel@deepgram.com>",
"download_url": "https://files.pythonhosted.org/packages/49/63/0dd8238fdbae9a3d5d96a97c02e881ae2c26bc74ef899d545780aca52c71/deepctl-0.1.4.tar.gz",
"platform": null,
"description": "# deepctl\n\nThe official Deepgram CLI.\n\n## Quick Start\n\n### Try it without installing (like `npx`)\n\n```bash\n# Using pipx (traditional)\npipx run deepctl --help\npipx run deepctl transcribe audio.wav\n\n# Using uv (recommended - much faster!)\nuvx deepctl --help\nuvx deepctl transcribe audio.wav\n```\n\n### Install permanently\n\n```bash\n# Recommended: Using pipx (supports plugins!)\npipx install deepctl\n\n# Alternative: Using uv tool (plugins require manual workarounds)\nuv tool install deepctl\n```\n\n## Usage\n\nThe CLI provides multiple command aliases for flexibility:\n\n- `deepctl` - Primary command\n- `deepgram` - Alternative command\n- `dg` - Short alias\n\n### Basic Commands\n\n```bash\n# Authentication\ndeepctl login\n\n# Transcribe audio\ndeepctl transcribe audio.wav\ndeepctl transcribe https://example.com/audio.mp3\n\n# Manage projects\ndeepctl projects list\ndeepctl projects create \"My Project\"\n\n# View usage statistics\ndeepctl usage --month 2024-01\n```\n\n### Configuration\n\nThe CLI supports multiple configuration methods:\n\n1. Command-line arguments (highest priority)\n2. Environment variables\n3. User config file (`~/.deepgram/config.yaml`)\n4. Project config file (`./deepgram.yaml`)\n\n### Output Formats\n\nChoose your preferred output format:\n\n```bash\ndeepctl transcribe audio.wav --output json\ndeepctl transcribe audio.wav --output yaml\ndeepctl transcribe audio.wav --output table\ndeepctl transcribe audio.wav --output csv\n```\n\n## Development\n\nThis CLI is built with Python and uses a modular plugin architecture. **Cross-platform compatibility** is a core requirement - the CLI must work identically on Linux, Windows, macOS (Intel), and macOS (Apple Silicon).\n\n### Requirements\n\n- Python 3.10+\n- `uv`\n- Works on all major platforms:\n - Linux (x86_64, arm64)\n - Windows (x86_64)\n - macOS (Intel x86_64, Apple Silicon arm64)\n\n### Install uv\n\n```bash\n# macOS/Linux\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Windows\npowershell -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n```\n\n### Installation for Development\n\n```bash\ngit clone https://github.com/deepgram/cli\ncd cli\n\n# Create virtual environment and install dependencies\nuv venv\nuv pip install -e \".[dev]\"\n```\n\n### Dependencies\n\nAll dependencies are managed in `pyproject.toml`. Install them with:\n\n```bash\nuv pip install -e . # Runtime dependencies\nuv pip install -e \".[dev]\" # Development dependencies\nuv pip install -e \".[test]\" # Test dependencies\n```\n\n### Workspace Structure\n\nThis repository is organized as a uv workspace (monorepo) to support multiple related packages:\n\n```\ncli/ # Workspace root\n\u251c\u2500\u2500 src/ # Main CLI package (deepctl)\n\u2502 \u2514\u2500\u2500 deepgram_cli/\n\u251c\u2500\u2500 packages/ # Additional workspace packages\n\u2502 \u2514\u2500\u2500 (future packages)\n\u2514\u2500\u2500 docs/ # Shared documentation\n```\n\nSee [Workspace and Monorepo Architecture](docs/Workspace%20and%20Monorepo%20Architecture.md) for detailed information about the workspace structure and how to add new packages.\n\n### Running Tests\n\n```bash\nuv run pytest\n```\n\n## Plugin Support\n\n### Installing Plugins\n\nDeepctl supports external plugins that add custom commands:\n\n```bash\n# First, install deepctl globally with pipx\npipx install deepctl\n\n# Then inject plugins into the same environment\npipx inject deepctl deepctl-plugin-example\npipx inject deepctl your-custom-plugin\n```\n\n### Creating Plugins\n\nCreate custom commands by extending the `BaseCommand` class:\n\n```python\nfrom deepctl_core.base_command import BaseCommand\n\nclass MyCommand(BaseCommand):\n name = \"mycommand\"\n help = \"Description of my command\"\n\n def handle(self, config, auth_manager, client, **kwargs):\n # Command implementation\n pass\n```\n\nSee [packages/deepctl-plugin-example](packages/deepctl-plugin-example) for a complete example.\n\n## Support\n\n- [Documentation](https://developers.deepgram.com/docs/cli)\n- [Community Discord](https://discord.gg/deepgram)\n- [Bug Reports](https://github.com/deepgram/cli/issues)\n\n## License\n\nMIT License - see LICENSE file for details.\n",
"bugtrack_url": null,
"license": null,
"summary": "Official Deepgram CLI for speech recognition and audio intelligence",
"version": "0.1.4",
"project_urls": {
"Bug Tracker": "https://github.com/deepgram/cli/issues",
"Community": "https://discord.gg/deepgram",
"Documentation": "https://developers.deepgram.com/docs/cli",
"Homepage": "https://github.com/deepgram/cli",
"Repository": "https://github.com/deepgram/cli"
},
"split_keywords": [
"deepgram",
" speech",
" recognition",
" transcription",
" audio",
" cli"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4e05a667f9ec66781e50a8fe651c55b7faf97aa99c4f2e144c69e35ca8a79959",
"md5": "ed9fb6110aa96194a1ea0dce5485e882",
"sha256": "19ad3b6b8d3b872ca5da9dc9f3b6c9bc19f0efff0ad1ed939b25d11d5353a237"
},
"downloads": -1,
"filename": "deepctl-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ed9fb6110aa96194a1ea0dce5485e882",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 5766,
"upload_time": "2025-07-23T12:29:15",
"upload_time_iso_8601": "2025-07-23T12:29:15.424480Z",
"url": "https://files.pythonhosted.org/packages/4e/05/a667f9ec66781e50a8fe651c55b7faf97aa99c4f2e144c69e35ca8a79959/deepctl-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "49630dd8238fdbae9a3d5d96a97c02e881ae2c26bc74ef899d545780aca52c71",
"md5": "4daf0b8d418f6a801d4820dc457561bd",
"sha256": "128a56ffa87f0b2b9394cae96f111c1d3b4d9f306b7381e1cb5edbd4ad859595"
},
"downloads": -1,
"filename": "deepctl-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "4daf0b8d418f6a801d4820dc457561bd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 10336,
"upload_time": "2025-07-23T12:29:33",
"upload_time_iso_8601": "2025-07-23T12:29:33.356006Z",
"url": "https://files.pythonhosted.org/packages/49/63/0dd8238fdbae9a3d5d96a97c02e881ae2c26bc74ef899d545780aca52c71/deepctl-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-23 12:29:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "deepgram",
"github_project": "cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "deepctl"
}