Skip to main content

A Python MPD client library

Project description

Build Status

python-mpd2 is a Python library which provides a client interface for the Music Player Daemon.

Difference with python-mpd

python-mpd2 is a fork of python-mpd. While 0.4.x was backwards compatible with python-mpd, starting with 0.5 provides enhanced features which are NOT backward compatibles with the original python-mpd package (see Porting Guide for more information).

The following features were added:

  • Python 3 support (but you need at least Python 3.6)

  • asyncio/twisted support

  • support for the client-to-client protocol

  • support for new commands from MPD (seekcur, prio, prioid, config, searchadd, searchaddpl, listfiles, rangeid, addtagid, cleartagid, mount, umount, listmounts, listneighbors)

  • remove deprecated commands (volume)

  • explicitly declared MPD commands (which is handy when using for example IPython)

  • a test suite

  • API documentation to add new commands (see Future Compatible)

  • support for Unicode strings in all commands (optionally in python2, default in python3 - see Unicode Handling)

  • configurable timeouts

  • support for logging

  • improved support for sticker

  • improved support for ranges

Getting the latest source code

If you would like to use the latest source code, you can grab a copy of the development version from Git by running the command:

$ git clone

Getting the latest release

The latest stable release of python-mpd2 can be found on PyPI


$ pip install python-mpd2

Installation in Linux/BSD distributions

Until Linux distributions adapt this package, here are some ready to use packages to test your applications:


Installing from source

To install python-mpd2 from source, simply run the command:

$ python install

You can use the –help switch to for a complete list of commands and their options. See the Installing Python Modules document for more details.



Getting Started

Command Reference



Just run:

$ python test

This will install Tox. Tox will take care of testing against all the supported Python versions (at least available) on our computer, with the required dependencies

If you have nix, you can also use the provided default.nix to bring all supported python versions in scope using nix-shell. In that case run tox directly instead of using

$ nix-shell --command 'tox'

Building Documentation

Install Sphinx:

$ easy_install -U Sphinx

Change to the source directory and run:

$ python ./ build_sphinx

The command reference is generated from the official mpd protocol documentation. In order to update it, install python-lxml and run the following command:

$ python ./doc/ > ./doc/topics/commands.rst

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

python-mpd2-3.1.0.tar.gz (58.3 kB view hashes)

Uploaded source

Built Distribution

python_mpd2-3.1.0-py2.py3-none-any.whl (34.9 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page