Skip to main content

Getting python-musicpd

The latest release of python-musicpd can be found at http://pypi.python.org/pypi/python-musicpd.

Getting the latest source code

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

git clone git://git.kaliko.me/python-musicpd.git

Installing from source

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

python3 setup.py install

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

Using the client library

The client library can be used as follows:

client = musicpd.MPDClient()       # create client object
client.connect('localhost', 6600)  # connect to localhost:6600
print client.mpd_version           # print the mpd version
print client.cmd('one', 2)         # print result of the command "cmd one 2"
client.close()                     # send the close command
client.disconnect()                # disconnect from the server

A list of supported commands, their arguments (as MPD currently understands them), and the functions used to parse their responses can be found in doc/commands.txt. See the MPD protocol documentation for more details.

Command lists are also supported using command_list_ok_begin() and command_list_end()

client.command_list_ok_begin()       # start a command list
client.update()                      # insert the update command into the list
client.status()                      # insert the status command into the list
results = client.command_list_end()  # results will be a list with the results

Provide a 2-tuple as argument for command supporting ranges (cf. MPD protocol documentation for more details). Possible ranges are: “START:END”, “START:” and “:”

# An intelligent clear
# clears played track in the queue, currentsong included
pos = client.currentsong().get('pos', 0)
# the 2-tuple range object accepts str, no need to convert to int
client.delete((0, pos))
# missing end interpreted as highest value possible, pay attention still need a tuple.
client.delete((pos,))  # purge queue from current to the end

A notable case is the rangeid command allowing an empty range specified as a single colon as argument (i.e. sending just “:”):

# sending "rangeid :" to clear the range, play everything
client.rangeid(())  # send an empty tuple

Empty start in range (i.e. “:END”) are not possible and will raise a CommandError.

Commands may also return iterators instead of lists if iterate is set to True:

client.iterate = True
for song in client.playlistinfo():
    print song['file']

Each command have a send_<CMD> and a fetch_<CMD> variant, which allows to send a MPD command and then fetch the result later. This is useful for the idle command:

>>> client.send_idle()
# do something else or use function like select()
# http://docs.python.org/howto/sockets.html#non-blocking-sockets
# ex. select([client], [], [])
>>> events = client.fetch_idle()

# more complex use for example, with glib/gobject:
>>> def callback(source, condition):
>>>    changes = client.fetch_idle()
>>>    print changes
>>>    return False  # removes the IO watcher

>>> client.send_idle()
>>> gobject.io_add_watch(client, gobject.IO_IN, callback)
>>> gobject.MainLoop().run()

Contacting authors

You can contact the original author by emailing J. Alexander Treuman <jat⊘spatialrift.net>. He can also be found idling in #mpd on irc.freenode.net as jat.

The current maintainer can be found on xmpp chat room <kaliko.me⊘conf.azylum.org> or you can contact him by email/xmpp <kaliko⊘azylum.org>.

Metadata

Release files for python-musicpd 0.4.2

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

Source distributions (sdists)

Source distribution for python-musicpd 0.4.2
File Size Uploaded
python-musicpd-0.4.2.zip 27.2 kB Details
python-musicpd-0.4.2.tar.gz 23.0 kB Details
python-musicpd-0.4.2.tar.bz2 20.9 kB Details

Release files / python-musicpd-0.4.2.zip

Download URL python-musicpd-0.4.2.zip
Size 27.2 kB
Tags Source
SHA-256 checksum
How to use checksums
760c9edc37dbe4df35118aebbfa632c25010a58728e082b7c6b54570dbd05b2c
BLAKE2b-256 checksum
How to use checksums
9b265353eddd8ac464c760aa8542a9093d3ec0ee28889a3eb608f0a8589583fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / python-musicpd-0.4.2.tar.gz

Download URL python-musicpd-0.4.2.tar.gz
Size 23.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ce9b648921c16bbd05c622cc6c915d3e86e4c97373d2b2be8222c5679890045b
BLAKE2b-256 checksum
How to use checksums
f468d008e6db5c327bb52f50be08d208caaa326f3c2326254dc161f24fb4a4ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / python-musicpd-0.4.2.tar.bz2

Download URL python-musicpd-0.4.2.tar.bz2
Size 20.9 kB
Tags Source
SHA-256 checksum
How to use checksums
72d6cc60340659b30ff9fe21695503c7079a2f976f48aa822b730f61a1bf0f40
BLAKE2b-256 checksum
How to use checksums
7d779171993747c9c39a3129b70eaf94270c7d62a421b6ab7a373dfb75d92d1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

This release

0.4.2 This release

3 release files

0.4.1

3 release files

0.4.0

3 release files

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