ytq
Build knowledge base from YouTube video transcripts
Overview
ytq (short for YouTube Query) is a CLI tool that processes YouTube videos to create a searchable knowledge base. It:
- Downloads and extracts transcripts from YouTube videos
- Uses LLMs to generate structured summaries
- Each transcript is split into multiple chunks (subsections). Each section preserves its start and end times timestemps. Then chunks are embedded using openai 'text-embedding-3-small' model. Created embeddings are used when
--semanticsearch flag is enabled. - Stores everything in a searchable SQLite database
- Provides a CLI for adding videos, searching, and viewing summaries
Installation
Install this tool using pip:
pip install ytq
If you are using uv then you can run directly the cli in temporary enviironment like so:
uvx ytq <command> <args>
or you can also install it as a tool:
uv tool install ytq
# and then
ytq <command> <args>
Usage
Adding a Video to the Knowledge Base
To add a YouTube video to your knowledge base, use the add command:
ytq add <video_url>
Optional parameters:
--chunk-size: Maximum size of each text chunk (default: 1000 characters)--chunk-overlap: Overlap between chunks (default: 100 characters)--provider: LLM summarization provider (default: "openai")--model: LLM summarization model (default: "gpt-4o-mini")
Example:
ytq add https://youtube.com/watch?v=example --chunk-size 1500 --provider anthropic
If you try storing a video that is already in the db, the old version is removed and replaced with the new version.
Searching the Knowledge Base
Search your knowledge base using the query command:
ytq query <search_term>
Search options:
--chunks: Enable chunk-level search--semantic: Enable semantic search (when chunk search is enabled)--limit: Maximum number of results (default: 3)
Examples:
# Video-level search (default)
ytq query "machine learning"
# Chunk-level keyword search
ytq query "neural networks" --chunks
# Semantic chunk-level search
ytq query "types of algorithms" --chunks --semantic
Viewing Video Summary
To view a summary of a specific video:
ytq summary <video_id>
Example:
ytq summary dQw4w9WgXcQ
Deleting a Video
To remove a video from the knowledge base:
ytq delete <video_id>
Version Information
To check the version of ytq:
ytq --version
Development
To contribute to this tool, first checkout the code. Then create a new virtual environment:
cd ytq
python -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
python -m pytest
Metadata
Release files for ytq 0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ytq-0.1.tar.gz | 31.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ytq-0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.6 kB
Release files / ytq-0.1.tar.gz
| Download URL | ytq-0.1.tar.gz |
|---|---|
| Size | 31.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4436feaa91e6c0902e8d1e5cf6445a50d03ec859e28c4dde08d66eafcc5c404
|
|
BLAKE2b-256 checksum How to use checksums |
0ce4cb55bbfb5b86372251a6fd20f53753de4c01ff082101f11ce6b58440f032
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 7, 2025.
Transparency logRelease files / ytq-0.1-py3-none-any.whl
| Download URL | ytq-0.1-py3-none-any.whl |
|---|---|
| Size | 22.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
00c5cb17ce17e41c2fb82ade7b9dc7d80d8ed7c8d0f50171ab05272a79834ce7
|
|
BLAKE2b-256 checksum How to use checksums |
09ce01d0a5b68eea64cf4382c9f6d511caf6fe4f31aebc65d65e33fd0392b745
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 7, 2025.
Transparency log