zauberzeug/nicegui
Create web-based user interfaces with Python. The nice way.
What it solves
NiceGUI provides a way for Python developers to create web-based graphical user interfaces (GUIs) without needing to write HTML, CSS, or JavaScript. It simplifies the creation of dashboards, micro web apps, and control panels for robotics or machine learning algorithms, removing the complexity of traditional web development.
How it works
NiceGUI uses a backend-first philosophy where all UI logic is written in Python. It leverages FastAPI, Starlette, and Uvicorn for the backend, while using Vue and Quasar for the frontend. Communication between the Python backend and the browser is handled via WebSockets (socket.io), allowing the backend to push updates to the UI in real-time.
Who it’s for
It is designed for developers who need a quick way to build interfaces for their Python projects, specifically those in robotics, smart home automation, and machine learning development (e.g., for tweaking algorithms or tuning motor controllers).
Highlights
- Browser-based GUI: Create buttons, dialogs, 3D scenes, and plots directly from Python.
- Implicit Reload: The page automatically reloads when the code is modified.
- High-level Elements: Includes built-in support for 3D scenes, virtual joysticks for steering events, and image annotation.
- Flexible Deployment: Can run as a web server or in a native desktop window.
- Jupyter Support: Compatible with Jupyter Notebooks and Python's interactive mode.
Related
- Project
- Project
- Project
- Project
- Project