cjm-transcription-plugin-system


Namecjm-transcription-plugin-system JSON
Version 0.0.9 PyPI version JSON
download
home_pagehttps://github.com/cj-mills/cjm-transcription-plugin-system
SummaryA flexible plugin system for audio transcription intended to make it easy to add support for multiple backends.
upload_time2025-10-25 00:43:02
maintainerNone
docs_urlNone
authorChristian J. Mills
requires_python>=3.11
licenseApache Software License 2.0
keywords nbdev jupyter notebook python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # cjm-transcription-plugin-system


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## Install

``` bash
pip install cjm_transcription_plugin_system
```

## Project Structure

    nbs/
    ├── core.ipynb             # Core data structures for audio transcription
    └── plugin_interface.ipynb # Domain-specific plugin interface for audio transcription plugins

Total: 2 notebooks

## Module Dependencies

``` mermaid
graph LR
    core[core<br/>core]
    plugin_interface[plugin_interface<br/>Transcription Plugin Interface]

    plugin_interface --> core
```

*1 cross-module dependencies detected*

## CLI Reference

No CLI commands found in this project.

## Module Overview

Detailed documentation for each module in the project:

### core (`core.ipynb`)

> Core data structures for audio transcription

#### Import

``` python
from cjm_transcription_plugin_system.core import (
    AudioData,
    TranscriptionResult
)
```

#### Classes

``` python
@dataclass
class AudioData:
    "Container for audio data and metadata."
    
    samples: np.ndarray  # Audio sample data as a numpy array
    sample_rate: int  # Sample rate in Hz (e.g., 16000, 44100)
    duration: float  # Duration of the audio in seconds
    filepath: Optional[Path]  # Audio file path
    metadata: Dict[str, Any] = field(...)  # Additional metadata
```

``` python
@dataclass
class TranscriptionResult:
    "Standardized transcription output."
    
    text: str  # The transcribed text
    confidence: Optional[float]  # Overall confidence score (0.0 to 1.0)
    segments: Optional[List[Dict]] = field(...)  # List of transcription segments with timestamps and text
    metadata: Optional[Dict] = field(...)  # Transcription metadata
```

### Transcription Plugin Interface (`plugin_interface.ipynb`)

> Domain-specific plugin interface for audio transcription plugins

#### Import

``` python
from cjm_transcription_plugin_system.plugin_interface import (
    TranscriptionPlugin
)
```

#### Classes

