Skip to main content

Library GoLD YouTube downloader (video / audio / shorts / playlists) with smart caching and auto quality handling

Project description

gold-dl The simplest YouTube downloader (CLI + Python API)

A minimal, easy-to-use YouTube downloader that provides a small CLI and an async Python API. gold-dl is built on top of pytubefix to handle stream extraction while keeping the user experience simple.

Channel Library : Source Gold
Contact / Developer : @CB6BB

gold-dl screenshot

Table of Contents

  • Installation
  • Upgrade
  • Quick Start (CLI)
  • Options
  • Examples
  • Python API
  • Screenshots
  • Todo
  • Contributing
  • License

Installation

  1. Verify you have Python 3.x:
python --version
  1. Install gold-dl:
pip install gold-dl --break-system-packages

(If your environment does not require --break-system-packages, you may omit it.)

Upgrade

pip install --upgrade gold-dl --break-system-packages

Quick Start (CLI)

gold-dl "YOUTUBE_LINK" [PATH]
  • "YOUTUBE_LINK" (required) the YouTube video or playlist URL (wrap in quotes).
  • [PATH] (optional) destination folder; defaults to the current working directory.

Common options

  • -v, --version
    • Show current version and exit.
  • -a, --audio
    • Download audio only (skip video selection).
  • -f, --footage
    • Download video only (skip audio-only flows).

Icons used in this README

  • Download
  • Audio
  • Video
  • Folder

Examples

# Download a video (interactive selection if needed)
gold-dl "https://www.youtube.com/watch?v=VIDEO_ID"

# Download audio only
gold-dl "https://www.youtube.com/watch?v=VIDEO_ID" --audio

# Download to a specific folder
gold-dl "https://www.youtube.com/watch?v=VIDEO_ID" ./downloads

# Download a playlist (you can select items or download all)
gold-dl "https://www.youtube.com/playlist?list=PLAYLIST_ID"

Python API (async) Use the async DownloadService to integrate gold-dl into bots and other apps.

from gold_dl import DownloadService
import os
from typing import Union
import asyncio

async def download(bot_username, link, video: Union[bool, str] = None):
    voltpath = "downloads"
    os.makedirs(voltpath, exist_ok=True)
    is_audio = not bool(video)
    service = DownloadService(
        url=link,
        path=voltpath,
        quality="360p" if not is_audio else "audio",
        is_audio=is_audio
    )
    return await service.download_async()

# Example runner:
# asyncio.run(download("botname", "https://www.youtube.com/watch?v=VIDEO_ID", video=True))

Screenshots

  • Download video and choose save location
  • Choose download type (audio / video)
  • Select resolution when downloading video
  • Playlist selection UI (pick single video(s) or download all)

Todo

  • Notification System
  • Auto Update package if new version available
  • Support Optional Numbering for Downloaded Playlist Videos
  • Improve code health
  • API (Python)
  • Download Playlist
  • Support setting for default download folder
  • Download thumbnails with videos and audio

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gold_dl-2025.12.25.4.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gold_dl-2025.12.25.4-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file gold_dl-2025.12.25.4.tar.gz.

File metadata

  • Download URL: gold_dl-2025.12.25.4.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for gold_dl-2025.12.25.4.tar.gz
Algorithm Hash digest
SHA256 f45bd04ec00b59413a5da8b7f8843d9d10fef441a261ff472acc6967abaf55a6
MD5 ab792e7e5bbf4a42324b34f5481e0c9d
BLAKE2b-256 39853e4610b26734604fcf0d8d3652d386f471273c4d4c33a2f2b502f6825fe1

See more details on using hashes here.

File details

Details for the file gold_dl-2025.12.25.4-py3-none-any.whl.

File metadata

  • Download URL: gold_dl-2025.12.25.4-py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for gold_dl-2025.12.25.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2c7557e16930dd2e517a00601689bff7469b6b4b54eaecafbc13f3ea69e1a668
MD5 0a204acc9b17e67f0552069e7443174c
BLAKE2b-256 e02d1ed57207f198535928f30a9824a5b7b70fe3f16d1f08ce22b292fd350d92

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page