Audio and video · Edition No. 47 · 11 Oct 2026

nicfit/eyeD3

Reads and rewrites the artist, album and title tags inside MP3 files, from the command line or from a script.

← Audio and videoRead the whole edition →
12

nicfit/eyeD3

💎 hidden gem

640 stars · GPL-3.0, read from /blob/0.9.x/LICENSE, the plain unmodified FSF text. The README and docs say 'version 3 of the GPL' while the link beside that text points at a GPL-2.0 page; the file settles it as version 3, and the broken link is a documentation defect rather than a licence ambiguity · v0.9.9 (2025-11-16) — THE YEAR TRAP. /releases/latest read '16 Nov', which would have been recorded as 2026 and ~11 months too new. pypi.org/project/eyeD3/ dates 0.9.9 to 16 November 2025 and settled it. ungh's releases endpoint refused this row · Track this in Scout

Reads and rewrites the artist, album and title tags inside MP3 files, from the command line or from a script.

▶Repo detailsthe review · specs · pros & cons · install

What it does

You run eyeD3 with a file name and it prints that file's tag: artist, album, title, track, and the audio details such as play time, bit rate and sampling frequency. Pass options and it writes the values back into the file. It supports four families of tag format — version 1.x, version 2.2 as read-only, and versions 2.3 and 2.4 — and it ships fourteen plugins for particular jobs, including extracting and setting cover art, generating statistics across a music collection, fixing up a directory, and writing the tag out as JSON or YAML. It is also importable as a Python module, so a script can do the same work in a loop. What it does not do is handle anything but MP3: the documentation describes MP3 and ID3 only, and frames other audio formats as a future possibility rather than a current feature. It also cannot write version 2.2 tags, only read them.

Why it matters

Who it suits. Anyone with a music folder that was assembled over twenty years from a dozen sources, with tags to match. It is at its best in a script: read a thousand files, fix one field, write them back. Skip it if your music is in FLAC, Ogg, M4A or anything else, because none of those are supported, and skip it if you want a window to click in rather than a command to type.

Verdict. Worth twenty minutes if the folder is a mess, and it is the smallest project in this edition at 640 stars. Two facts to hold together. Releases are slow and uneven: there was a gap of about three years between October 2022 and April 2025, and the newest release, 0.9.9, is dated 16 November 2025. But code landed on 26 May 2026, so the project is not dormant and this report does not call it so — a release date is not a code date, and the newer of the two is the one that counts. The licence is GPL-3.0, read from the file and completely unmodified, which matters if you plan to link the library into something you distribute: the documentation's own text says version 3 while the link beside it points at version 2, and the file settles it as version 3. If you need more than MP3, quodlibet/mutagen is the Python library that handles many formats, and it took code on 20 August 2026.

Stars640
LicenceGPL-3.0, read from /blob/0.9.x/LICENSE, the plain unmodified FSF text. The README and docs say 'version 3 of the GPL' while the link beside that text points at a GPL-2.0 page; the file settles it as version 3, and the broken link is a documentation defect rather than a licence ambiguity
Latestv0.9.9 (2025-11-16) — THE YEAR TRAP. /releases/latest read '16 Nov', which would have been recorded as 2026 and ~11 months too new. pypi.org/project/eyeD3/ dates 0.9.9 to 16 November 2025 and settled it. ungh's releases endpoint refused this row
Good
  • GPL-3.0 licence, read from the file and plain, with the project maintained by a named individual since 2017.
  • Fourteen plugins for specific jobs, including cover art, collection statistics and exporting a tag as JSON.
  • Both a command you type and a Python module you import, so one install covers one-off fixes and bulk scripts.
Watch for
  • MP3 only. No FLAC, no Ogg, no M4A, and no metadata format other than ID3.
  • Version 2.2 tags can be read but not written, and the newest release is from 16 November 2025.
  • The project's own sources disagree about which Python version is needed: the README says 3.10 or newer, the documentation says 3.9, and an installation page still mentions 3.7.
Similar repositories
Install
python3 -m venv venv
source venv/bin/activate
pip install eyeD3
# Read one file's tag
eyeD3 song.mp3
# Write some fields
eyeD3 --artist "Some Artist" --album "Some Album" --title "Some Title" --track 3 song.mp3

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.