Skip to main content

Convenient command line and library wrapper for youtube-dl.

Latest release 20200615:

  • Initial "daemon" mode, suitable for "tail -f .ydld-queue | ydl -", handy for keeping around in a tmux session.
  • Assorted small bugfixes.

The youtube-dl tool and associated youtube_dl Python module are very useful for downloading media from various websites. However, as an end user who almost never streams because of my soggy internet link, I find fetching several items is quite serial and visually noisy.

This module provides a command line tool ydl which:

  • runs multiple downloads in parallel with progress bars
  • prints the downloaded filename as each completes

Interactively, I keep this shell function:

ydl(){
  ( set -ue
    dldir=${DL:-$HOME/dl}/v
    [ -d "$dldir" ] || set-x mkdir "$dldir"
    cd "$dldir"
    command ydl ${1+"$@"}
  )
}

which runs the downloader in my preferred download area without tedious manual cding.

Function main(argv=None, cmd=None)

Main command line.

Class OverYDL

A manager for multiple YDL instances.

Class YDL

Manager for a download process.

Method YDL.__init__(self, url, *, fstags, upd=None, tick=None, over_progress=None, **kw_opts)

Initialise the manager.

Parameters:

  • url: the URL to download
  • fstags: mandatory keyword argument, a cs.fstags.FSTags instance
  • upd: optional cs.upd.Upd instance for progress reporting
  • tick: optional callback to indicate state change
  • over_progress: an OverProgress to which to add each new Progress instance
  • kw_opts: other keyword arguments are used to initialise the options for the underlying YoutubeDL instance

Class YDLCommand(cs.cmdutils.BaseCommand)

ydl command line implementation.

Release Log

Release 20200615:

  • Initial "daemon" mode, suitable for "tail -f .ydld-queue | ydl -", handy for keeping around in a tmux session.
  • Assorted small bugfixes.

Release 20200521: Initial PyPI release.

Metadata

Release files for cs.app.ydl 20200615

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cs.app.ydl 20200615
File Size Uploaded Provenance Actions
cs.app.ydl-20200615.tar.gz 5.6 kB Without provenance Details for cs.app.ydl-20200615.tar.gz

Release files / cs.app.ydl-20200615.tar.gz

Download URL cs.app.ydl-20200615.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8405c04e7f34ae08c975817307c7a915195ece15bd585f1b2982c7ca3b9a3e09
BLAKE2b-256 checksum
How to use checksums
3f58c4dea25e4060824e8d835751d287b9186f5466eb3df14b9ebfaf68de6db9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

Security for cs.app.ydl 20200615

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page