Skip to main content

TubeStoevsky

Downloads a YouTube video transcript and turns it into literary prose through a LangChain LLM chain — outputs TXT + MD.

Works with any OpenAI-compatible chat completions API: a local gateway, Ollama, vLLM, OpenAI, or anything else speaking that protocol.

How it works

URL
 ├─ yt-dlp       subtitles (manual > auto)  -> {title}.srt
 ├─ SRT parser   timecodes and rolling dupes -> raw text
 ├─ LangChain    prose -> title -> Markdown
 └─ output       {title}.txt, {title}.md

Install

# as a CLI tool
uv tool install tubestoevsky   # or: pip install tubestoevsky
tubestoevsky --help

# from a checkout, for development
uv sync

Configuration

Copy .env.example to .env and set LLM_API_KEY. The file is read from the current directory, the project root, or ~/.config/tubestoevsky/.env.

Variable Purpose Default
LLM_BASE_URL OpenAI-compatible endpoint (/v1 appended when absent) http://127.0.0.1:4000
LLM_API_KEY API key for that endpoint required
LLM_MODEL model name served by it gpt-4o-mini
TRANSCRIPT_LANG subtitle language en
OUTPUT_DIR output directory .
LLM_TEMPERATURE sampling temperature 0.3
LLM_TIMEOUT request timeout, sec 1800
YTDLP_COOKIES / YTDLP_COOKIES_FROM_BROWSER access to restricted videos —

Usage

tubestoevsky <URL>
tubestoevsky <URL> --lang en --out ./out
tubestoevsky <URL> --model gpt-4o-mini

# or without installing:
uvx tubestoevsky <URL>

# from a checkout:
uv run python -m transcript_app <URL>

Layout

transcript_app/
  __main__.py    CLI
  config.py      .env + CLI flags
  downloader.py  yt-dlp
  srt.py         subtitle parser
  chain.py       LangChain chain over the API
  prompts.py     step prompts
  outputs.py     .txt/.md writers

Notes

  • LLM steps stream: some gateways fail to return monolithic responses.
  • Accept-Encoding: identity and use_responses_api=False work around proxy hangs.
  • Run long requests in the foreground.

Metadata

Release files for tubestoevsky 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tubestoevsky 1.0.0
File Size Uploaded
tubestoevsky-1.0.0.tar.gz 121.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tubestoevsky 1.0.0
File Interpreter ABI Platform
tubestoevsky-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 133.4 kB

Release files / tubestoevsky-1.0.0.tar.gz

Download URL tubestoevsky-1.0.0.tar.gz
Size 121.9 kB
Tags Source
SHA-256 checksum
How to use checksums
140bafc49e6f352610f03e570075e3179e8f2cb517f62b79e4b920d31880f9e1
BLAKE2b-256 checksum
How to use checksums
4d06c26506d36c06878c957faf576db55d10e9713ef85b39d4fa44222585ae64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / tubestoevsky-1.0.0-py3-none-any.whl

Download URL tubestoevsky-1.0.0-py3-none-any.whl
Size 11.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
357ebfcc09108ecc75172fb62bd25392120a38d65960b71d925533d05f4d9560
BLAKE2b-256 checksum
How to use checksums
b17cc6600caa5effd457e2cdd3c4a0c7520b080ed9f2854cc5fdea2b41816819
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

1.0.2

2 release files

1.0.1

2 release files

This release

1.0.0 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