Skip to main content

Python Screen Stack Manager

Python Screen Stack Manager creates image based user interfaces by layering images. This means that in general, it is not the most efficient way of building an interface. However, it was originally designed to run on Kobo devices, which do not come with a window manager interface (At least that I know of). This means libraries like tkinter do not work, which is where pssm comes in. Since it simply generates images, as long as the device it is running on has a way to print pixel data onto the screen (and run Python code), it should be able to show pssm based interfaces.

The pip install does not come with this functionality however. It provides the bare bones to work with it, which in this case means a tkinter based window that prints the interface. PSSM is simply meant as the interface library. inkBoard (link coming) is meant to be the managing software integrating the devices.

It comes with a relatively robust set of premade elements, which can be used for a basic interface, however they can also be extended (for that, see the Home Assistant inkBoard integration, for example). You can also add the folders /fonts, /icons and /pictures to the directory you are running from, and when referencing a font for a button, for example, PSSM will look in that folder for the font file.

I have not done extensive testing with pssm outside of inkBoard, so I cannot promise everything will work standalone out of the box. This mainly pertains to instantiating various Elements which declare async classes inside their __init__, which may cause issues when no event loop is running yet. If you run into problems like this, please open an issue with the problematic element and the logs. Generally though, if the screen is declared before any elements, this should function fine.

Install

pip install PythonScreenStackManager

Documentation

WIP

Examples

See pssm_example.py. This can also be run by invoking python -m PythonScreenStackManager. It runs the previously mentioned tkinter based interface, and provides a simply grey square that shows the coordinates you clicked on when interacting with it.

Metadata

Release files for PythonScreenStackManager 0.4.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 PythonScreenStackManager 0.4.0
File Size Uploaded
pythonscreenstackmanager-0.4.0.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for PythonScreenStackManager 0.4.0
File Interpreter ABI Platform
PythonScreenStackManager-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.7 MB

Release files / pythonscreenstackmanager-0.4.0.tar.gz

Download URL pythonscreenstackmanager-0.4.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
b7cdd794c4111a3dc499c9a21a78d653c96ac9ad4e82e9bdf36792b6eae8e915
BLAKE2b-256 checksum
How to use checksums
b6a13de3b7d8d5a2acd9086df6e542e68ab1284b660181fe3810a7778f87d391
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 9, 2025.

Transparency log

Release files / PythonScreenStackManager-0.4.0-py3-none-any.whl

Download URL PythonScreenStackManager-0.4.0-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3a730fb2e8d628c1b984d0b6b9c021050c9896d0961caf20db528727cf83aa91
BLAKE2b-256 checksum
How to use checksums
7779177a51b17e1dc57edbf63ed0fab8bbf0497e9d86d29199d57706a55a9ce9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 9, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.1

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