GUI sdk for Ubo Pod
Project description
Ubo GUI
GUI sdk for Ubo Pod
📋 Requirements
📦 Installation
You can install it using this handle: headless-kivy-pi@git+https://github.com/ubopod/ubo-gui.git
# pip:
pip install headless-kivy-pi@git+https://github.com/ubopod/ubo-gui.git
🛠 Usage
Checkout Ubo App to see a sample implementation.
🤝 Contributing
You need to have uv installed on your machine.
To install the required dependencies, run the following command in the root directory of the project:
uv sync
You can run linter over whole codebase by running this command:
uv run poe lint
Subscriptions
The subscriptions are divided into three groups:
- Screen subscriptions are those assigned to a particular stack item, but their handlers doesn't change anything in the
StackItem
itself. The handler just changes something on the rendered screen and if that stack item is not visible, the handler doesn't need to be called. Therefore these subscriptions are cleared when the current screen is changed. Samples:items
of the currently visible menutitle
of the currently visible screen
- Menu subscriptions are those assigned to a particular menu. Like screen subscriptions, they are cleared when the current screen is changed. They also get cleared when the menu is scrolled.
Samples:
heading
of a headed menusub_heading
of a headed menuplaceholder
of a menu
- Stack item subscriptions are those assigned to a particular stack item. They are cleared when the stack item is popped. They stay alive as long as the stack item is in the stack, even if it is in the background.
In other words, unlike the other two, they are not cleared when, for example, a sub-menu or an application is opened on top of the current stack item.
Samples:
menu
of an item
⚠️ Important Note
Make sure to run uv run poe download_font
to download Material Symbols font.
🔒 License
This project is released under the Apache-2.0 License. See the LICENSE file for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ubo_gui-0.13.8.tar.gz
.
File metadata
- Download URL: ubo_gui-0.13.8.tar.gz
- Upload date:
- Size: 8.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ee2df9dffb6f45121304a31b53c0393b63b556cd545145513fadccdcd737dc1 |
|
MD5 | b175c2c299c9b6d9a0ef1690f34807fc |
|
BLAKE2b-256 | b0c21047a96aacce9d904eea18040afaf05e9222ac2b3ede16a991f87c76fc79 |
Provenance
The following attestation bundles were made for ubo_gui-0.13.8.tar.gz
:
Publisher:
integration_delivery.yml
on ubopod/ubo-gui
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
ubo_gui-0.13.8.tar.gz
- Subject digest:
3ee2df9dffb6f45121304a31b53c0393b63b556cd545145513fadccdcd737dc1
- Sigstore transparency entry: 151770823
- Sigstore integration time:
- Predicate type:
File details
Details for the file ubo_gui-0.13.8-py3-none-any.whl
.
File metadata
- Download URL: ubo_gui-0.13.8-py3-none-any.whl
- Upload date:
- Size: 8.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55989bbab4596891931c983daef1cad68c0a9580c0c718ef18043895f49abfe0 |
|
MD5 | 4ac8d2989b3e0b0bdd5d64851c80d687 |
|
BLAKE2b-256 | bf9526cc0b7ba3cb68aaef5155366c457f27001ab23adb4b1d4719b6903f109a |
Provenance
The following attestation bundles were made for ubo_gui-0.13.8-py3-none-any.whl
:
Publisher:
integration_delivery.yml
on ubopod/ubo-gui
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
ubo_gui-0.13.8-py3-none-any.whl
- Subject digest:
55989bbab4596891931c983daef1cad68c0a9580c0c718ef18043895f49abfe0
- Sigstore transparency entry: 151770836
- Sigstore integration time:
- Predicate type: