Skip to main content

A flexible and fast multi-platform media downloading system.

Project description

RedExtractor

is a Python library designed for fast, flexible, and reliable downloading of media content—primarily videos and audio streams—from YouTube and similar platforms (Facebook, Instagram). Leveraging the power of [yt-dlp] and modular design patterns, RedExtractor enables developers to easily integrate advanced media downloading capabilities into their applications.

The library supports multiple download strategies, including single-stream, parallel segmented downloads, and MP3 extraction. It provides real-time progress tracking, customizable format selection, and concurrent downloads using threads or processes. RedExtractor is built to be extensible, allowing for future download strategies easily integrated.

Whether you need to download a single video, playlist, batch process multiple streams, or extract audio, RedExtractor offers a user-friendly API and robust architecture to meet your needs. It is cross-platform, working seamlessly on Windows, macOS, and Linux.

Typical Use Cases:

  • Downloading YouTube videos or audio for offline use
  • Scripted downloading playlists or channels
  • Extracting MP3 audio from video sources
  • Integrating media download functionality into larger Python projects
  • Tracking download progress in real-time for user feedback

Features

  • Multiple Download Strategies
    Choose the best download approach for your needs:

    • Basic single-stream download
    • Parallel download with segmented streams (Faster with m3u8 & dash files)
    • MP3 audio-only download
  • Progress Tracking
    Real-time download progress updates via ytdlp callbacks and hook.

  • Format Selection & Customization
    Easily select video/audio formats or quality preferences.

  • Extensible & Modular
    Designed with strategy patterns for easy addition of new download methods.

  • User-friendly Simple, decent API to use fluently and choose downloading strategies, customizable client defined download progress displaying, designed to be the best.

  • Cross-platform Support
    Works on Windows, macOS, and Linux systems.

  • Shallow Concurrent file downloading support Easily configure the download system to support numbered downloads. (Not Fully Achieved, Error prone)


🛠 Technologies Used Python 3.12.1

ytd-lp (for YouTube downloads)

PulseBus (Event-Driven Infrastructure)

tqdm (for default terminal progress display)

unittest (for testing)


Installation

pip install RedExtractor

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

redextractor-0.2.1.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

redextractor-0.2.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file redextractor-0.2.1.tar.gz.

File metadata

  • Download URL: redextractor-0.2.1.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for redextractor-0.2.1.tar.gz
Algorithm Hash digest
SHA256 9fadb864718f1e7dfaaf367c164a3ab5412a6576ee7c8608719e68ab446be427
MD5 61399466c5cd698e6f6fe4865d173c87
BLAKE2b-256 0515201e6b1cad698c620dae5f61e4d2d9a95c27c54cbe0790d09c1fae29f601

See more details on using hashes here.

File details

Details for the file redextractor-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: redextractor-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for redextractor-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 33a9c4022a8007cb713664de0bc1ba4094ec5029b9b383a114b2c924ac2a987e
MD5 8491db2eb69eb475c3a0235f440cf273
BLAKE2b-256 5559f027d7f4f337219c2c8c0fc2b920d8775bd102d04a2cbf0d99d92d305589

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