luma.core is a component library providing a Pillow-compatible drawing canvas for Python 3, 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