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

Uploaded Python 3

File details

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

File metadata

  • Download URL: youtubesnoop-0.1.6.tar.gz
  • Upload date:
  • Size: 57.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for youtubesnoop-0.1.6.tar.gz
Algorithm Hash digest
SHA256 04f46685afe4d1113ed0bec6532982ae962595e80d0b57bd4e532e0e2983266d
MD5 99f25bc27b0b3113667fb5efed99452e
BLAKE2b-256 82cafc188fdb04cf66ef7b20b717062e0790f501b59b8c664c903dfb0e7d9fc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for youtubesnoop-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 97074eb126b39e7ef6cae064fbf003220b56133c5e3b0e51c84126ef2edb46b8
MD5 d3255a56813568dffef98c919d93093a
BLAKE2b-256 0851316c1fcb26855b11d6834b1d5919740b6898982c19b580976ed5beebf707

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