A zero-code multi-agent platform where you define agents, workflows and tasks via YAML and a web console to build software and other outputs.
zauberzeug/nicegui
A Python framework for building browser-based web UIs and small apps without writing HTML, CSS or JavaScript.
Open-source alternative to:Streamlit
- Stars
- 16,306
- Forks
- 964
- Open issues
- 53
- Last commit
- 14 hours ago
What is it?
NiceGUI lets you build web user interfaces entirely in Python. You declare elements such as buttons, inputs, tables, charts, Markdown blocks and 3D scenes, and the framework renders them in the browser and forwards user events back to your Python functions.
It suits micro web apps, dashboards, robotics and smart home control panels, and interactive tuning of machine learning or hardware parameters. The project runs as a local web server or in native mode inside a desktop window, and it also works in Jupyter notebooks. Code changes trigger an automatic page reload during development.
The backend is built on FastAPI with a Vue and Quasar frontend, and communicates over a WebSocket connection. It is distributed on PyPI, conda-forge and Docker Hub.
Key features
- 01Standard elements such as buttons, inputs, sliders, file uploads and dialogs
- 02Charts, 3D scenes, virtual joysticks, image annotation and tree views
- 03Timers and data binding for refreshing live values
- 04Per-user and global persistence, plus custom routes
- 05Runs as a web server or as a native desktop window
- 06Includes a pytest-based testing framework
Use cases
- Building an internal dashboard or monitoring panel in pure Python
- Creating a control UI for robots, motors or smart home devices
- Tuning machine learning models or parameters interactively in a browser
- Wrapping a Python script in a quick web tool for teammates
Quick start
- 1
Install NiceGUI with pip
python3 -m pip install nicegui - 2
Create main.py with a label and button, then run it
python3 main.py - 3
Open http://localhost:8080/ in your browser
Topics
FAQ
- What is nicegui?
- A Python framework for building browser-based web UIs and small apps without writing HTML, CSS or JavaScript. NiceGUI lets you build web user interfaces entirely in Python. You declare elements such as buttons, inputs, tables, charts, Markdown blocks and 3D scenes, and the framework renders them in the browser and forwards user events back to your Python functions.
- Is nicegui free to use? What license does it have?
- nicegui is open source under the MIT license. Check the license terms before using it in commercial products.
- Is nicegui still maintained?
- Actively maintained. The last commit to nicegui was on Oct 20, 2026.
- What can I use nicegui for?
- Building an internal dashboard or monitoring panel in pure Python Creating a control UI for robots, motors or smart home devices Tuning machine learning models or parameters interactively in a browser Wrapping a Python script in a quick web tool for teammates
- How do I install nicegui?
- Install NiceGUI with pip: python3 -m pip install nicegui Create main.py with a label and button, then run it: python3 main.py Open http://localhost:8080/ in your browser
- Where can I get nicegui?
- The source code and installation instructions are on GitHub: https://github.com/zauberzeug/nicegui
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A frontend workshop for building, documenting and testing UI components in isolation, supporting React, Vue, Angular, Svelte and more.
A Python library for creating frameless PyQt/PySide windows with custom title bars, resizing, and native blur effects on Windows, Linux, and macOS.
Converts screenshots, mockups, Figma designs and screen recordings into HTML, Tailwind, React, Vue or other front-end code using AI models.
A curated collection of single-file cheatsheets covering popular programming languages, frameworks, and developer tools.
Python library that turns scripts into interactive web apps for data dashboards, reports and chat apps.