The plan is to start working towards a rewrite of xdg-utils in python, focusing on the really bad bits such as dealing with desktop files and mime handling.

In this hackweek, I want to split python-xdg into multiple libraries such as python-mime and python-desktop file and prepare them to be used in helper binaries to handle some of the more complex tasks currently done in shell.

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 19


  • about 4 years ago: simotek started this project.
  • about 4 years ago: mvidner liked this project.
  • about 4 years ago: simotek originated this project.

  • Comments

    • mvidner
      about 4 years ago by mvidner | Reply

      Interesting! Some time ago I wanted XDG logic in a (Ruby) script of mine, and the API was awful. I hope the Python lib is better. Anyway, links:

    • simotek
      about 4 years ago by simotek | Reply

      Yeah i've spoken with the main author of and we decided the best way forward was to work toward a v2 of the library that splits it up better, into things like mime, desktop etc.

    • bmwiedemann
      about 4 years ago by bmwiedemann | Reply

      Be sure to keep the startup time small. E.g.

      time ruby --disable-gems -e 'puts "hello"'


      time python3 -S -c 'print("hello")'

      are still a factor of 3-4 slower than the equivalent in bash or perl.

    Similar Projects

    This project is one of its kind!