Skip to main content

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
# poetry:
poetry add 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 Poetry installed on your machine.

To install poetry in Raspbian you need to follow these instructions to install rust compiler, this is temporary until this issue is resolved:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
sudo apt-get install pkg-config libssl-dev
curl -sSL https://install.python-poetry.org | python3 -

After having poetry, to install the required dependencies, run the following command:

poetry install --with dev

Also be aware of this issue and until it is resolved you can manually disable keyring by prefixing your poetry commands like this:

PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring poetry install

You can run linter over whole codebase by running this command:

poetry 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 menu
    • title 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 menu
    • sub_heading of a headed menu
    • placeholder 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 poetry 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

ubo_gui-0.13.7.tar.gz (8.6 MB view details)

Uploaded Source

Built Distribution

ubo_gui-0.13.7-py3-none-any.whl (8.6 MB view details)

Uploaded Python 3

File details

Details for the file ubo_gui-0.13.7.tar.gz.

File metadata

  • Download URL: ubo_gui-0.13.7.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

Hashes for ubo_gui-0.13.7.tar.gz
Algorithm Hash digest
SHA256 d6b036376a8944f90207d263a26ff8616fb4ccbc83502136c0fab3b5b53b5b18
MD5 4c8845244eb3194b9ec6155420eba661
BLAKE2b-256 e9ccf0a4474bf4f3c2d6f2566c3d99a21c046421d86929e4983d24d7ba832794

See more details on using hashes here.

Provenance

The following attestation bundles were made for ubo_gui-0.13.7.tar.gz:

Publisher: integration_delivery.yml on ubopod/ubo-gui

Attestations:

File details

Details for the file ubo_gui-0.13.7-py3-none-any.whl.

File metadata

  • Download URL: ubo_gui-0.13.7-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

Hashes for ubo_gui-0.13.7-py3-none-any.whl
Algorithm Hash digest
SHA256 20c747c8c8219a3459b438da57d005cf2d9425c5e93a73ee89963cb2a7d47d7a
MD5 49a8eb2f2c74f2b704d700fa80498ebd
BLAKE2b-256 922a0e1f874afaf23a0f90ced8f34b2ee52fe0cccc4767f2a8e6620eef91a0f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ubo_gui-0.13.7-py3-none-any.whl:

Publisher: integration_delivery.yml on ubopod/ubo-gui

Attestations:

Supported by

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