Skip to main content

A youtube-dl extension with pluggable extractors

Project description

dl-plus

A youtube-dl extension with pluggable extractors

Description

dl-plus is an extension and a drop-in replacement of youtube-dl (or any compatible fork, e.g., yt-dlp). The main goal of the project is to add an easy-to-use extractor plugin system to youtube-dl while maintaining full backward compatibility.

dl-plus is not a fork of youtube-dl and does not contain code from youtube-dl, it is a pure dynamic wrapper (thanks to Python dynamic nature) hacking some youtube-dl internals.

Installation

  1. Install dl-plus:

    • using pipx:

      pipx install dl-plus
      
    • using pip:

      pip install dl-plus
      

    (*nix) Alternatively, you can download a single file binary (zipapp) and put it somewhere in your PATH:

    curl -L https://github.com/un-def/dl-plus/releases/latest/download/dl-plus -o dl-plus
    chmod a+x dl-plus
    
  2. Install a backend — youtube-dl or any compatible package (fork), e.g., yt-dlp:

    • using dl-plus itself:

      dl-plus --cmd backend install yt-dlp
      
    • using pipx:

      pipx inject dl-plus yt-dlp
      
    • using pip:

      pip install yt-dlp
      
  3. (optional) Install some extractor plugins:

    • using dl-plus itself:

      dl-plus --cmd extractor install un1def/goodgame
      

      PyPI package names are supported too:

      dl-plus --cmd extractor install dl-plus-extractor-un1def-goodgame
      
    • using pipx:

      pipx inject dl-plus dl-plus-extractor-un1def-goodgame
      
    • using pip:

      pip install dl-plus-extractor-un1def-goodgame
      
  4. (optional) Create dl-plusyoutube-dl symlink (for apps relying on youtube-dl executable in PATH, e.g., mpv):

    • *nix:

      dlp=$(command -v dl-plus 2>&1) && ln -s "$dlp" "$(dirname "$dlp")/youtube-dl"
      

      Use ln -sf instead of ln -s to overwrite an existing youtube-dl executable.

    • Windows (PowerShell, requires administrative privileges):

      $dlp = (Get-Command -ErrorAction:Stop dl-plus).Path; New-Item -ItemType SymbolicLink -Path ((Get-Item $dlp).Directory.FullName + "\youtube-dl.exe") -Target $dlp
      

Extractor Plugin Authoring Guide

See docs/extractor-plugin-authoring-guide.md.

Available Extractor Plugins

See docs/available-extractor-plugins.md.

License

The MIT License.

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

dl_plus-0.9.0.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

dl_plus-0.9.0-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file dl_plus-0.9.0.tar.gz.

File metadata

  • Download URL: dl_plus-0.9.0.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for dl_plus-0.9.0.tar.gz
Algorithm Hash digest
SHA256 9eee148b4f4aee8a8372588fd27c226a317c95955c629694e1d5750a771bd814
MD5 8ff3ff1153795492fa0b1a0b90e81d17
BLAKE2b-256 482bec9d984a12e64db9a2a603d41919edb0ba4242546bf539554688275f563b

See more details on using hashes here.

File details

Details for the file dl_plus-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: dl_plus-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 34.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for dl_plus-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f99dd2b42ddc5e983fe82e79df4d912826dc49b6b8555b92e63f7afa1efe47b5
MD5 f44a34ed36f7af9b040124594bf4b45a
BLAKE2b-256 efd381c78558e48d5b97ed6a580ad45770d9d840bfa3fbb0c1d32dfcb1146af3

See more details on using hashes here.

Supported by

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