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)
| File | Size | Uploaded | |
|---|---|---|---|
| pythonscreenstackmanager-0.4.0.tar.gz | 1.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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