Skip to main content

Python audio data toolkit (ID3 and MP3)

Project description

Status

Latest Version License Supported Python versions PyPI - Downloads GitHub Downloads (all assets, all releases) GitHub Repo stars

About

eyeD3 is a Python tool for working with audio files, specifically MP3 files containing ID3 metadata (i.e. song info).

It provides a command-line tool (eyeD3) and a Python library (import eyed3) that can be used to write your own applications or plugins that are callable from the command-line tool.

For example, to set some song information in an mp3 file called song.mp3:

$ eyeD3 -a Integrity -A "Humanity Is The Devil" -t "Hollow" -n 2 song.mp3

With this command we’ve set the artist (-a/--artist), album (-A/--album), title (-t/--title), and track number (-n/--track-num) properties in the ID3 tag of the file. This is the standard interface that eyeD3 has always had in the past, therefore it is also the default plugin when no other is specified.

The results of this command can be seen by running the eyeD3 with no options.

$ eyeD3 song.mp3
song.mp3      [ 3.06 MB ]
-------------------------------------------------------------------------
ID3 v2.4:
title: Hollow
artist: Integrity
album: Humanity Is The Devil
album artist: None
track: 2
-------------------------------------------------------------------------

The same can be accomplished using Python.

import eyed3

audiofile = eyed3.load("song.mp3")
audiofile.tag.artist = "Token Entry"
audiofile.tag.album = "Free For All Comp LP"
audiofile.tag.album_artist = "Various Artists"
audiofile.tag.title = "The Edge"
audiofile.tag.track_num = 3

audiofile.tag.save()

eyeD3 is written and maintained by Travis Shirk and is licensed under version 3 of the GPL.

Features

  • Python package (import eyed3) for writing applications and plugins.

  • eyeD3 : Command-line tool driver script that supports plugins.

  • Easy ID3 editing/viewing of audio metadata from the command-line.

  • Plugins for: Tag to string formatting (display), album fixing (fixup), cover art downloading (art), collection stats (stats), and json/yaml/jabber/nfo output formats, and more included.

  • Support for ID3 versions 1.x, 2.2 (read-only), 2.3, and 2.4.

  • Support for the MP3 audio format exposing details such as play time, bit rate, sampling frequency, etc.

  • Abstract design allowing future support for different audio formats and metadata containers.

Get Started

Python >= 3.10 is required.

For installation instructions or more complete documentation see https://eyed3.readthedocs.io/

Please post feedback and/or defects on the issue tracker, or mailing list.

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

eyed3-0.9.9.tar.gz (216.4 kB view details)

Uploaded Source

Built Distribution

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

eyed3-0.9.9-py3-none-any.whl (140.4 kB view details)

Uploaded Python 3

File details

Details for the file eyed3-0.9.9.tar.gz.

File metadata

  • Download URL: eyed3-0.9.9.tar.gz
  • Upload date:
  • Size: 216.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.24.0 CPython/3.13.7 Linux/6.17.8-arch1-1

File hashes

Hashes for eyed3-0.9.9.tar.gz
Algorithm Hash digest
SHA256 a8affaae19384aca66f6efef3babd705042a76e546f08e886f5f28691ac62a3b
MD5 dfe989444933d80c56ab1218bfaee174
BLAKE2b-256 eeaa5873b98fa5f570724a65757987c155dea68d27f0acae17da1b1ffc8cd0d2

See more details on using hashes here.

File details

Details for the file eyed3-0.9.9-py3-none-any.whl.

File metadata

  • Download URL: eyed3-0.9.9-py3-none-any.whl
  • Upload date:
  • Size: 140.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.24.0 CPython/3.13.7 Linux/6.17.8-arch1-1

File hashes

Hashes for eyed3-0.9.9-py3-none-any.whl
Algorithm Hash digest
SHA256 84c576c60c3e66b1be3d5c9ce942b690977692b91a19e4f55871f2956afc388c
MD5 a2a3fd80e88d06d095f67a555a2d6b28
BLAKE2b-256 967fb5b1b4c21dcb1eb1cc0d5a6d5d1eccc680fce7229d7ecd7719cbc1365495

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