Skip to main content

ytq

PyPI Changelog Tests License

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 --semantic search 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)

Source distribution for ytq 0.1
File Size Uploaded
ytq-0.1.tar.gz 31.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ytq 0.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page