luma.core is a component library providing a Pillow-compatible drawing canvas, and other functionality to support drawing primitives and text-rendering capabilities for small displays on the Raspberry Pi and other single board computers:

  • scrolling/panning capability,
  • terminal-style printing,
  • state management,
  • color/greyscale (where supported),
  • dithering to monochrome,
  • sprite animation,
  • flexible framebuffering (depending on device capabilities)

Device drivers extend luma.core to provide the correct initialization sequences for specific physical display devices/chipsets.

There are several drivers for different classes of device available:

There are emulators that run in real-time (with pygame) and others that can take screenshots, or assemble animated GIFs, as per the examples below (source code for these is available in the luma.examples directory:

clock invaders crawl