Skip to main content

SimpleSoup

A simple Python wrapper for yt-dlp and FFmpeg.

Installation

pip install simplesoup

For gallery support:

pip install "simplesoup[gallery]"

Import

from simplesoup import rz

Basic Syntax

result = rz({
    "WHAT_TO_REQUEST": "VARIABLE_NAME"
}, url)

WHAT_TO_REQUEST batata hai kya chahiye, aur VARIABLE_NAME batata hai result mein us value ko kis naam se save karna hai.

Example:

result = rz({
    "title": "title"
}, url)

print(result["title"])

Video Download

result = rz({
    "video[4]": "video"
}, url)

print(result["video"])

video[4] = 720p.

Video Quality

video[0] → audio
video[2] → 360p
video[3] → 480p
video[4] → 720p
video[5] → 1080p
video[6] → best available

Example:

result = rz({
    "video[5]": "video"
}, url)

Multiple Values At Once

Ek hi request mein video aur metadata dono le sakte ho:

result = rz({
    "video[4]": "video",
    "title": "title",
    "creator": "creator",
    "url": "video_url",
    "views": "views",
    "likes": "likes",
    "count": "comments",
    "time": "duration",
    "thumbnail": "thumbnail"
}, url)

Values access karne ke liye:

print(result["video"])
print(result["title"])
print(result["creator"])
print(result["video_url"])
print(result["views"])
print(result["likes"])
print(result["comments"])
print(result["duration"])
print(result["thumbnail"])

Order matter nahi karta.

Metadata

Available metadata:

title      → video title
creator    → uploader/channel
url        → video URL
views      → view count
likes      → like count
count      → comment count
time       → duration in seconds
thumbnail  → downloaded thumbnail path
formats    → available yt-dlp formats

Metadata Only

Agar sirf metadata chahiye aur video download nahi karna:

result = rz({
    "title": "title",
    "creator": "creator",
    "views": "views",
    "likes": "likes",
    "count": "comments",
    "time": "duration"
}, url)

video[...] block nahi hone par video download nahi hota.

Thumbnail

result = rz({
    "thumbnail": "thumbnail"
}, url)

print(result["thumbnail"])

Thumbnail actual .jpg file ke roop mein download hota hai.

Playlist

Playlist syntax:

result = rz({
    "playlist": "QUALITY:SKIP:COUNT"
}, playlist_url)

Example:

result = rz({
    "playlist": "4:20:3"
}, playlist_url)

Meaning:

4  → 720p
20 → first 20 videos skip
3  → next 3 videos download

So:

Video 1-20 → skip
Video 21   → download
Video 22   → download
Video 23   → download

Downloaded videos:

for video in result["videos"]:
    print(video)

Playlist + Metadata

result = rz({
    "playlist": "4:20:3",
    "title": "playlist_title"
}, playlist_url)

print(result["playlist_title"])
print(result["videos"])

Gallery

Gallery downloading ke liye:

result = rz({
    "gallery": "images"
}, gallery_url)

print(result)

Gallery support ke liye gallery-dl install hona chahiye:

pip install "simplesoup[gallery]"

Cookies

SimpleSoup automatic cookie fallback support karta hai.

User apne cookie file paths `ReiZyuki` variable mein de sakta hai:

ReiZyuki = [
    "/storage/emulated/0/Download/youtube.txt",
    "/storage/emulated/0/Download/instagram.txt",
    "/storage/emulated/0/Download/reddit.txt"
]

Uske baad normal syntax hi use karo:

result = rz({
    "title": "title",
    "video[4]": "video"
}, url)

SimpleSoup pehle URL ko bina cookies ke try karta hai.

Agar normal request successful ho jaaye, cookies test nahi kiye jaate.

Agar normal request fail ho, to `ReiZyuki` mein diye gaye cookie paths ko one-by-one test kiya jaata hai.

Jo pehla cookie current URL ke liye successfully kaam karta hai, SimpleSoup automatically usi cookie ko use karta hai.

Kisi `cookies=` argument ki zarurat nahi hai.

Missing ya failed cookie automatically skip hota hai aur next cookie test hota hai.

Progress Callback

Optional progress callback:

def progress(percent, speed, mode):
    print(
        f"[Download {percent}] "
        f"[Network {speed}] "
        f"[Mode {mode}]"
    )

result = rz(
    {
        "video[4]": "video"
    },
    url,
    progress_callback=progress
)

Callback ko ye 3 values milti hain:

percent → download percentage
speed   → network speed
mode    → Video / Playlist

Complete Example

from simplesoup import rz

url = "VIDEO_URL"

result = rz({
    "video[4]": "video",
    "title": "title",
    "creator": "creator",
    "url": "video_url",
    "views": "views",
    "likes": "likes",
    "count": "comments",
    "time": "duration",
    "thumbnail": "thumbnail"
}, url)

print("Video:", result["video"])
print("Title:", result["title"])
print("Creator:", result["creator"])
print("URL:", result["video_url"])
print("Views:", result["views"])
print("Likes:", result["likes"])
print("Comments:", result["comments"])
print("Duration:", result["duration"])
print("Thumbnail:", result["thumbnail"])

Default Download Location

/storage/emulated/0/Download/ReiDownloader/

API Syntax Summary

Single video:

rz({
    "video[QUALITY]": "variable"
}, url)

Metadata:

rz({
    "title": "variable",
    "creator": "variable",
    "url": "variable",
    "views": "variable",
    "likes": "variable",
    "count": "variable",
    "time": "variable",
    "thumbnail": "variable"
}, url)

Video + metadata:

rz({
    "video[4]": "video",
    "title": "title",
    "creator": "creator",
    "views": "views",
    "likes": "likes",
    "count": "comments",
    "time": "duration",
    "thumbnail": "thumbnail"
}, url)

Playlist:

rz({
    "playlist": "QUALITY:SKIP:COUNT"
}, playlist_url)

Gallery:

rz({
    "gallery": "variable"
}, gallery_url)

Version

SimpleSoup 2026.09.08

Metadata

Release files for simplesoup 2026.9.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simplesoup 2026.9.8
File Size Uploaded
simplesoup-2026.9.8.tar.gz 9.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simplesoup 2026.9.8
File Interpreter ABI Platform
simplesoup-2026.9.8-py3-none-any.whl Python 3 none any Details

Total release size: 19.2 kB

Release files / simplesoup-2026.9.8.tar.gz

Download URL simplesoup-2026.9.8.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b3451e80522c0d6866a8a13a7239804d4e0548209a3c5f1ae03e8886347c7b72
BLAKE2b-256 checksum
How to use checksums
31da3f2820ce9f9a356d9bf0d430afea5505e9ea51f6e40cc4c2b9326e434524
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 8, 2026.

Transparency log

Release files / simplesoup-2026.9.8-py3-none-any.whl

Download URL simplesoup-2026.9.8-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ea8eba4bd5fac09ca63daf9f21f75379f237966b2d08804564246485f32db28f
BLAKE2b-256 checksum
How to use checksums
05f30f155c5864ee9add4a8c370f2684b17bd12570a9f9ab0e1359b164203e8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2026.9.8 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page