Skip to main content
Release files added late

4 files were added to this release more than 14 days after its initial publication. Inspect the release files before installing.

pytaglib – TagLib bindings for Python

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).

Note: All strings in the tag dictionary are unicode strings (type str in Python 3 and unicode in Python 2). On the input side, however, the library is rather permissive and supports both byte- and unicode-strings. Internally, pytaglib converts
all strings to UTF-8 before storing them in the files.

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
Note: The taglib Python extension is built from the file taglib.cpp which in turn is
auto-generated by Cython from taglib.pyx. To re-cythonize this file
instead of using the shipped taglib.cpp, invoke setup.py with the --cython option.

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.

  1. Install Microsoft Visual Studio 2015 Community Edition. In the installation process, be sure to enable C/C++ support.

  2. Download and build taglib:

    1. Download the current taglib release and extract it somewhere on your computer.

    2. 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

    3. 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.

    4. Type msbuild INSTALL.vcxproj /p:Configuration=Release which will “install” taglib into the taglib-install subdirectory.

  3. Still in the VS2015 command prompt, navigate to the pytaglib directory.

  4. Tell pytaglib where to find taglib: set TAGLIB_HOME=C:\Path\To\taglib-install

  5. Build pytaglib: python setup.py build and install: python setup.py install

pyprinttags

This package also installs the small script pyprinttags. It takes one or more files as
command-line parameters and will display all known metadata of that files on the terminal.
If unsupported tags (a.k.a. non-textual information) are found, they can optionally be removed
from the file.

Contact

For bug reports or feature requests, please use the
issue tracker on GitHub. For anything else, contact
me by email.

Metadata

Release files for pytaglib 1.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Files added late

4 files were uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release files before installing.

Source distribution (sdist)

Source distribution for pytaglib 1.4.1
File Size Uploaded Provenance Actions
pytaglib-1.4.1.tar.gz 108.6 kB Without provenance Details for pytaglib-1.4.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pytaglib 1.4.1
File Actions
pytaglib-1.4.1-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details for pytaglib-1.4.1-cp36-cp36m-win_amd64.whl
pytaglib-1.4.1-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details for pytaglib-1.4.1-cp36-cp36m-win32.whl
pytaglib-1.4.1-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details for pytaglib-1.4.1-cp35-cp35m-win_amd64.whl
pytaglib-1.4.1-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details for pytaglib-1.4.1-cp35-cp35m-win32.whl

Total release size: 1.1 MB

Release files / pytaglib-1.4.1.tar.gz

Download URL pytaglib-1.4.1.tar.gz
Size 108.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c374ab6a236db4711f10e3afb40e68982918aa8ee8eee165dbeab7ed49589b50
BLAKE2b-256 checksum
How to use checksums
98eeed8abae88bc77de9c8d6de164c6450ab2563c45c73645347b5ddc4b3023b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pytaglib-1.4.1-cp36-cp36m-win_amd64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL pytaglib-1.4.1-cp36-cp36m-win_amd64.whl
Size 287.7 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
c3f31d9df5aa2e80ca4a4f36a4bca8976524c1b9c20b36bab1b52abc5a33126a
BLAKE2b-256 checksum
How to use checksums
781ed1fdd88983e47984304c40e34a2389ca70b7a399b8f8f2c04791168f5162
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pytaglib-1.4.1-cp36-cp36m-win32.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL pytaglib-1.4.1-cp36-cp36m-win32.whl
Size 229.6 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
6c69037a028de7627b51bec746dc9b975ced9194900de78ed8dc80c4ee0a6f9e
BLAKE2b-256 checksum
How to use checksums
38804b3c86fc3bb542593b29e3b4a2a1aa7b3d03d46b7775f0d9bb9e3cc895ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pytaglib-1.4.1-cp35-cp35m-win_amd64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL pytaglib-1.4.1-cp35-cp35m-win_amd64.whl
Size 284.2 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
d534dcef70d5a3d46b58d2f39c99fdb1795aed81e97f2e7bc15e23ccb97ec2e8
BLAKE2b-256 checksum
How to use checksums
05c68d6f6c521127ece241d670e3c13eefbc7775f7fabcd3d14e274633877dd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pytaglib-1.4.1-cp35-cp35m-win32.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL pytaglib-1.4.1-cp35-cp35m-win32.whl
Size 226.8 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
599b6642ac890d629235812e179f28e9a5ebf7e6289d19165bcd5284afdd0224
BLAKE2b-256 checksum
How to use checksums
c5464b8fcb739b6dc45432277e13dadad960428b56d414643232fff6908682d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for pytaglib 1.4.1

Upload timing

Release files added late

4 files were uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.


Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.4.1 This release

5 release files No provenance

0.2.2

0.0.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page