cross-platform, Python 2.x/3.x audio metadata ("tagging") library based on TagLib
Project description
Overview
pytaglib is a full-featured, easy-to-use, cross-platform audio metadata (“tag”) library for Python (all versions supported). It uses the popular, fast and rock-solid TagLib C++ library internally; pytaglib is a very thin wrapper about TagLib (<150 lines of code), meaning that you immediately profit from the underlying library’s speed and stability.
Features include support of more than a dozen file formats, arbitrary tag names, and multiple values per tag.
Usage Example
Open a file and read its tags:
>>> import taglib >>> song = taglib.File("/path/to/my/file.mp3") >>> song.tags {'ARTIST': ['piman', 'jzig'], 'ALBUM': ['Quod Libet Test Data'], 'TITLE': ['Silence'], 'GENRE': ['Silence'], 'TRACKNUMBER': ['02/10'], 'DATE': ['2004']}
Read some additional properties of the file:
>>> song.length 239 >>> song.channels 2
Change the file’s tags:
>>> song.tags["ALBUM"] = ["White Album"] # always use lists, even for single values >>> del song.tags["DATE"]
Multiple values per tag:
>>> song.tags["GENRE"] = ["Vocal", "Classical"]
Non-standard tags:
>>> song.tags["PERFORMER:HARPSICHORD"] = ["Ton Koopman"]
Save your changes:
>>> returnvalue = song.save() >>> returnvalue {}
The dictionary returned by save contains all tags that could not be saved (might happen if the specific format does not support e.g. multi-values).
Installation
The most recommended installation method is
pip install pytaglib
subject to the following notes:
Ensure that pip points to the correct Python version; you might need to use, e.g., pip-3.5 if you want to install pytaglib for Python 3.5 and your system’s default is Python 2.7.
You may need administrator rights to install a package, i.e., sudo pip install pytaglib on Unix or running the command on a Admin console on windows
Alternatively, install locally into your user home with pip install --user pytaglib.
You need to have taglib installed with development headers (package libtag1-dev for debian-based linux, brew install taglib on OS X).
If taglib is installed at a non-standard location, you can tell pip where to look for its include (-I) and library (-L) files:
pip install --global-option=build_ext --global-option="-I/usr/local/include/" --global-option="-L/usr/local/lib" pytaglib
If the above does not work, continue reading for alternative methods of installation.
Linux / Unix
Distribution-Specific Packages
Debian- and Ubuntu-based linux flavors have binary packages for the Python 3 version, called python3-taglib. Unfortunatelly, they are heavily outdated, so you should use the above “pip” method whenever possible.
For Arch users, there is a package in the user repository (AUR) which I try to keep up-to-date.
Manual Compilation
Alternatively, you can download / checkout the sources and compile manually:
python setup.py build python setup.py test # optional sudo python setup.py install
You can manually specify taglib’s include and library directories:
python setup.py build --include-dirs /usr/local/include --library-dirs /usr/local/lib
Windows
Currently, the PyPI archive contains a binary version only for Python3.5/x64. For different combinations of Python version and architecture, you need to build yourself.
Note: The following procedure was tested for Python 3.5 on x64 only. Other python versions probably require some more work; see e.g. this page.
Install Microsoft Visual Studio 2015 Community Edition. In the installation process, be sure to enable C/C++ support.
Download and build taglib:
Download the current taglib release and extract it somewhere on your computer.
Start the VS2015 x64 Native Tools Command Prompt. On Windows 8/10, it might not appear in your start menu, but you can find it here: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2015\Visual Studio Tools\Windows Desktop Command Prompts
Navigate to the extracted taglib folder and type: cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=".\taglib-install" to generate the Visual Studio project files.
Type msbuild INSTALL.vcxproj /p:Configuration=Release which will “install” taglib into the taglib-install subdirectory.
Still in the VS2015 command prompt, navigate to the pytaglib directory.
Tell pytaglib where to find taglib: set TAGLIB_HOME=C:\Path\To\taglib-install
Build pytaglib: python setup.py build and install: python setup.py install
Contact
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pytaglib-1.4.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3f31d9df5aa2e80ca4a4f36a4bca8976524c1b9c20b36bab1b52abc5a33126a |
|
MD5 | 8a54d0c49028a16fd2f72ce64e9577dc |
|
BLAKE2b-256 | 781ed1fdd88983e47984304c40e34a2389ca70b7a399b8f8f2c04791168f5162 |
Hashes for pytaglib-1.4.1-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c69037a028de7627b51bec746dc9b975ced9194900de78ed8dc80c4ee0a6f9e |
|
MD5 | fcb9f4f8b6f68efd9ef9ee7a0f2dc62c |
|
BLAKE2b-256 | 38804b3c86fc3bb542593b29e3b4a2a1aa7b3d03d46b7775f0d9bb9e3cc895ec |
Hashes for pytaglib-1.4.1-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d534dcef70d5a3d46b58d2f39c99fdb1795aed81e97f2e7bc15e23ccb97ec2e8 |
|
MD5 | ab237ce87907ab5e78fcfbea3adb34df |
|
BLAKE2b-256 | 05c68d6f6c521127ece241d670e3c13eefbc7775f7fabcd3d14e274633877dd6 |
Hashes for pytaglib-1.4.1-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 599b6642ac890d629235812e179f28e9a5ebf7e6289d19165bcd5284afdd0224 |
|
MD5 | 8c089d9622e978da18db15c91b7132ed |
|
BLAKE2b-256 | c5464b8fcb739b6dc45432277e13dadad960428b56d414643232fff6908682d0 |