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.10.1.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

dl_plus-0.10.1-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dl_plus-0.10.1.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for dl_plus-0.10.1.tar.gz
Algorithm Hash digest
SHA256 fc0a81f06ec11f7af9e8a279620a10e3945aee508268f98f7af6b24124f20222
MD5 c72824782b8b752db3a1440cd019ff36
BLAKE2b-256 7e082e6855a944d493facb02f0a802f5e97b67fc03fc8c2465042b44a7f8fff0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dl_plus-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 36.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for dl_plus-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ecc9c15440f51004d2b958f65d5c71397e9f2ae190eb89b5ea4f68323df26779
MD5 e7a9f45f1163ae94a1781718ecae8cdc
BLAKE2b-256 945a04e145f1087884ea78a41db6ebb842853b9a2f7a1f1af9b58c33f62f8c5b

See more details on using hashes here.

Supported by

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