Like the Twisted asynchronous network framework, Sparked is a python library and an application runner in one. Some of its features follow here:
Robust startup and restart of the program; if it crashes, it's started again.
Logging: keeps a rotated logfile for debugging purposes.
Pidfile management for making sure your app starts only once.
A GUI status window (based on GTK) for monitoring the state of the application and the state of the system (network, power supply, ...). Easy to add your own monitors.
Fullscreen graphics display for creating interactive displays, based on the clutter library.
Eventing system for broadcasting messages between sparked components.
A state machine for guiding the application through different states, with callback functions.
Possibility to run the sparked application as a twisted plugin for server applications, including a generic init.d startup script.
Plug-and-play support for hardware: automatically start and stop parts of the program when hardware is added or removed.