Skip to main content

YouTube Music Manager CLI

Project description

yt-aug — YouTube Augment

Download audio from YouTube videos and playlists — from the command line.

Install

pip install yt-aug

Requires Python 3.13+.

System Requirements

yt-aug uses yt-dlp under the hood, which needs the following installed on your machine:

Binary Purpose Windows macOS Linux
ffmpeg Audio extraction/conversion winget install ffmpeg brew install ffmpeg sudo apt install ffmpeg
deno or node (≥ 20) JS runtime for YouTube challenge solving winget install deno brew install deno curl -fsSL https://deno.land/install.sh | sh

Usage

download <url>

Downloads audio from a YouTube video or playlist. Extracts best available audio and converts to m4a at 192kbps via FFmpeg.

ytaug download "https://youtube.com/watch?v=..." -o ~/Music
ytaug download "https://youtube.com/playlist?list=PL..." -o ~/Music
ytaug download "https://music.youtube.com/playlist?list=PL..."

Before downloading, ytaug will:

  1. Check for a JS runtime and ffmpeg
  2. Fetch the URL metadata (title, type, track count for playlists)
  3. Ask for confirmation

For playlists, files are organized into a subfolder named after the playlist.

Flag Short Description
--output -o Output directory (default: current directory)

Development

# Install with dev dependencies
uv sync

# Run tests
uv run pytest

# Run unit tests only
uv run pytest tests/unit

# Run integration tests only (requires JS runtime + ffmpeg + network)
uv run pytest tests/integration -m integration

Architecture

src/ytaug/
├── main.py         Typer CLI entry point (orchestration + user I/O)
├── download.py     yt-dlp wrapper (system checks, URL validation, metadata, downloads)
└── exceptions.py   YTAugError hierarchy
  • main.py handles all CLI interaction (prompts, messages, exits)
  • download.py is pure logic with no console output
  • All library functions raise YTAugError subclasses on operational failure

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

yt_aug-0.1.1.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

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

yt_aug-0.1.1-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file yt_aug-0.1.1.tar.gz.

File metadata

  • Download URL: yt_aug-0.1.1.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for yt_aug-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ab93b7fae92b75b4d1da492d6b0f279e25a49ab514c21bd6da9b3345ad5b6915
MD5 54ba49f6c56a6c3ef932eed9b263ca04
BLAKE2b-256 5c139274e29a4fb346dbdba12069c022fc1d1ac961ea81a01dbd93250d6b246a

See more details on using hashes here.

File details

Details for the file yt_aug-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: yt_aug-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for yt_aug-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c73965569fe2bcbddd5fcf4b6399ff7cecf303c218c3398dcb4aab7439e01e96
MD5 653bc8ed50c07ebb8f7b1086363893ab
BLAKE2b-256 5aa665ef5b87ce55b5f818d6eefbf30d21cd1a90d550997a17362ffb45862712

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