rpi-display-core is a Python display framework for Raspberry Pi projects.
Today it supports SSD1306 and SH1106 OLED displays through dedicated backends under rpi_display.displays, while keeping the shared drawing and widget framework generic.
git clone https://github.com/andremmfaria/rpi-display-core.git
cd rpi-display-core
uv syncuv add rpi-display-coreImport it as:
from rpi_display import Runner, canvas
from rpi_display.displays.ssd1306 import SSD1306Displayrpi_display.displays.ssd1306.SSD1306Display— SSD1306 display wrapper for Raspberry Pirpi_display.displays.sh1106.SH1106Display— SH1106 display wrapper for Raspberry Picanvas(display)— context manager that creates a fresh PIL image and flushes it on exitRunner— simple fixed-FPS render loopMockDisplay— hardware-free test helper- Built-in widgets for text, progress bars, clocks, network info, system stats, and spinners
from rpi_display import Runner
from rpi_display.displays.ssd1306 import SSD1306Display
from rpi_display.widgets.clock import ClockWidget
Runner(SSD1306Display(), ClockWidget(), fps=1).run()from rpi_display.displays.ssd1306 import SSD1306Display
from rpi_display.displays.sh1106 import SH1106DisplayOther display chips can follow the same pattern under rpi_display.displays.
from rpi_display.widgets.text import Text, MultiLineText, ScrollingText
from rpi_display.widgets.shapes import ProgressBar
from rpi_display.widgets.clock import ClockWidget
from rpi_display.widgets.system import SystemStatsWidget
from rpi_display.widgets.network import NetworkWidget
from rpi_display.widgets.spinner import SpinnerThe repository includes ready-to-run examples in examples/:
01_hello_world.py02_system_stats.py05_animation.py07_clock.py09_systemd_service.py10_sh1106_system_stats.py
For wiring, I2C enablement, uv-based setup, and systemd instructions, see SETUP.md.
uv sync
uv run pytest
uv run ruff check .
uv run black --check .
uv run isort --check-only .
uv run mypyuv build
uvx twine check dist/*uv publish- Raspberry Pi focused
- SSD1306 and SH1106 support implemented today
- Architecture intended to grow to more display types later