Bug reports, documentation improvements, and focused pull requests are welcome. Please follow the Code of Conduct.
For full transcription, use an Apple Silicon Mac and follow the installation guide.
uv sync --locked
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv buildUnit tests mock model inference and media processing; they do not download models or access browser cookies. On other platforms, install only development tools and the package without its runtime dependencies:
uv sync --locked --only-group dev
uv pip install --no-deps -e .
uv run --no-sync pytest
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .- Fork the repository and create a branch for your change.
- Keep the change focused and describe the problem and resulting behavior.
- Add regression tests when changing behavior. Use synthetic data or media you have permission to share; never commit private transcripts, cookies, or tokens.
- Run the checks above and open a pull request using the provided template.
The source lives in src/yt_transcript/: cli.py handles arguments, media.py
wraps media tools, and pipeline.py handles inference, resumption, and output.
Tests live in tests/.
For bugs, include a minimal reproduction, macOS/Python versions, chip, command, and sanitized error output. Report security vulnerabilities privately as described in SECURITY.md.