Metadata-Version: 2.4
Name: albums
Version: 0.1.21
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, reformat and embed album art, import albums, 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 a folder or a media library and can create a database to make
subsequent operations fast. 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. 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.

## 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, potentially across a large collection. 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.)

