Skip to main content

UniGui

Screenshot

A cross-platform user interface framework based on Adafruit Displayio

This GUI framework can be used to create front-ends on multiple platforms, including Generic Linux and Windows PCs, Single board computers such as Raspberry Pi using a hardware display (for instance: PiTFT), and microcontroller-based projects (i.e. Feather RP2040) using CircuitPython and a display.

There is also a class called PygameDisplay that uses pygame to create a displayio.Display for use in a non-embedded environment. Much of that code was adopted from https://github.com/FoamyGuy/Blinka_Displayio_PyGameDisplay.

ToDo list

  • PR for Adafruit_Blinka and (possibly) PlatformDetect to allow usage on generic PC environments.
  • Overall improvement and features for widgets
  • Fix border_on function for generic widget so border is always drawn on top of other content (useful for viewing widget dimensions)
  • Map names (such as BASE_DARK, BASE_LIGHT, TEXT_DEFAULT, TEXT_HIGHLIGHT, etc) to the palette indices so that I can reference them independently of the color scheme
  • Figure out how to better handle clicks. For example, I might want a single widget to have multiple click regions. I don't think this is easy to do right now. Consider removing UniGui object totally and just making the Widget idea fully recursive.
  • Fix font file paths so they work always

How to use this framework

  • Clone this repository to your computer, then navigate into the project directory.
  • Create a python virtual environment with python -m venv .venv. Note: This project has been tested with Python 3.10.4 on Windows and Linux. You can name your virtual environment directory whatever you like. The current .gitignore will ignore all directories starting with .venv
  • Activate the virtual environment on Linux with source .venv/bin/activate.sh, or on Windows PowerShell with .venv\Scripts\Activate.ps1.
  • Install dependencies with pip install -r requirements.txt.
  • To run the main example, type python examples/desktop/code-desktop.py

Metadata

Release files for unigui-carstentb 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unigui-carstentb 0.1.3
File Size Uploaded Provenance Actions
unigui-carstentb-0.1.3.tar.gz 47.5 kB Without provenance Details for unigui-carstentb-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for unigui-carstentb 0.1.3
File Interpreter ABI Platform Actions
unigui_carstentb-0.1.3-py3-none-any.whl Python 3 none any Details for unigui_carstentb-0.1.3-py3-none-any.whl

Total release size: 99.6 kB

Release files / unigui-carstentb-0.1.3.tar.gz

Download URL unigui-carstentb-0.1.3.tar.gz
Size 47.5 kB
Tags Source
SHA-256 checksum
How to use checksums
11b7241424cc1ea41bb8409dfcc1ac6ffaad3e5058e47b29a37af45c30ece34c
BLAKE2b-256 checksum
How to use checksums
58241e268e564f52886108d54c7ed1b7c6c088c58c55ef980775674313f1aa65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release files / unigui_carstentb-0.1.3-py3-none-any.whl

Download URL unigui_carstentb-0.1.3-py3-none-any.whl
Size 52.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f1a1d0a317f64a81cf8bf5105f1f51a7df2dcc06679496bf1d118dd9916ce40
BLAKE2b-256 checksum
How to use checksums
a7ee24e26f43a6fbf87445b03379551cb976fe53070118253b3b0fa09056db99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Security for unigui-carstentb 0.1.3

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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