Skip to main content

A simple CLI to fetch plain text transcripts in english from YouTube videos. Powered by youtube-transcript-api. Cached to local disk.

Project description

yttran

yttran (“YouTube Transcript”) is a lightweight CLI tool that allows you to quickly fetch the plain transcript text from YouTube videos without downloading the video itself. It leverages the official youtube-transcript-api and can be run via uvx for easy, one-step usage.


Problem

YouTube videos often have captions or auto-generated transcripts.

There are websites like https://transcribefromyoutube.com/ that one can use to get a transcript but they require you to leave the terminal and copy paste the text for further processing.

A CLI lternative is to use the cli that comes with youtube-transcript-api but I can never remember all the switches nor do I want to type all of those long commands.

uvx run youtube_transcript_api <first_video_id> <second_video_id> ... --languages en --format text > transcripts.txt

I need to be able to run a short command and specify only the youtube video so that I can pipe transcript into AI analysis and summarization tools. I also what to save the transacript into a local cache to I don't need to fetch it again.

Further processing to extract summaries and wisdonm can be done with tools like Claude AI, ChatGPT or Fabric.

Insummary, in order to maximize learning from Youtube videos...

  • Downloading full videos just to get transcription text is cumbersome.
  • Subtitles come in .srt or .vtt formats, which include timestamps, numbering, and formatting tags.
  • Cleaning and deduplicating these files is tedious, especially when automating workflows.

yttran solves this by providing a single command to get clean, readable transcript text, ready for passing on to AI pipelines, research, or note-taking.


Dependency

uv manages project dependencies and environments for python packages.

See https://docs.astral.sh/uv/#installation

Code repository

https://github.com/rnwolf/yttran

Install package during development for testing

uv pip install .

Now you can run the cli tool binary.

Example run on MS-Windows:

.\.venv\Scripts\yttran.exe https://www.youtube.com/watch?v=4b0iet22VIk > test-tran.txt

Publish Packge to PyPi for world to use

Make sure verions number of package is incremented as required in pyproject.toml

uv build
uv publish

You’ll need your PyPI credentials (username and password).

After publishing, verify your package is live on PyPI by visiting:

https://test.pypi.org/project/yttran/

Installation Published Public Package for use on local PC

If you have uvx installed, you can run yttan directly from PyPI without manual dependency management:

uvx yttran <youtube-video-url-or-id> > transcript.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yttran-0.2.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yttran-0.2.1-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file yttran-0.2.1.tar.gz.

File metadata

  • Download URL: yttran-0.2.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for yttran-0.2.1.tar.gz
Algorithm Hash digest
SHA256 3bdf34a28b98ada1ee9a76c114773dc0ef5fe8ace28c68f4e185cfa01bd8a349
MD5 386e8f59e8fe48b0099baffc5bc24272
BLAKE2b-256 e2a798a904f46aa18048499dce37e32658b854932c2f83af19a460085e32bc29

See more details on using hashes here.

File details

Details for the file yttran-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: yttran-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for yttran-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dff97d4424f2c640446389d0cb040069ff6396c7191997eaac0dcdf4d30e9ed2
MD5 a2c7cdcdc68a5d4e4695ad7d55690168
BLAKE2b-256 fa58990ba0980088cd69d732915d3a8f6057f7ba66c235bc598df2921a2fc75c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page