Skip to main content

Async Python User Interface Library

Project description

Project

Build PyPI version

This is a combination of ImGui, ImPlot and Skia. It can be used as a C++ library or out of Python through a Skia python binding with Pybind11

Goals and Features:

  • Hardware-accelerated rendering through DirectX 12
  • Asynchronous, lock-free API
  • Plot with ImPlot or a Matplotlib-backend
  • Builtin Image viewer, virtual keyboard ..
ImGui Elements Matplotlib Integration
widgets matplotlib
ImPlot Flexible
widgets matplotlib
SVG Image Viewer
svg Image Viewer

Installation

pip install p3ui

Hello World

from p3ui import *


async def main():
    window = Window(title='Hello World!')
    
    window.user_interface.content = Row(
        justify_content=Justification.SpaceAround,
        align_items=Alignment.Center,
        children=[Text('Hello'), Text('World')])
    
    await window.closed

    
run(main())

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page