Skip to main content

A library that generates a gui in PIL Image objects.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pythonscreenstackmanager-0.3.5.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PythonScreenStackManager-0.3.5-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file pythonscreenstackmanager-0.3.5.tar.gz.

File metadata

  • Download URL: pythonscreenstackmanager-0.3.5.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pythonscreenstackmanager-0.3.5.tar.gz
Algorithm Hash digest
SHA256 6f9e8736cbde08343396013c6d8ab98720092d6d83928b8f96506975d1a632b2
MD5 dc05e3270adcefe7c5b80695d64e3213
BLAKE2b-256 9eafd89243dab2c738ae96ade5f0e788600b4dd74d5f25c42f1ef37dc0a3665c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pythonscreenstackmanager-0.3.5.tar.gz:

Publisher: publish.yml on Slalamander/PythonScreenStackManager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file PythonScreenStackManager-0.3.5-py3-none-any.whl.

File metadata

File hashes

Hashes for PythonScreenStackManager-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 97cb0e3d82f4e1d64ad1a773478a8a7c281cf3a337b2a2b9836f115ef3a2d573
MD5 b34fd05d54267cae92b77d228114dbae
BLAKE2b-256 3eec6ae672ffaca6f266b3985477a8f9b4338d0e568bb742cadf893a3d639f87

See more details on using hashes here.

Provenance

The following attestation bundles were made for PythonScreenStackManager-0.3.5-py3-none-any.whl:

Publisher: publish.yml on Slalamander/PythonScreenStackManager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page