Skip to main content

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) — Implement render(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 Image surface with native PIL ImageDraw (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 both color and fill parameter aliases.
  • 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)

Source distribution for displaypad-lib 1.2.0
File Size Uploaded
displaypad_lib-1.2.0.tar.gz 10.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for displaypad-lib 1.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

2.0.0

2 release files

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page