Metadata-Version: 2.4
Name: assemblyai-transcriber
Version: 0.1.0
Summary: AssemblyAI audio transcription wrapper with optional YouTube download.
Author: Jeremy Turowetz
License-Expression: GPL-3.0-only
Project-URL: Repository, https://github.com/jerturowetz/assemblyai-transcriber
Project-URL: Changelog, https://github.com/jerturowetz/assemblyai-transcriber/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/jerturowetz/assemblyai-transcriber/issues
Keywords: transcription,audio,speech
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: platformdirs>=4.2.0
Requires-Dist: requests>=2.31.0
Provides-Extra: youtube
Requires-Dist: yt-dlp>=2024.1.1; extra == "youtube"
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
Requires-Dist: ruff>=0.5.0; extra == "dev"
Requires-Dist: pre-commit>=3.7.0; extra == "dev"
Dynamic: license-file

# AssemblyAI Audio Transcriber

Reusable transcription utilities with optional YouTube audio download.

## Requirements
- Python 3.10+
- AssemblyAI API key (`ASSEMBLYAI_API_KEY`)
- Optional: `yt-dlp` (only needed for YouTube downloads)

## Install
```sh path=null start=null
pip install -e .
```

With YouTube download support:
```sh path=null start=null
pip install -e ".[youtube]"
```

## Quickstart (CLI)
```sh path=null start=null
export ASSEMBLYAI_API_KEY=your_key_here
assemblyai-transcriber --audio-path /path/to/audio.mp3

```

## CLI Usage
Transcribe a local audio file:
```sh path=null start=null
assemblyai-transcriber --audio-path /path/to/audio.mp3
```

Transcribe a remote audio URL:
```sh path=null start=null
assemblyai-transcriber --audio-url https://example.com/audio.mp3
```

Download YouTube audio and transcribe it:
```sh path=null start=null
assemblyai-transcriber --youtube https://www.youtube.com/watch?v=VIDEO_ID
```
`--youtube` accepts full YouTube URLs or a raw video ID.

## Library Usage
```python path=null start=null
from pathlib import Path
from transcription_pipeline import transcribe_audio

text = transcribe_audio(audio_path=Path("/path/to/audio.mp3"))
print(text)
```

Transcribe from YouTube:
```python path=null start=null
from transcription_pipeline import transcribe_audio

text = transcribe_audio(youtube="https://youtu.be/VIDEO_ID")
print(text)
```

## Tests
Run tests:
```sh path=null start=null
pytest
```

## Quality Checks
Install dev dependencies:
```sh path=null start=null
pip install -e ".[dev]"
```

Run lint and tests:
```sh path=null start=null
ruff check .
ruff format --check .
pytest
```

## Pre-commit
```sh path=null start=null
pip install pre-commit
pre-commit install
```

## Changelog
See `CHANGELOG.md`.

## Versioning
See `VERSIONING.md`.

## Releases
Tag releases as `vX.Y.Z` to trigger the GitHub Actions release workflow.
