enigma2 is a framebuffer-based zapping application (GUI) for linux. It's targeted to real set-top-boxes, like the DM7025, but would also work on regular PCs. Enigma2 is based on the Python programming language with a backend written in C++. It uses the [LinuxTV DVB API], which is part of a standard linux kernel.
Enigma2 can also be controlled via an Enigma2:WebInterface.
Enigma2 is in production usage on the DM7025, DM800 and DM8000. Ports exist for the DM7020 and probably other dreambox models. Enigma2 can also work with SDL, though some additional work is required to make it really usable on a PC.
Python API Documentation
A Documentation for the Python API is available at http://dream.reichholf.net/pydoc/html/index.html.
The Documentation is automatically being updated on a daily base.
You can get the newest version by using Git:
$ git clone git://git.opendreambox.org/git/enigma2.git
Also there is a Git web view at http://git.opendreambox.org/?p=enigma2.git .
As enigma2 is used on a commercial platform, write access is not available for everyone. Instead, patches must be sent to the enigma2-devel mailing list (see below), and you must acknowledge the special License. This does obviously not apply to plugins, which can be licesed with any (even closed source) license, and should be put into the CVS on http://schwerkraft.elitedvb.net/ which provides a home for your projects. You can either join the enigma2-plugins project (if you want other people to have write access to your plugin), or as a seperate project (where you can control everything on your own). Of course you are also free to host plugins wherever you want.
See the included README file.
How to Help
enigma2 CVS commit mailing list - if you want to track enigma2 development.
enigma2 developer mailing list - please ask your development related questions here.
 - externally developed plugins can be hosted here.