deepctl


Namedeepctl JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryOfficial Deepgram CLI for speech recognition and audio intelligence
upload_time2025-07-23 12:29:33
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords deepgram speech recognition transcription audio cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.64590s