Metadata-Version: 2.4
Name: albums
Version: 0.1.19
Summary: Manage music albums, automatically correct tags, organize and sync copies with interactive command line interface.
License-Expression: GPL-3.0-or-later
License-File: COPYING
Keywords: flac,mp3,id3,vorbis,tags,music,library
Author: Ivan Cooper
Author-email: ivan@4levity.net
Requires-Python: >= 3.12
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Topic :: Utilities
Requires-Dist: click (>=8.3.1,<9.0.0)
Requires-Dist: humanize (>=4.15.0,<5.0.0)
Requires-Dist: mutagen (>=1.47.0,<2.0.0)
Requires-Dist: pathvalidate (>=3.3.1,<4.0.0)
Requires-Dist: pillow (>=12.1.0,<13.0.0)
Requires-Dist: platformdirs (>=4.5.1,<5.0.0)
Requires-Dist: prompt-toolkit (>=3.0.52,<4.0.0)
Requires-Dist: pyyaml (>=6.0.3,<7.0.0)
Requires-Dist: rich (>=14.2.0,<15.0.0)
Requires-Dist: rich-click (>=1.9.5,<2.0.0)
Requires-Dist: rich-pixels (>=3.0.1,<4.0.0)
Requires-Dist: scikit-image (>=0.26.0,<0.27.0)
Requires-Dist: xxhash (>=3.6.0,<4.0.0)
Project-URL: Changelog, https://4levity.github.io/albums/changelog/
Project-URL: Documentation, https://4levity.github.io/albums/
Project-URL: Homepage, https://github.com/4levity/albums
Project-URL: Issues, https://github.com/4levity/albums/issues
Project-URL: Repository, https://github.com/4levity/albums
Description-Content-Type: text/markdown

# albums

Manage a library of music: configurably validate and fix tags and metadata,
rename files, format and embed album art, and sync parts of the library to
digital audio players or portable storage

- [Read the documentation here](https://4levity.github.io/albums/)

## Overview

`albums` works with media files and tags, but primarily acts on "albums" rather
than individual files. Everything is done locally and an Internet connection is
not required. It's a command-line application that runs in a terminal, but it is
designed to be user friendly, with interactive menus, rich text formatting,
tables and even blocky graphics.

It scans the media library and creates a database to make subsequent operations
fast. It supports adding albums to "collections," for example to make a list of
albums to sync to a digital audio player. It can also perform the sync. It has
[many automated checks and fixes](https://4levity.github.io/albums/all_checks/)
for metadata related issues such as track numbering (sequence, totals, disc
numbers), album-artist tags, embedding cover art, etc.

## Why use `albums` instead of other music library tools?

Use them all, you don't have to decide. If you have missing metadata or
unidentified recordings and you want to use online databases to fill in the
blanks, [MusicBrainz Picard](https://picard.musicbrainz.org/) is good for that.
For editing tags with some fancy features and automation,
[puddletag](https://docs.puddletag.net/#) and
[MP3TAG](https://www.mp3tag.de/en/index.html) (proprietary but no cost for
Windows version) are nice, while [EasyTAG](https://wiki.gnome.org/Apps/EasyTAG)
is simple and quick.

`albums` has some functionality related to these tools, but a different focus.
Its main use is to find and fix metadata issues and apply tag/filename policies
one album at a time across a large collection that's mostly organized (or at
least in folders by albums). It does this with many individually-configurable
"checks" which are mostly independent, letting the user decide which issues to
address. And its DAP/external storage sync feature may prove useful.

## Supported Media

**FLAC**, **Ogg Vorbis**, **MP3/ID3** and **M4A** containers are supported.
**WMA** files are read but `albums` doesn't comprehend their tags yet so most
checks are skipped. JPEG, PNG and GIF files in the album folder are loaded as
candidates for cover art.

More formats and tag comprehension will likely be added if requested.

## System Requirements

Requires Python 3.12+. Primarily tested on Linux and Windows. Should work on
almost any 64-bit x86 or ARM system with Linux, macOS or Windows. (32-bit and
wider OS support possible by dropping `scikit-image` library used for measuring
image similarity.)

