displaypad-lib package
displaypad-lib provides a high-level, multi-page library for interacting with the Mountain DisplayPad device, built on top of displaypad-driver.
Acknowledgments
Multi-page layout engine design, auto-timeout page transitions, and responsive async rendering were built with inspiration from ramisotti13-eng/BaseCamp-Linux.
Key Features
- Multi-Page Layout Engine (
Page,PageManager): Create named 12-key pages with navigation stacks and auto-timeout transitions (mode: "after" | "idle"). See Page. - Key Abstractions (
displaypad_lib.key):Key(base class) — Implementrender(ctx: KeyContext)and optional lifecycle hooks (on_mount,on_press,on_release,on_double_press,on_long_press,on_tick).GifKey— Play animated GIFs at native frame rates with rotation support.IconKey— Static image icons with aspect-ratio scaling and margins.LabelKey— Dynamic centered text labels with customizable colors.FramerateLimitedKey— Rate-limited key rendering.LoggerKey— Diagnostics key logging presses and releases.
- Drawing Context (
KeyContext):- Isolated per-key PIL
Imagesurface with native PILImageDraw(ctx.draw) access, automatic tile clipping, and key-relative drawing primitives:center_text,text,rectangle,rounded_rectangle,ellipse,line,polygon,arc,fill,clear,paste_image,apply_alpha_mask. Supports bothcolorandfillparameter aliases.
- Isolated per-key PIL
- Async Queue & Hybrid Batch Rendering:
- Background thread drains key updates with frame deduplication. Single-key updates use fast per-button tile uploads; layout changes automatically batch update the full panel.
For documentation, see the project wiki.
For usage examples, see lib_example.py and clock.py.
Metadata
Release files for displaypad-lib 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| displaypad_lib-1.2.0.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| displaypad_lib-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.6 kB
Release files / displaypad_lib-1.2.0.tar.gz
| Download URL | displaypad_lib-1.2.0.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b16cac2b6dbd94e4ae73885212e527fc7123b5413f8d42ba511b78fb2ac4f048
|
|
BLAKE2b-256 checksum How to use checksums |
23efe2ebd2a480985a4f9fa39b3fc73f5b4d8d82a127b45e5fad5293705c2726
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.12.3 Linux/6.17.0-1022-azure
|
Release files / displaypad_lib-1.2.0-py3-none-any.whl
| Download URL | displaypad_lib-1.2.0-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ce1769a6c5cc6f78c4bd247503ae10c50423ac9054dd578ab3964bb20a9707c6
|
|
BLAKE2b-256 checksum How to use checksums |
76cd63adc774184e4d74da5001c6a403233d87497321c822ed87887719e807ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.12.3 Linux/6.17.0-1022-azure
|