Python Music Daemon 0.3 review

by on

PyMusicD is yet another jukebox daemon written in python

License: Freely Distributable
File size: 13K
Developer: Zach White
0 stars award from

PyMusicD is yet another jukebox daemon written in python. It was born out of my frustration with the current mp3 jukeboxes, mostly the lack of features that I want. I've also been playing with python quite a lot lately, and this is my first attempt at a large project in python.

The player is being written to satisfy my own requirements for a car mp3 player, although there's no reason you couldn't use this for a home mp3 player, or work mp3 player.

It assumes that your network users are (mostly) benign, and doesn't take a lot of precautions against malicious users who want to screw with your mp3s. Take appropriate measures to only allow trusted users to play with it, at least until I secure it a bit better.

Its primary purpose is to run in the background, and play mp3s whenever they are in the playlist.


Unpack this to its own directory. Edit the 'pymusicd.conf' file to your liking. Run 'python PyMusicD', then run 'python pymusic' to play around with it. The client operates very similarly to most shells, and includes tab completion for commands (but not arguments... yet.)

If you wish to install this to the system, you may do so by running 'python install'. This will install the server binary in the default place for your platform (according to distutils.) You may then edit the config file (/etc/pymusicd.conf by default) and run the server by running 'PyMusicD'. The cli client will be named 'pymusic'.

This software is currently in development. It is not ready for end users yet. You should have familiarity with scripting in python before you set about to use this software. That being said, if you find bugs that aren't listed in TODO, and/or have problems with the software that aren't listed in TODO, email me ( and I'll see what I can do to help you. Code patches/suggestions are always welcome.

This is known to work on my Slackware 9.0 machine using the Python 2.2.2 package that came with it. I have also tested it on my Mac OSX 10.2.8 machine with Python 2.2. I have no reason to believe that it won't work on any machine with a Python 2.x interpreter and
either mpg123 or mpg321. Your mileage may vary. If it doesn't work on your platform, please let me know. My goal is to have this work on any platform that python runs on.

What's New in This Release:
Fixed a bug when adding an entire directory with %2A instead of *
Added a debug command to get server state, currently only playstatus is reported, will add more as needed.
Changed the way the stop command works to eliminate a bug.
Check to make sure a file exists before we add it to the playlist.
We no longer start playing music as soon as the playlist has entries.
Instead, we wait for a play command to be issued.
Added config file support. Defaults to /etc/pymusicd.conf or ./pymusicd.conf
Added a and setup.cfg file. Now users can install PyMusicD using the standard "python install" method that other scripts and modules use.

Python Music Daemon 0.3 search tags