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.0.0.tar.gz (48.6 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.0.0-py3-none-any.whl (56.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ui_engine-7.0.0.tar.gz
  • Upload date:
  • Size: 48.6 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.0.0.tar.gz
Algorithm Hash digest
SHA256 65e13e0c186b885395d136320d32f64b51d3f4d4f86e86122248cbf61feb2c38
MD5 1affc69f4cc2b23f357859659a2262f2
BLAKE2b-256 405e0357552c134b2c5089a82d3e9378a342201ba2538b692791518ff97b9d73

See more details on using hashes here.

Provenance

The following attestation bundles were made for ui_engine-7.0.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.0.0-py3-none-any.whl.

File metadata

  • Download URL: ui_engine-7.0.0-py3-none-any.whl
  • Upload date:
  • Size: 56.2 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9cb501a6f209fcf25f0bc1d4e25426d7dcda3bfdbcb7afd1d173821958889c6c
MD5 9ae37d1d475f9b54bf33d1f04cf986db
BLAKE2b-256 a1dda16d7845818e0e28213f05ad932aa114477d3dcf122c11a64c108d7c0427

See more details on using hashes here.

Provenance

The following attestation bundles were made for ui_engine-7.0.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