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.1.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.1.0-py3-none-any.whl (56.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ui_engine-7.1.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.1.0.tar.gz
Algorithm Hash digest
SHA256 41388b0620e7abaf0a162ca86d687af29648a6c706cb9c13779e769fbb067ed6
MD5 bf575d61d94040ed05e55d76f64a8726
BLAKE2b-256 c48d272ad0e521f3c5b813ee35a92fe4d9d5f9a73a116c86bf855b3215a2a32d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ui_engine-7.1.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f7a6b3b70512f68c3faa8b2d362f8fc3748eee1ce2e9ecace1fe33767785822
MD5 1115b82fe634523f1c6c3b68702de343
BLAKE2b-256 397afc3f1c994de3637d9f009940c44034b86a4af2c7ac1543e8a07a4bbac5ed

See more details on using hashes here.

Provenance

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