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.0.tar.gz (4.9 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.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yt_aug-0.1.0.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","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.0.tar.gz
Algorithm Hash digest
SHA256 7e2a973bbc43650336998b67398384e09965758848d8759eb8d22395af2e9cbd
MD5 379d92a688d893b2c52dc4c3109be8e7
BLAKE2b-256 72a942994b047286a1c4f2bef352c34953b664ca8a0af948806cbb1f81dc4881

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yt_aug-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 595ae58f165b81231110b507e1497d64ba2c6c5decfaa7f5b39062534cfd4873
MD5 ce99acfe4f40ce41faa7c1c23075af36
BLAKE2b-256 f07824ecf704842bc19687a4b3ecbf30a3fa5adfe126588410f038603a8dd7e7

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