``` python
class TranscriptionPlugin(PluginInterface):
    """
    Transcription-specific plugin interface.
    
    This extends the generic PluginInterface with transcription-specific
    requirements like supported audio formats and the execute signature.
    
    All transcription plugins must implement this interface.
    """
    
    def supported_formats(
            self
        ) -> List[str]:  # List of file extensions without the dot (e.g., ['wav', 'mp3', 'flac'])
        "List of supported audio formats."
    
    def execute(
            self,
            audio: Union[AudioData, str, Path],  # Audio data (AudioData object), file path (str), or Path object
            **kwargs  # Additional plugin-specific parameters (e.g., language, model)
        ) -> TranscriptionResult:  # Transcription result with text, confidence, segments, and metadata
        "Transcribe audio to text."
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/cj-mills/cjm-transcription-plugin-system",
    "name": "cjm-transcription-plugin-system",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "nbdev jupyter notebook python",
    "author": "Christian J. Mills",
    "author_email": "9126128+cj-mills@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/0c/97/590f7ecbb7ade59a2b24175ba368e65556d68e22964a52fc99528606aa5f/cjm_transcription_plugin_system-0.0.9.tar.gz",
    "platform": null,
    "description": "# cjm-transcription-plugin-system\n\n\n<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->\n\n## Install\n\n``` bash\npip install cjm_transcription_plugin_system\n```\n\n## Project Structure\n\n    nbs/\n    \u251c\u2500\u2500 core.ipynb             # Core data structures for audio transcription\n    \u2514\u2500\u2500 plugin_interface.ipynb # Domain-specific plugin interface for audio transcription plugins\n\nTotal: 2 notebooks\n\n## Module Dependencies\n\n``` mermaid\ngraph LR\n    core[core<br/>core]\n    plugin_interface[plugin_interface<br/>Transcription Plugin Interface]\n\n    plugin_interface --> core\n```\n\n*1 cross-module dependencies detected*\n\n## CLI Reference\n\nNo CLI commands found in this project.\n\n## Module Overview\n\nDetailed documentation for each module in the project:\n\n### core (`core.ipynb`)\n\n> Core data structures for audio transcription\n\n#### Import\n\n``` python\nfrom cjm_transcription_plugin_system.core import (\n    AudioData,\n    TranscriptionResult\n)\n```\n\n#### Classes\n\n``` python\n@dataclass\nclass AudioData:\n    \"Container for audio data and metadata.\"\n    \n    samples: np.ndarray  # Audio sample data as a numpy array\n    sample_rate: int  # Sample rate in Hz (e.g., 16000, 44100)\n    duration: float  # Duration of the audio in seconds\n    filepath: Optional[Path]  # Audio file path\n    metadata: Dict[str, Any] = field(...)  # Additional metadata\n```\n\n``` python\n@dataclass\nclass TranscriptionResult:\n    \"Standardized transcription output.\"\n    \n    text: str  # The transcribed text\n    confidence: Optional[float]  # Overall confidence score (0.0 to 1.0)\n    segments: Optional[List[Dict]] = field(...)  # List of transcription segments with timestamps and text\n    metadata: Optional[Dict] = field(...)  # Transcription metadata\n```\n\n### Transcription Plugin Interface (`plugin_interface.ipynb`)\n\n> Domain-specific plugin interface for audio transcription plugins\n\n#### Import\n\n``` python\nfrom cjm_transcription_plugin_system.plugin_interface import (\n    TranscriptionPlugin\n)\n```\n\n#### Classes\n\n``` python\nclass TranscriptionPlugin(PluginInterface):\n    \"\"\"\n    Transcription-specific plugin interface.\n    \n    This extends the generic PluginInterface with transcription-specific\n    requirements like supported audio formats and the execute signature.\n    \n    All transcription plugins must implement this interface.\n    \"\"\"\n    \n    def supported_formats(\n            self\n        ) -> List[str]:  # List of file extensions without the dot (e.g., ['wav', 'mp3', 'flac'])\n        \"List of supported audio formats.\"\n    \n    def execute(\n            self,\n            audio: Union[AudioData, str, Path],  # Audio data (AudioData object), file path (str), or Path object\n            **kwargs  # Additional plugin-specific parameters (e.g., language, model)\n        ) -> TranscriptionResult:  # Transcription result with text, confidence, segments, and metadata\n        \"Transcribe audio to text.\"\n```\n",
    "bugtrack_url": null,
    "license": "Apache Software License 2.0",
    "summary": "A flexible plugin system for audio transcription intended to make it easy to add support for multiple backends.",
    "version": "0.0.9",
    "project_urls": {
        "Homepage": "https://github.com/cj-mills/cjm-transcription-plugin-system"
    },
    "split_keywords": [
        "nbdev",
        "jupyter",
        "notebook",
        "python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1a9620be44ab1b0b8a6b8025a6c094264b37330f40ee7eb745fa98871273fa78",
                "md5": "11fa0539149e89c60a4a08f69737b3bb",
                "sha256": "1650bbfd736bb3d34c889a56d341cc7dbc1dee99be670f87f8baa1903f8e2b2e"
            },
            "downloads": -1,
            "filename": "cjm_transcription_plugin_system-0.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "11fa0539149e89c60a4a08f69737b3bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 9794,
            "upload_time": "2025-10-25T00:43:01",
            "upload_time_iso_8601": "2025-10-25T00:43:01.939863Z",
            "url": "https://files.pythonhosted.org/packages/1a/96/20be44ab1b0b8a6b8025a6c094264b37330f40ee7eb745fa98871273fa78/cjm_transcription_plugin_system-0.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0c97590f7ecbb7ade59a2b24175ba368e65556d68e22964a52fc99528606aa5f",
                "md5": "f8a3c2c57663e6cd9c4112c9511f24a6",
                "sha256": "89566c6a3c269ad5cd3b8e83d4cff8743ee525a4cc2199a371c1e4cef4f2cb8c"
            },
            "downloads": -1,
            "filename": "cjm_transcription_plugin_system-0.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "f8a3c2c57663e6cd9c4112c9511f24a6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 9192,
            "upload_time": "2025-10-25T00:43:02",
            "upload_time_iso_8601": "2025-10-25T00:43:02.987899Z",
            "url": "https://files.pythonhosted.org/packages/0c/97/590f7ecbb7ade59a2b24175ba368e65556d68e22964a52fc99528606aa5f/cjm_transcription_plugin_system-0.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-25 00:43:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cj-mills",
    "github_project": "cjm-transcription-plugin-system",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cjm-transcription-plugin-system"
}
        
Elapsed time: 1.75965s