High-Level Abstraction Web-GUI Using Just Python
We like Streamlit but find it does too much magic when it comes to state handling. In search for an alernative nice library to write simple graphical user interfaces in Python we discovered justpy. While too "low-level HTML" for our daily usage it provides a great basis for "NiceGUI".
NiceGUI is intended to be used for small scripts and single-page user interfaces with a very limited user base. Like smart home solutions, micro web apps or robotics projects. It's also helpful for development, when tweaking/configuring a machine learning training or tuning motor controllers.
- browser-based graphical user interface
- shared state between multiple browser windows
- implicit reload on code change
- clean set of GUI elements (label, button, checkbox, switch, slider, input, ...)
- simple grouping with rows, columns and cards
- general-purpose HTML and markdown elements
- built-in timer to refresh data in intervals (even every 10 ms)
- straight-forward data binding to write even less code
python3 -m pip install nicegui
Write your nice GUI in a file
from nicegui import ui ui.label('Hello NiceGUI!') ui.button('BUTTON', on_click=lambda: print('button was pressed', flush=True))
Launch it with:
The GUI is now avaliable through http://localhost/ in your browser. Note: The script will automatically reload the page when you modify the code.
Use the multi-arch docker image for pain-free installation:
docker run --rm -p 8888:80 -v $(pwd)/my_script.py:/app/main.py -it zauberzeug/nicegui:latest
This will start the server at http://localhost:8888 with code from
my_script.py within the current directory.
Code modification triggers an automatic reload.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size nicegui-0.3.2-py3-none-any.whl (4.4 MB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size nicegui-0.3.2.tar.gz (4.4 MB)||File type Source||Python version None||Upload date||Hashes View|