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-6.1.0.tar.gz (42.3 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-6.1.0-py3-none-any.whl (49.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ui_engine-6.1.0.tar.gz
Algorithm Hash digest
SHA256 aa30bc3f3d5c1c38e78238ca66bbe12121100ab0dfd326ec1c6df4ffb9909f6c
MD5 8b51cc22a2dd3404b638dd97a5f0be73
BLAKE2b-256 111fdfffa7782a026e831a7b02b5822c24f6ebbb3a0f612921f2dbf61d215fc3

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for ui_engine-6.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36c4490ec6468eaedc7a43676d5d0eb63039411aa409959154a3d0bca24d8aff
MD5 fbf2e32fc7aff0bc3015f7d98d10109c
BLAKE2b-256 56d73d75dcf5a8f5b86f04fd68b563deed4605b0757d2f7b5cf1ecee9b40d9ef

See more details on using hashes here.

Provenance

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