Like the Twisted asynchronous network framework, Sparked is a python library and an application runner in once. 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 spark modules.
  • 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.