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.
If you want to use it as a Python package instead of the CLI:
pip install riptube
import riptube
from riptube import download_video
print(riptube.__version__)
download_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
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
Use the Make targets to cut a release from a clean main branch:
make release-patch
make release-minor
make release-major
Each target bumps the version, refreshes uv.lock, commits the release change, and pushes to main. That push 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
Metadata
Release files for riptube 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| riptube-0.1.1.tar.gz | 5.5 kB | With provenance | Details for riptube-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| riptube-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for riptube-0.1.1-py3-none-any.whl |
Total release size: 11.7 kB
Release files / riptube-0.1.1.tar.gz
| Download URL | riptube-0.1.1.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba1bcfad055d177927422093cc635d60258af00d4c4c081454916b7968806419
|
|
BLAKE2b-256 checksum How to use checksums |
b7a7c5e70a144965d3aca5ef42d2a931c055a78c1dc23bf2d0512ed0697b50c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 11, 2026.
Transparency logRelease files / riptube-0.1.1-py3-none-any.whl
| Download URL | riptube-0.1.1-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d052319343ed3ac171428a892d82685175a66f4ab748bf2f9bdbbd62ffa992a9
|
|
BLAKE2b-256 checksum How to use checksums |
477e7a039bcf5368ac4c706709a6edefa9fc358afe1d44c050143d972e1ab369
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 11, 2026.
Transparency logSecurity for riptube 0.1.1
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for riptube-0.1.1.tar.gz
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 11, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.