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.2.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.2-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: redextractor-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 9c567006fc22117c26458e3ed3e5b3f4a5f24e2d72553ac547e86185528409b1
MD5 515a38082dd7cdd31df99f7714e34ae2
BLAKE2b-256 1c9bccbf4e1000091767c2e4a11d5a8439f10eb4a786f44fda091bf37fa808c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: redextractor-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 20.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dc102a64277a35da3dad41742501749fe6b24aa305470bf1c191b0355509b20b
MD5 24bf8f932b81831bcabb93866a95ec60
BLAKE2b-256 e7f8e3d340337a29d51d55e7434141955fcc52d497506c070c9b306691a4f91c

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