NiceGUI: Create Beautiful GUI for your Python Apps

NiceGUI: Create Beautiful GUI for your Python Apps

NiceGUI is a Python-based framework that allows developers to build web-based user interfaces effortlessly. It leverages a simple and intuitive API to create interactive, real-time applications without the need for extensive frontend knowledge.

With NiceGUI, you can develop dashboards, control panels, or any other type of UI using Python, and it supports WebSockets for live updates. The framework is ideal for rapid prototyping and small to medium-sized projects where ease of use and speed of development are priorities.

NiceGUI is available as PyPI package, Docker image and on conda-forge as well as GitHub.

Features

  • browser-based graphical user interface
  • implicit reload on code change
  • acts as webserver (accessed by the browser) or in native mode (eg. desktop window)
  • standard GUI elements like label, button, checkbox, switch, slider, input, file upload, ...
  • simple grouping with rows, columns, cards and dialogs
  • general-purpose HTML and Markdown elements
  • powerful high-level elements to
    • plot graphs and charts,
    • render 3D scenes,
    • get steering events via virtual joysticks
    • annotate and overlay images
    • interact with tables
    • navigate foldable tree structures
    • embed video and audio files
  • built-in timer to refresh data in intervals (even every 10 ms)
  • straight-forward data binding and refreshable functions to write even less code
  • notifications, dialogs and menus to provide state of the art user interaction
  • shared and individual web pages
  • easy-to-use per-user and general persistence
  • ability to add custom routes and data responses
  • capture keyboard input for global shortcuts etc.
  • customize look by defining primary, secondary and accent colors
  • live-cycle events and session data
  • runs in Jupyter Notebooks and allows Python's interactive mode
  • auto-complete support for Tailwind CSS
  • SVG, Base64 and emoji favicon support
  • testing framework based on pytest

License

MIT License

Resources & Downloads

GitHub - zauberzeug/nicegui: Create web-based user interfaces with Python. The nice way.
Create web-based user interfaces with Python. The nice way. - zauberzeug/nicegui







Open-source Apps

9,500+

Medical Apps

500+

Lists

450+

Dev. Resources

900+