Fast and independent YouTube video downloader
Project description
ytsnap
Fast and independent YouTube video downloader built from scratch.
Installation
pip install ytsnap
CLI Usage
# Basic download
ytsnap "https://www.youtube.com/watch?v=VIDEO_ID"
# Custom output filename
ytsnap "https://www.youtube.com/watch?v=VIDEO_ID" output.mp4
# Download specific quality
ytsnap "https://www.youtube.com/watch?v=VIDEO_ID" video.mp4 --quality 720p
# Download by itag
ytsnap "https://www.youtube.com/watch?v=VIDEO_ID" video.mp4 --itag 18
Library Usage
from youtube_downloader import YouTubeDownloader
# Initialize downloader
downloader = YouTubeDownloader("https://www.youtube.com/watch?v=VIDEO_ID")
# Get available formats
formats = downloader.get_formats()
for fmt in formats:
print(f"itag={fmt['itag']} quality={fmt['quality']} size={fmt['filesize']}")
# Download video (auto-selects best format)
downloader.download("video.mp4")
# Download specific quality
downloader.download("video_720p.mp4", quality="720p")
# Download by itag
downloader.download("video.mp4", itag=18)
Features
- ✅ No yt-dlp dependency
- ✅ Uses YouTube's innertube API
- ✅ Multiple quality options
- ✅ Progress tracking
- ✅ Both CLI and library usage
- ✅ Video and audio formats
- ✅ Fast and lightweight
How it works
Uses YouTube's official innertube API with Android client credentials to fetch direct CDN URLs without signature decryption complexity.
License
MIT
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
ytsnap-0.1.0.tar.gz
(8.7 MB
view details)
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 ytsnap-0.1.0.tar.gz.
File metadata
- Download URL: ytsnap-0.1.0.tar.gz
- Upload date:
- Size: 8.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11554bf861038b3a8df3b9520282b54e73ef28e1847d1b133dcb10c770e08ed0
|
|
| MD5 |
c6479745de57e73db82f9d4a1b81e340
|
|
| BLAKE2b-256 |
c9ff8d294ad2769f7f922a0c8f67225d6b801de4a1461f2e9f40c46bd5c930e6
|
File details
Details for the file ytsnap-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ytsnap-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
559c91d339573bac6596be4b256970072fa2c9d5d23aeaa7dc130280dcda0881
|
|
| MD5 |
2acae7ef26ebff003829f2900993bfa8
|
|
| BLAKE2b-256 |
01f34c2961ad4a309a4b71754ac9050f1c06b7468eadb39b0d300b37462ad2c0
|