Name | yttran JSON |
Version |
0.2.2
JSON |
| download |
home_page | None |
Summary | A simple CLI to fetch plain text transcripts in english from YouTube videos. Powered by youtube-transcript-api. Cached to local disk. |
upload_time | 2025-08-24 22:21:08 |
maintainer | None |
docs_url | None |
author | Rudiger Wolf |
requires_python | >=3.8 |
license | # The MIT License (MIT) Copyright © 2025 <Rudiger Wolf> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
youtube
transcript
cli
command line
tool
video
subtitle
captions
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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](https://github.com/astral-sh/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.
```bash
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 wisdom can be done with tools like Claude AI, ChatGPT or [Fabric](https://github.com/danielmiessler/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
```bash
uv pip install .
```
Now you can run the cli tool binary.
Example run on MS-Windows:
```bash
.\.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
```bash
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`](https://github.com/astral-sh/uvx) installed, you can run `yttan` directly from PyPI without manual dependency management:
```bash
uvx yttran <youtube-video-url-or-id> > transcript.txt
```
Raw data
{
"_id": null,
"home_page": null,
"name": "yttran",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "youtube, transcript, cli, command line, tool, video, subtitle, captions",
"author": "Rudiger Wolf",
"author_email": "Rudiger Wolf <rudiger.wolf@throughputfocus.com>",
"download_url": "https://files.pythonhosted.org/packages/01/3f/a4ea399656d01d7e99e54d610852542c8b1718a45ed57ea03f8071ac8715/yttran-0.2.2.tar.gz",
"platform": null,
"description": "# yttran\r\n\r\n`yttran` (\u201cYouTube Transcript\u201d) 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](https://github.com/astral-sh/uvx) for easy, one-step usage.\r\n\r\n---\r\n\r\n## Problem\r\n\r\nYouTube videos often have captions or auto-generated transcripts.\r\n\r\nThere 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.\r\n\r\nA 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.\r\n\r\n```bash\r\nuvx run youtube_transcript_api <first_video_id> <second_video_id> ... --languages en --format text > transcripts.txt\r\n```\r\n\r\nI 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.\r\n\r\nFurther processing to extract summaries and wisdom can be done with tools like Claude AI, ChatGPT or [Fabric](https://github.com/danielmiessler/fabric).\r\n\r\nInsummary, in order to maximize learning from Youtube videos...\r\n\r\n- Downloading full videos just to get transcription text is cumbersome.\r\n- Subtitles come in `.srt` or `.vtt` formats, which include timestamps, numbering, and formatting tags.\r\n- Cleaning and deduplicating these files is tedious, especially when automating workflows.\r\n\r\n`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.\r\n\r\n---\r\n\r\n## Dependency\r\n\r\nuv manages project dependencies and environments for python packages.\r\n\r\nSee https://docs.astral.sh/uv/#installation\r\n\r\n## Code repository\r\n\r\nhttps://github.com/rnwolf/yttran\r\n\r\n\r\n## Install package during development for testing\r\n\r\n```bash\r\nuv pip install .\r\n```\r\n\r\nNow you can run the cli tool binary.\r\n\r\nExample run on MS-Windows:\r\n\r\n```bash\r\n.\\.venv\\Scripts\\yttran.exe https://www.youtube.com/watch?v=4b0iet22VIk > test-tran.txt\r\n```\r\n\r\n## Publish Packge to PyPi for world to use\r\n\r\nMake sure verions number of package is incremented as required in pyproject.toml\r\n\r\n```bash\r\nuv build\r\nuv publish\r\n```\r\nYou\u2019ll need your PyPI credentials (username and password).\r\n\r\nAfter publishing, verify your package is live on PyPI by visiting:\r\n\r\n`https://test.pypi.org/project/yttran/`\r\n\r\n\r\n## Installation Published Public Package for use on local PC\r\n\r\nIf you have [`uvx`](https://github.com/astral-sh/uvx) installed, you can run `yttan` directly from PyPI without manual dependency management:\r\n\r\n```bash\r\nuvx yttran <youtube-video-url-or-id> > transcript.txt\r\n```\r\n",
"bugtrack_url": null,
"license": "# The MIT License (MIT) Copyright \u00a9 2025 <Rudiger Wolf> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \u201cSoftware\u201d), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \u201cAS IS\u201d, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"summary": "A simple CLI to fetch plain text transcripts in english from YouTube videos. Powered by youtube-transcript-api. Cached to local disk.",
"version": "0.2.2",
"project_urls": {
"Homepage": "https://github.com/rnwolf/yttran",
"Repository": "https://github.com/rnwolf/yttran.git"
},
"split_keywords": [
"youtube",
" transcript",
" cli",
" command line",
" tool",
" video",
" subtitle",
" captions"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "fafd5fc58b769fe3b62ab3faa35204130e3a713e9e69b4b728bc9a0889091d0d",
"md5": "7d602176d8e210a9915580572987b500",
"sha256": "b5491cddb7c8f3216bc00df28b0409dbca13acd2c40c7fa034f01c5e323e78ee"
},
"downloads": -1,
"filename": "yttran-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7d602176d8e210a9915580572987b500",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 4582,
"upload_time": "2025-08-24T22:21:07",
"upload_time_iso_8601": "2025-08-24T22:21:07.300474Z",
"url": "https://files.pythonhosted.org/packages/fa/fd/5fc58b769fe3b62ab3faa35204130e3a713e9e69b4b728bc9a0889091d0d/yttran-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "013fa4ea399656d01d7e99e54d610852542c8b1718a45ed57ea03f8071ac8715",
"md5": "396bbc5320b7b79a55467324543021fc",
"sha256": "75303e0b23c77d6da3bc0723d51a1b8f689c9ed930345526a0254ce60966a3ce"
},
"downloads": -1,
"filename": "yttran-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "396bbc5320b7b79a55467324543021fc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 3753,
"upload_time": "2025-08-24T22:21:08",
"upload_time_iso_8601": "2025-08-24T22:21:08.403396Z",
"url": "https://files.pythonhosted.org/packages/01/3f/a4ea399656d01d7e99e54d610852542c8b1718a45ed57ea03f8071ac8715/yttran-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-24 22:21:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rnwolf",
"github_project": "yttran",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "yttran"
}