Skip to main content

UI Engine

Project description

UI-Engine-V2

Build Tests Coverage

PyPI Package

High-performance pygame based UI framework with render-on-change architecture.

Features

  • High Performance: Hybrid-mode-rendering ensures no compute is wasted on re-rendering unchanged elements.
  • Easy to Use: Intuitive API design makes it simple to create and manage UI components.
  • Events for everything: Comprehensive event system for handling user interactions, components have their own events.
  • Immediate themes: Style system allows immediate color palette changes across the entire application with one function call.
  • Text rendering: Justified text rendering with minimal gaps.
  • Easily extensible: You can easily make your own components by extending the base classes.
  • Maintainable: Code quality is always in mind, never sacrificing readability for quick fixes.
  • Lightweight: Minimal dependencies and a small footprint make it suitable for various projects.

Install

pip install ui-engine

QuickStart

import engine as ui

# Create window
window = ui.Window((800, 600))

# Create a frame
frame = ui.Frame(window, (10, 10), (300, 200))

# Add components
label = ui.Label(
    frame,
    (10, 10),
    "Hello World!",
    (None, 18)
)

button = ui.Button(
    frame,
    (10, 50),       # Pos
    "Click Me",
    (100, 30),      # Size
    on_click=lambda b: print("Button clicked!")
)

field = ui.Field(
    frame,
    (10, 90),       # Pos
    (None, 14),     # Font
    "Type here...", # Text
    size=(200, 25)
)

# Run the application
window.mainloop()

Components

  • Frame: Basic rounded rectangle container
  • Button: Interactive button with hover states and click handlers
  • Label: Text display component with wrapping support
  • Field: Text input component with multiline support and IME
  • CheckBox: Toggle checkbox with customizable styling
  • Radio: Radio button with easy group management
  • Toggle: Switch-style toggle component
  • Slider: Value slider with customizable range
  • ProgressBar: Progress indicator with ultra-smooth animations
  • Dropdown: Responsive dropdown menu
  • TabFrame: Tab container for organizing content
  • SegmentedButton: Multi-option button component
  • IconButton: Button component for icon-based interactions

License

This project is licensed under the PolyForm Noncommercial License 1.0.0 - see the COPYING.md file for details.

Contact Omena0 if you want an exception.

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

ui_engine-7.2.0.tar.gz (48.7 kB view details)

Uploaded Source

Built Distribution

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

ui_engine-7.2.0-py3-none-any.whl (56.5 kB view details)

Uploaded Python 3

File details

Details for the file ui_engine-7.2.0.tar.gz.

File metadata

  • Download URL: ui_engine-7.2.0.tar.gz
  • Upload date:
  • Size: 48.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ui_engine-7.2.0.tar.gz
Algorithm Hash digest
SHA256 0a463c42a60ed391f83ef334ede8968e81dc1239b9d3ae737b1bc1b1552b108e
MD5 853c82d104bdd73c8521b7cbff884a37
BLAKE2b-256 9f8247f0d225249cd19e2e6c5355112e5f4a24f73dd596dc42e5f54ec000e1b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ui_engine-7.2.0.tar.gz:

Publisher: publish.yml on Omena0/UI-Engine-V2

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

File details

Details for the file ui_engine-7.2.0-py3-none-any.whl.

File metadata

  • Download URL: ui_engine-7.2.0-py3-none-any.whl
  • Upload date:
  • Size: 56.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ui_engine-7.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec3c996fa67f9a10367719ee70e845dd0c4a239247b523d920e25d2e4bbd17d7
MD5 381e193831749f9f5066b5c3681803b3
BLAKE2b-256 7c15460f142ee15dbe5460ecfd18c4b4f0e0d59c77e5f11f5c542d87c969d40b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ui_engine-7.2.0-py3-none-any.whl:

Publisher: publish.yml on Omena0/UI-Engine-V2

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