Clone wiki

dnuos / Home


Dnuos is a tool for making summaries of music collection metadata. Dnuos is free software distributed under the GNU/GPL licence.


See for releases and other files.


In 2003, Sylvester Johansson and I (Mattias Päivärinta) were using Audiolist. It lacked some features, and the way I remember things the source wasn't available to us at the time. In any case we decided to replace and supersede Audiolist with a tool of our own making. This initiative resulted in Oidua. Its superior speed turned out to be a killer feature. After a while we sort of forgot about it.

Brodie Rao stepped in, forked Oidua as Dnuos and assumed maintainence. Later Brodie and I got in touch. I wanted to factor away some old Oidua spaghetti, Brodie wanted some new features. I just went right ahead as I found the time, and here we are.


New in 1.0

  • Python 2.3 or newer is required.
  • Mercurial is used for revision control. (We used to use Darcs.)
  • Caches audio metadata, making list generation speedy on subsequent runs.
  • AAC bitrate calculation works for the first time ever.
  • Includes a fairly expansive functional test suite.
  • Supports setuptools (as well as vanilla distutils).
  • Now uses optparse for command line argument handling.
  • Most of the code outside has gone through massive refactoring.
  • The conf module is now orthogonal to the rest of the application.
  • The audiodir and audiotype modules are now usable as stand-alone modules. (Their respective APIs will most likely change a lot in version 1.1.)
  • Includes a French translation, as well as the framework for adding other translations (using gettext).
  • Better support for Unicode path names on Windows, and better support for printing Unicode characters. (Prints UTF-8 unconditionally - even if the terminal doesn't support it!)

For 1.1

  • Migrating to Mutagen in favor of our own At the moment Mutagen lacks some features important to us.
  • Refactoring the output code further.
  • Official GUI front-ends for Windows, Linux, and OS X.


Clone the master repository with the following command:

hg clone dnuos

Try out some unit tests:

cd dnuos
python test

Note: You'll also need the test data in the same directory to successfully run most of the tests.

If you make any meaningful changes, please file a ticket.