Skip to main content

YouTube video/music downloader with metadata tagging and cover art

Project description

YoutubeSnoop

A Youtube downloader of the highest quality


Installation

You can install it via pip:

$ pip install youtubesnoop

Prerequisites

  • ffmpeg must be installed and available in your PATH.

Usage

A simple command-line tool that downloads Youtube videos in the highest quality available.

Just provide a Youtube URL:

$ youtubesnoop https://www.youtube.com/watch?v=dQw4w9WgXcQ

It will download single tracks to this format:

{title}.flac

Downloading Album Playlists

Provide a playlist URL and it will create a folder for the artist and nest it with the year and album title:

{artist}/{year} - {albumTitle}

This fits my personal need to download albums from Youtube playlists.

Each track will be named like this:

{tracknumber}. {title}.flac

It will try to infer the metadata from the playlist and set it in the downloaded files. Otherwise it will prompt you for it. It uses the mutagen library to set the metadata with the help of musicbrainz to fix any mistakes. It uses musicbrainzngs to download cover art as Cover.jpg or Cover.png and place it in the folder and added to the metadata of each track.

Videos

It downloads as flac files per default but with the --video flag it will download the video as mp4 instead.


403 Forbidden Errors

Youtube constantly changes their API. The solution is likely to upgrade the yt-dlp dependency that this package uses under the hood.

Run:

$ pip install --upgrade youtubesnoop

Or:

$ pipx upgrade yt-dlp

Windows Note

It has been tested on Windows (Powershell) and MacOS.

For Powershell, remember to wrap the URL in quotes to avoid issues with special characters such as & being interpreted.

On Windows, don't use Git Bash since prompt_toolkit has issues with it ANSI escape codes etc.

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

youtubesnoop-0.1.7.tar.gz (57.0 kB view details)

Uploaded Source

Built Distribution

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

youtubesnoop-0.1.7-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file youtubesnoop-0.1.7.tar.gz.

File metadata

  • Download URL: youtubesnoop-0.1.7.tar.gz
  • Upload date:
  • Size: 57.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for youtubesnoop-0.1.7.tar.gz
Algorithm Hash digest
SHA256 db08122d7c136cdfdabdc6852852d1a1ea2d0e78d72c1b6180c029382cc4cd21
MD5 99b415941e7ea5cf3757e43a67359481
BLAKE2b-256 4d3610f28c755c7f69065d324d0ba7ef0d4ae4822977bc10fbb0ec6c040c5447

See more details on using hashes here.

File details

Details for the file youtubesnoop-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: youtubesnoop-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for youtubesnoop-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 929a51d7086c9849721a1a3b2947bacd90c0235b7f4fd6a3189af6cb2faf9242
MD5 d63c32a1b4d2cf1135bb32000d7254cc
BLAKE2b-256 4de7a625d205694bf04bb8d2f2971442742f09c7b9e36ac343b3207a93941e4a

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