YouTube video downloader with best quality
Project description
riptube
📺 Download YouTube videos and extract audio with one command 🎵
Installation · Usage · Options
Overview
A CLI tool for downloading YouTube videos and extracting audio tracks. Built on top of yt-dlp, it handles the complexities of video downloading with automatic format selection, audio extraction, and cookie support for restricted content.
Features
- Best quality by default - Automatically selects the highest available video and audio quality
- Audio extraction - Extract audio tracks as MP3 files with a single flag
- Cookie support - Access age-restricted or private videos using browser cookies
- Clean filenames - Automatic sanitization of video titles for safe file names
Installation
pipx install riptube
Development install with uv
uv tool install . --editable
The package is published on PyPI as riptube, and the installed command is riptube.
Dependencies
| Dependency | Required | Purpose |
|---|---|---|
| FFmpeg | Yes | Video/audio processing and merging |
| aria2 | No | Faster downloads (optional) |
macOS:
brew install ffmpeg aria2
Linux:
sudo apt install ffmpeg aria2
Windows: Download FFmpeg from ffmpeg.org
Usage
Download a video
riptube https://www.youtube.com/watch?v=dQw4w9WgXcQ
Specify output file
riptube https://www.youtube.com/watch?v=dQw4w9WgXcQ -o video.mp4
Extract audio only
riptube https://www.youtube.com/watch?v=dQw4w9WgXcQ -a
Use cookies for restricted videos
riptube https://www.youtube.com/watch?v=dQw4w9WgXcQ -c cookies.txt
Options
| Option | Description |
|---|---|
-o, --output |
Output file path (default: auto-generated from video title) |
-a, --audio |
Extract audio track as MP3 |
-c, --cookies |
Path to Netscape format cookies.txt file |
Development
# Clone and install in development mode
git clone https://github.com/tsilva/riptube.git
cd riptube
uv tool install . --editable
# Or install with pipx
pipx install . --force
# Run directly without installing
python -m riptube.cli <url>
Releases
Bumping the version in pyproject.toml on main triggers the release workflow, which builds the package, publishes it to PyPI, and then creates the matching GitHub release. The workflow can also be re-run manually from GitHub via workflow_dispatch.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file riptube-0.1.0.tar.gz.
File metadata
- Download URL: riptube-0.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31b645dff8e1497819fe04603d0be4ff5ec250332a0dbe35c0f3e7286fe9d1c7
|
|
| MD5 |
7997c7d94fbf5af210255c93d7e49047
|
|
| BLAKE2b-256 |
27554ad2003f6b84c5a002dccdaa3db8dfae9b8e8d2824db2a4eda815748cfdf
|
Provenance
The following attestation bundles were made for riptube-0.1.0.tar.gz:
Publisher:
release.yml on tsilva/riptube
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
riptube-0.1.0.tar.gz -
Subject digest:
31b645dff8e1497819fe04603d0be4ff5ec250332a0dbe35c0f3e7286fe9d1c7 - Sigstore transparency entry: 1082422981
- Sigstore integration time:
-
Permalink:
tsilva/riptube@d008d771bc5bd27e3c8cbdc0e6b36cc0ebcb51b3 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tsilva
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d008d771bc5bd27e3c8cbdc0e6b36cc0ebcb51b3 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file riptube-0.1.0-py3-none-any.whl.
File metadata
- Download URL: riptube-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc7dc014dc747e03b021ca5b3f47eec366a6ae5753df78517ebd42b5a4053e18
|
|
| MD5 |
4c02859afb474b8dd4bacc8196182893
|
|
| BLAKE2b-256 |
eab22644dd217ef829912bd25d79d030cead4e9a88ae826c1eefd2f87a2cb3c9
|
Provenance
The following attestation bundles were made for riptube-0.1.0-py3-none-any.whl:
Publisher:
release.yml on tsilva/riptube
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
riptube-0.1.0-py3-none-any.whl -
Subject digest:
fc7dc014dc747e03b021ca5b3f47eec366a6ae5753df78517ebd42b5a4053e18 - Sigstore transparency entry: 1082423083
- Sigstore integration time:
-
Permalink:
tsilva/riptube@d008d771bc5bd27e3c8cbdc0e6b36cc0ebcb51b3 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tsilva
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d008d771bc5bd27e3c8cbdc0e6b36cc0ebcb51b3 -
Trigger Event:
workflow_dispatch
-
Statement type: