Python UI Frameworks with Screenshots

Python has a good ecosystem with a number of UI frameworks available. Here I am listing some of the popular UI frameworks available for Python along with their tutorial/getting started examples, which would be helpful for you to compare and choose one for your need.

Web Based Python UI Frameworks

Dash

Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like drop downs, sliders, and graphs directly to your analytical Python code.
Python Dash Framework Example
Github: https://github.com/plotly/dash | Stars: 15.2k+
License: MIT

Tutorials:

  1. https://dash.plotly.com/getting-started
  2. https://realpython.com/python-dash/
  3. https://towardsdatascience.com/beginners-guide-to-building-a-multi-page-dashboard-using-dash-5d06dbfc7599

Related Packages:

  1. https://github.com/facultyai/dash-bootstrap-components

Eel

A little Python library for making simple Electron-like HTML/JS GUI apps
Eel Python Demo
Github: https://github.com/ChrisKnott/Eel | Stars: 4.6k+
License: MIT

Remi

Remi is a GUI library for Python applications that gets rendered in web browsers. This allows you to access your interface locally and remotely. There is also a drag n drop GUI Editor.
REMI - Platform Independent Python GUI LibraryREMI GUI Editor allows you easily create GUIs using drag and drop.
REMI GUI Editor
Github: https://github.com/dddomodossola/remi | Stars: 2.9k+
Remi GUI Editor: https://github.com/dddomodossola/remi/tree/master/editor
License: Apache 2.0

Flexx

Flexx is a pure Python toolkit for creating graphical user interfaces (GUI’s), that uses web technology for its rendering. Apps are written purely in Python; The PScript transpiler generates the necessary JavaScript on the fly.
Flexx Interactive UI Example
You can use Flexx to create (cross platform) desktop applications, web applications, and export an app to a standalone HTML document.

Github: https://github.com/flexxui/flexx | Stars: 2.8k+
Interactive Example: https://flexx.readthedocs.io/en/latest/examples/demo_src.html
License: BSD 2-Clause

PyWebView

pywebview can be used for building GUIs for your Python program using HTML, CSS and Javascript. It is a lightweight cross-platform wrapper around a webview component that allows to display HTML content in its own native GUI window. You can use pywebview with a lightweight web framework like Flask or Bottle.
PyWebView Example UI
pywebview uses native GUI for creating a web component window: WinForms on Windows, Cocoa on macOS and QT or GTK on Linux. If you choose to freeze your application, pywebview does not bundle a heavy GUI toolkit or web renderer with it keeping the executable size small. pywebview is compatible with Python 3.

Website: https://pywebview.flowrl.com/
GitHub: https://github.com/r0x0r/pywebview | Stars: 2.6k+
React Boiler Plate: https://github.com/r0x0r/pywebview-react-boilerplate
Platforms: Linux, Windows, macOS
License: BSD 3-Clause License

Other Python UI Frameworks

Gooey

Turn (almost) any Python 2 or 3 Console Program into a GUI application with one line.
Gooey Example
Github: https://github.com/chriskiehl/Gooey | Stars: 14.9k+
Usage: https://github.com/chriskiehl/Gooey#usage
Examples: https://github.com/chriskiehl/GooeyExamples
License: MIT

PyQt

PyQt is a set of Python bindings for The Qt Company’s Qt application framework and runs on all platforms supported by Qt including Windows, macOS, Linux, iOS and Android. PyQt6 supports Qt v6, PyQt5 supports Qt v5. This is developed and maintained by Riverbank Computing.

Website: https://riverbankcomputing.com/software/pyqt/intro
Tutorial: https://www.pythonguis.com/pyqt-tutorial/
Platforms: Linux, Windows, macOS, Android, iOS.
License: Dual Licensed. GPL and Commercial License.

Qt for Python (PySide)

Qt for Python is the project that provides the official set of Python bindings for Qt (PySide6). This is an alternative to PyQt, which is licensed under GPL, while PySide is licensed under LGPL v2.1

Website: https://www.qt.io/qt-for-python
Tutorial: https://www.pythonguis.com/pyside-tutorial/
Platforms: Linux, macOS, Windows.
License: LGPL v2.1

Kivy

Kivy is an open source Python library for rapid development of applications
that make use of innovative user interfaces, such as multi-touch apps.
Kivy UI Example
Github: https://github.com/kivy/kivy | Stars: 13.5k+
Tutorial: https://kivy.org/doc/stable/tutorials/pong.html
Material Design Theme: https://github.com/kivymd/KivyMD
Platforms: Linux, Windows, OS X, Android, iOS, and Raspberry Pi
License: MIT License

tkinter

Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit.

Website: https://docs.python.org/3/library/tkinter.html
Designer: https://github.com/ParthJadhav/Tkinter-Designer
Platforms: Linux, macOS, Windows.
License: Python License

DearPyGUI

Dear PyGui is a simple to use (but powerful) Python GUI framework. It is a library built with Dear ImGui which creates a unique retained mode API (as opposed to Dear ImGui’s immediate mode paradigm).
Dear PyGUI Examples
Github: https://github.com/hoffstadt/DearPyGui | Stars: 6.1k+
Examples: https://github.com/hoffstadt/DearPyGui#usage
License: MIT

Toga

A Python native, OS native GUI toolkit.
Toga Python UI Example
Github: https://github.com/beeware/toga | Stars: 2.8k+
Tutorial: https://toga.readthedocs.io/en/latest/tutorial/index.html#tutorial
License: BSD 3-Clause

PySimpleGUI

Transforms the tkinter, Qt, WxPython, and Remi (browser-based) GUI frameworks into a simpler interface. The window definition is simplified by using Python core data types understood by beginners (lists and dictionaries).
Your PySimpleGUI code is simpler and shorter than writing directly using the underlying framework because PySimpleGUI implements much of the “boilerplate code” for you. Additionally, interfaces are simplified to require as little code as possible to get the desired result. Depending on the program and framework used, a PySimpleGUI program may require 1/2 to 1/10th amount of code to create an identical window using one of the frameworks directly.
PySimpleGUI based Example
Github: https://github.com/PySimpleGUI/PySimpleGUI | Stars: 8.6k+
License: LGPL v3.0

List of Other Python GUI Frameworks

Apart from what is listed above, there are other Python GUI Frameworks available, which is listed below.
https://wiki.python.org/moin/GuiProgramming

What are the Python UI frameworks that you have used? If you know of any other major Python UI framework, let us know in the comments for us to add to this list :)

References

  1. https://stackoverflow.com/questions/61566560/is-it-possible-to-fully-customize-a-ui-application-in-python-3-using-a-free-and

No comments:

Feel free to leave a piece of your mind.

Powered by Blogger.