18369
Comment: 3.0.38 (24 Jan 2014)
|
15179
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
Python has a huge number of GUI frameworks (or toolkits) available for it, from Tkinter (traditionally bundled with Python, using Tk) to a number of other cross-platform solutions, as well as bindings to platform-specific (also known as "native") technologies. | Python has a huge number of GUI frameworks (or toolkits) available for it, from TkInter (traditionally bundled with Python, using Tk) to a number of other cross-platform solutions, as well as bindings to platform-specific (also known as "native") technologies. |
Line 5: | Line 5: |
{{{#!wiki note [[GUI Programming in Python]] is a similar page whose content could arguably complement this page with some editing. }}} |
|
Line 10: | Line 8: |
||PyJamas ||All major Web Browsers || 0.8 || 2012-06-01 ||Comprehensive Widget toolkit, Python-to-Javascript compiler and AJAX library. Provides the "V" in MVC. See also PyjamasDesktop || | ||[[https://www.abstra.io/forms|Abstra Forms]] ||All major Web Browsers || ||2023-5-11 || Build forms as Python scripts. || ||[[https://github.com/anvil-works/anvil-runtime|Anvil]] ||All major Web Browsers ||1.7.0 ||2022-5-30 ||Full-stack web apps using only Python and a free online drag-and-drop GUI builder, with built-in (freemium) hosting for your apps. || ||[[https://github.com/epeios-q37/atlas-python|Atlas toolkit for Python]] ||All major Web Browsers ||0.13.3 ||2023-09-11 ||World's lightest toolkit to quickly and easily add a GUI to your Python programs and bring them online. || ||[[https://justpy.io|JustPy]] ||All major Web Browsers ||0.1.5 ||2020-10-14 ||An object oriented high-level Python Web Framework that requires no frontend programming. || ||[[https://github.com/mljar/mercury|Mercury]] || All major Web Browsers ||1.1.3 ||2022-07-12 ||Mercury converts Python code in Jupyter Notebook into web applications. The interactive widgets are added based on YAML header. The end-user can tweak widgets values and execute notebook with new parameters. It allows to hide code, export executed notebook to PDF, schedule notebook, add authentication. || ||[[https://nicegui.io|NiceGUI]] ||All major Web Browsers ||1.2.15 ||2023-05-27 || NiceGUI provides a unique combination of gentle learning curve and advanced customization capabilites. Operating as a webserver or Electron-like in a native window, it's also designed for hardware integration like USB cameras and GPIO pins, making it ideal for home automation and robotics. || |
Line 14: | Line 17: |
The major cross-platform technologies upon which Python frameworks are based include Gtk, Qt, Tk and wxWidgets, although many other technologies provide actively maintained Python bindings. ||'''Package''' ||'''Target''' ||Latest version ||Latest update date ||'''Notes''' || ||[[http://avc.inrim.it/|AVC]] ||Linux / many || 0.8.3 || 2011-02-15 ||Fully automatic, live connection among graphical interface widgets and application variables. || ||[[http://dabodev.com/|Dabo]] ||WxPython || 0.9.12 || 2013-06-12 ||Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit || ||[[http://easygui.sourceforge.net/|EasyGui]] ||Tk || 0.96 || 2010-08-29 ||('''Effective March 6, 2013 EasyGui project is now closed''') EasyGUI is a module for very simple, very easy GUI programming in Python. || ||[[https://code.google.com/p/formlayout/|formlayout]]||Qt || 1.0.15 || 2013-08-27 ||A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code|| ||GnomePython || Gnome || 2.28.1 || 2010-03-31 ||Gnome Platform bindings: bonobo, bonoboui, gconf, gnome, gnomecanvas, gnomevfs, gnomeui || ||!GnomePythonDesktop || Gnome || 2.32.0 || 2010-09-28 ||Gnome Desktop bindings: metacity, nautilus, gnomeprint, gtksourceview, gtop, media-profiles, totem, wnck || ||!GnomePythonExtras || Gnome || 2.25.3 || 2009-02-15 ||Additional Gnome bindings: libegg, gda, gtkmozembed, gtkspell, gksu, gdl, gtkhtml2 || ||[[https://code.google.com/p/gui2py/|gui2py]] ||WxPython (WxWidgets) || 0.9.3 || 2013-08-26 ||Both a framework and visual tools: GUI Designer, Inspector and Property Editor. Supports Python 2.5 to Python 3.2; wxPython 2.8 "stable", 2.9 "classic" and "phoenix" (py3k). Features advanced pythonic MVC controls (!ListView, !GridView, !TreeView) using list- and dict-like objects; masked and date picker controls; common dialogs; fluid layout using sizers & basic HTML; simplified event model (similar to !JavaScript). Can include wxPython code in apps. Modern !PythonCard "fork" hugely enhanced. || ||[[https://pythonhosted.org/guidata/|guidata]]||Qt || 1.6.1 || 2013-06-17 ||Based on the Qt Python binding module PyQt4, guidata is a Python library generating graphical user interfaces for easy dataset editing and display. It also provides helpers and application development tools for PyQt4.|| ||[[http://ironpython.codeplex.com/ |IronPython]]||.NET/Mono || 2.7.4 || 2013-09-07 ||Python for (originally MS') .NET platform. See IronPython for more info. || ||[[http://www.jython.org/|Jython]] || Java || 2.5.4rc1 || 2013-02-10 ||Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. See [[Jython]] || ||[[http://kivy.org/|Kivy]] ||Windows, MacOSX, Linux, Android, iOS || 1.8.0 || 2014-01-30 ||OpenGL ES accelerated framework for creating new user interfaces. Kivy have a native multitouch support for every platform, mouse simulator, widgets multitouch ready, integrated virtual keyboard, rst renderer... || ||[[http://www.libavg.de/|libavg]] ||Windows, MacOS, Linux || 1.8.0 || 2014-02-15 ||Not strictly a GUI toolkit, but a high-level multimedia framework that allows construction of media-rich guis. || ||[[http://nufox.berlios.de/|Nufox]]|| XUL (many) || 0.1.0 || 2005-10-13 ||Nufox is a python, XUL toolkit written ontop of the Twisted Networking Framework and Nevow. The idea is that you should be able to write server-side cross platform XUL applications without writing XUL markup, with little javascript, all from the comfort of Python. (Python 2.3 or 2.4)|| ||[[http://sourceforge.net/projects/ocean/|Ocean]] ||many || || ||GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning. || ||[[http://sourceforge.net/projects/ocemp/files/ocempgui/|OcempGUI(Ocean Empire GUI)]]|| Pygame || 0.2.9 || 2008-05-10 ||A small GUI toolkit written in Python based on Pygame. Provides accessibility support. [[http://ocemp.sourceforge.net/gui.html|Website]] || ||[[http://sourceforge.net/projects/pyfltk/|PyFltk]]|| [[FLTK]] || 1.3.1 || 2012-02-19 ||supports Windows/Unix/Mac and provides access to OpenGL features. Stands for Fast, Light Toolkit.(Python 2 & 3) || ||[[http://pygame.org/|PyGame]]|| PyGame || 1.9.1 || 2009-08-06 ||Primarily an introduction to game programming. Only supports one window.(Python 2 & 3) || ||[[https://code.google.com/p/pyglet/|Pyglet]]|| Windows, MacOS, Linux || 1.2alpha1 || 2012-07-13 ||Alpha stage cross-platform windowing and multimedia library that heavily uses OpenGL. || ||PyGtk || Gtk || 2.24.0 || 2011-04-01 ||Bindings for pango, atk, gtk and libglade. Good documentation from the [[http://www.gtk.org/documentation.php|Gtk Project]]. Wrapper uses some C programming style || ||[[http://code.google.com/p/pygir-ctypes/|pygir-ctypes]]|| GObject Introspection || 0.1.1 || 2011-03-29 ||Pure Python GObject Introspection Repository (GIR) wrapper using ctypes. Supported CPython >= 2.6, CPython 3.x, PyPy >= 1.4.0, and on all platforms where gobject introspection is supported. || ||[[http://code.google.com/p/pygtk2tk/|PyGtk2Tk]]|| TkInter || 0.2.0 || 2008-09-19 ||PyGtk to TkInter Wrapper runs PyGtk based code unchanged using TkInter (Tk). Python 2 only || ||[[http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/|PyGUI]]|| Cocoa / Gtk / Win32 || 2.5.3 || 2011-07-16 ||Abstract, pythonic API encapsulating different platforms. || ||PyjamasDesktop ||Many || || ||Comprehensive Widget toolkit that uses [[http://code.google.com/p/pywebkitgtk/|PyWebkitGtk]] to do the heavy lifting. Provides the "V" in MVC. See also Pyjamas || ||[[http://sourceforge.net/projects/pykde/|PyKDE]]|| Qt / KDE || || ||Python wrappers for the [[http://www.kde.org/|KDE]] libraries. See [[PyKDE]] || ||[[http://pymt.eu/|PyMT]]|| OpenGL, all platform || 0.5.1 || 2010-09-06 ||Python framework for doing multitouch GUI / Application (Deprecated, in favor of Kivy) || ||PyPicoGUI || [[http://picogui.org/|PicoGUI]] || 0.46 || 2003-11-18 ||python library is included in the main PicoGUI release ('''development is all but halted''') || ||[[http://sourceforge.net/projects/pyqt/|PyQt]]|| Qt || 5.2 || 2014-01-07 ||Python bindings for the [[http://www.trolltech.com/products/qt/|Qt]] application development framework(Python 2 & 3)|| ||[[http://www.pyside.org/|PySide]] || Qt || 1.2.1 || 2013-08-16 ||The PySide project provides licensed Python bindings for the [[http://www.trolltech.com/products/qt/|Qt]] cross-platform application and UI framework. || ||[[http://www.cs.nyu.edu/zilin/pyswt/pmwiki.php?n=PySWT.Introduction|PySWT]]|| SWT || 0.0.3 || 2005-06-28 ||PySWT is a Python Binding to the IBM Eclipse SWT library, to provide Python with a cross platform native looking GUI. (Python 2.4) || ||[[http://pythoncard.sourceforge.net/|PythonCard]] ||WxWidgets || 0.8.2 || 2006-05-22 ||Easy to use framework and GUI builder. Can include wxPython code in PythonCard apps [[http://showmedo.com/videotutorials/series?name=LIIBqnWDo|PythonCard tutorial videos]] at ShowMeDo || ||PyWebkitGtk ||Web Browsers || 1.1.8 || 2010-08-07 ||PyWebkitGtk is a Python Binding to [[http://webkit.org|webkit]], including DOM model manipulation, Javascript execution, plugin support (e.g. Flash) and (on the TODO list) SVG Canvas support, for extremely powerful and comprehensive applications development. See PyjamasDesktop for an easy-to-use API. || ||PyUi ||OpenGL || 1.0 || 2003-08-17 ||Specialized GUI Toolkit for generating GUIs for OpenGL programs. (Python 2.2) || ||[[http://wiki.laptop.org/go/Sugar|Sugar]]|| OLPC XO with Linux || 0.98.5 || 2013-03-08 ||User interface for collaborative educational software || ||TkInter || Tk || TK version varies by Python release and platform || ||Python's "standard" GUI library ([[http://docs.python.org/2/library/tkinter.html|Python 2 Docs]], [[http://docs.python.org/3.3/library/tkinter.html|Python 3 Docs]]) || ||TkZinc || Tk extension || 3.2.2 || 2005-06-18 ||TkZinc is a extension of the Tk Canvas, with transparency, gradient, transformations ('''Inactive website gone''')|| ||[[http://www.vtk.org/|VTK]] ||many || 6.1.0 || 2014-01-22 ||The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. || ||[[http://sourceforge.net/projects/waxgui/|Wax]]|| WxWidgets || 0.3.33 || 2006-03-17 ||A wrapper to WxPython, easier and more "pythonic" || ||[[http://www.wxpython.org/|WxPython]] || WxWidgets || 3.0.0.0 || 2013-12-25 ||Supports Windows/Unix/Mac. See [[WxPython]] || ||[[http://sourceforge.net/projects/xgui/|XGui]]|| XGui || ?SVN? || 2008-03-02 ||XGui is a cross-platform widget set with C,C++ and Python bindings. Actually supports *nix over Gtk and Windows over Win32 || === Inactive/Unmaintained === ||'''Package''' ||'''Target''' ||Latest version ||Latest update date ||'''Notes''' || ||[[http://sourceforge.net/projects/anygui/|AnyGui]]|| many || 0.1.1 || 2002-02-08 ||('''[[AnyGui]] is no longer being actively developed or supported.''') single source code runs on many GUI back-ends, including many in this table, plus ncurses || ||[[http://fxpy.sourceforge.net/|FxPy]]|| FOX || 1.0.5 || 2002-04-02 ||FXPy is a Python extension module that provides an interface to the cross-platform FOX GUI library. '''It is no longer under development, but the last release is compatible with FOX 1.0 and Python 2.2.''' || ||[[https://web.archive.org/web/20071010020943/http://www.lucidtoolkit.org/|Lucid]]|| Windows, GTK, MacOS || 0.1 || SVN only ||('''Original website gone''') An abstraction layer and clever layout engine that uses the native GUI widgets of each operating system. Previously known as "[[https://web.archive.org/web/20070127132243/http://www.clarographics.org/|Claro Framework.]]" / Copy om Github https://github.com/theojulienne/lucid/tree/master/trunk || |
The major cross-platform technologies upon which Python frameworks are based include GTK, Qt, Tk and wxWidgets, although many other technologies provide actively maintained Python bindings. ||'''Package''' ||'''Target''' ||'''Latest version''' ||'''Latest update''' ||'''Notes''' || ||[[http://appJar.info/|appJar]] ||Windows, macOS, Linux ||0.94 ||2019-05-26 ||Simple & intuitive wrapper for Tkinter. In active development, designed for educational purposes, heavily documented & feature rich! || ||[[http://avc.inrim.it/|AVC]] ||Linux / many ||0.11.0 ||2016-02-16 ||Fully automatic, live connection among graphical interface widgets and application variables. || ||[[https://github.com/cztomczak/cefpython|CEF Python]] ||Windows, macOS, Linux ||66.1 ||2021-02-16 ||Python bindings for the [[https://bitbucket.org/chromiumembedded/cef|CEF Framework]]. CEF is based on Google Chromium and focuses on facilitating embedded browser use cases in third-party applications. With CEF you can create a light-weight native “shell” application that hosts a user interface developed primarily using Web technologies. Examples of embedding CEF browser control are available for many popular GUI toolkits such as PyQt, PySide, wxPython, PyGTK, PyGObject, Kivy and PyGame/PyOpenGL. || ||[[http://dabodev.com/|Dabo]] ||WxPython ||0.9.16 ||2016-08-16 ||Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit || ||[[https://github.com/hoffstadt/DearPyGui|Dear PyGui]] ||Windows, macOS, Linux, Raspberry Pi 4 ||1.7.3 ||2022-10-22 || A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies. At its’ core it is a Python implementation of [[https://github.com/ocornut/imgui#dear-imgui/|Dear ImGui]]. Docs are located at [[https://dearpygui.readthedocs.io/en/latest/|Read The Docs]].|| ||[[https://flet.dev|Flet]] ||Windows, MacOSX, Linux, Android, iOS ||0.2.2 ||2022-11-25 ||An easy to learn Python framework for building realtime web, mobile and desktop apps with a beautiful Flutter UI. || ||[[https://pypi.python.org/pypi/formlayout|formlayout]] ||Qt ||1.2.0 ||2020-08-10 ||A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code || ||[[https://github.com/reingart/gui2py|gui2py]] ||WxPython (WxWidgets) ||0.9.5 ||2016-08-17 ||Both a framework and visual tools: GUI Designer, Inspector and Property Editor. Supports Python 2.5 to Python 3.2; wxPython 2.8 "stable", 2.9 "classic" and "phoenix" (py3k). Features advanced pythonic MVC controls (!ListView, !GridView, !TreeView) using list- and dict-like objects; masked and date picker controls; common dialogs; fluid layout using sizers & basic HTML; simplified event model (similar to !JavaScript). Can include wxPython code in apps. Modern !PythonCard "fork" hugely enhanced. || ||[[https://github.com/PierreRaybaut/guidata|guidata]] ||Qt ||2.2.1 ||2022-06-05 ||Based on the Qt library, guidata is a Python library generating graphical user interfaces for easy dataset editing and display. It also provides helpers and application development tools for Qt (PyQt5, PySide2, PyQt6, PySide6). || ||[[https://guietta.readthedocs.io/en/stable|guietta]] ||Qt ||1.4.0 ||2022-03-31 ||A Qt wrapper that makes it extremely easy to create simple graphical interfaces.|| ||[[https://pypi.org/project/Gooey/|Gooey]] ||wxPython ||1.0.8.1 ||2021-06-12 ||Converts ''most'' argparse based CLI programs into [[https://wxpython.org/|wxPython]] GUI programs with a single import and decorator. || ||[[https://lawsie.github.io/guizero/|guizero]] ||Windows, macOS, Linux (Tkinter based) ||1.3.0 ||2022-01-01 ||guizero is a Python 3 library for creating simple GUIs. The aim of guizero is to make the process of creating simple GUIs quick, accessible and understandable for new learners.|| ||[[https://ironpython.net/|IronPython]] ||.NET/Mono ||3.4.0-beta1 ||2022-04-30 ||Python for .NET platform. See IronPython for more info. || ||[[http://www.jython.org/|Jython]] ||Java ||2.7.2 ||2020-03-21 ||Jython is an implementation of Python seamlessly integrated with the Java platform. See [[Jython]] || ||[[https://kivy.org/|Kivy]] ||Windows, MacOSX, Linux, [[Android]], iOS ||2.1.0 ||2022-03-06 ||OpenGL ES 2 accelerated framework for creating innovative user interfaces. Kivy have a native multitouch support for every platform, mouse simulator, widgets multitouch ready, integrated virtual keyboard, rst renderer... || ||[[http://www.libavg.de/|libavg]] ||Windows, macOS, Linux ||1.8.2 ||2014-07-16 ||Not strictly a GUI toolkit, but a high-level multimedia framework that allows construction of media-rich guis. || ||[[https://sourceforge.net/projects/pyfltk/|PyFltk]] ||Windows, macOS, Linux, Raspberry Pi OS (Wraps C++ [[FLTK]]) ||1.3.9 ||2024-01-07 ||Fast and Easy to learn. OOP extensible widgets. Provides access to OpenGL features. Stands for Fast, Light Toolkit.(Python 3) || ||[[https://github.com/UmSenhorQualquer/pyforms|PyForms]] ||Qt & OpenGL ||<<BR>> ||2016-12-20 ||A Python framework to develop GUI application, which promotes modular software design and code reusability with minimal effort. || ||[[https://pygame.org/|PyGame]] ||PyGame ||2.1.2 ||2021-12-27 ||Pygame is a set of Python modules designed for making multimedia applications like games built on top of the SDL library. || ||[[https://pyglet.org|Pyglet]] ||Windows, macOS, Linux ||1.5.24 ||2022-06-12 ||pyglet is a cross-platform windowing and multimedia library for Python, for developing games and other visually rich applications. || ||[[https://pygobject.readthedocs.io/en/latest/|PyGObject]] ||GTK ||3.42.1 ||2022-04-17 ||PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more. See PyGobject. Replacement for PyGtk. || ||[[https://riverbankcomputing.com|PyQt]] ||Qt ||6.3.1 ||2022-06-17 ||Python 3 bindings for the [[http://www.qt.io/|Qt]] application framework. || ||[[https://github.com/sciter-sdk/pysciter|PySciter]] ||Windows, macOS, Linux (via Sciter) ||4.4.7.0 ||2021-04-27 ||Python bindings for the [[https://sciter.com|Sciter]] (embeddable HTML/CSS/JavaScript engine). || ||[[https://wiki.qt.io/Qt_for_Python|PySide]] ||Qt || 6.3.0 ||2022-04-13 ||Qt for Python (formerly known as PySide) offers the official Python bindings for the [[https://qt.io|Qt]] cross-platform application and UI framework. || ||[[http://www.PySimpleGUI.com/|PySimpleGUI]] ||tkinter, Qt, wxPython,Browser, Win, Mac, Linux, Pi, PyDroid3, Trinket, replit || 4.60.5 ||2023-05-22 ||Wraps tkinter, Qt (pyside2), wxPython and Remi (for browser support) in a non-OOP API. Build custom GUI layouts in minutes in a few lines of code. Easy enough for beginners, powerful enough for advanced users. [[http://PySimpleGUI.org| Extensive documentation]]. 100+ Built-in color themes. Capable of complex & extensive multi-window applications as well as simple ones. Run [[http://eCookbook.PySimpleGUI.org| eCookbook]] online. 350+ example programs. Free video course. Updated very frequently. User Support: http://Issues.PySimpleGUI.org || ||[[https://pywebview.flowrl.com/|pywebview]] ||Cocoa / Win32 / Qt / GTK ||3.6.3 ||2022-04-05 ||pywebview is a lightweight cross-platform wrapper around a webview component that allows to display HTML content in its own native GUI window. || ||[[https://beeware.org/project/projects/libraries/toga/|Toga]] ||Windows, macOS, Linux (GTK), Android, iOS ||0.4.1 ||2023-12-21 ||Cross platform, Python native GUI toolkit that uses native system widgets. Under development as part of [[https://beeware.org/|the BeeWare project]]. || ||TkInter ||Tk ||<-2> Included in Python standard library ||Python's "standard" GUI library ([[http://docs.python.org/3/library/tkinter.html|Documentation]]) || ||[[https://github.com/enthought/traitsui|Traits/TraitsUI]] ||Qt or Wx on Windows, macOS, Linux ||7.3.1 ||2022-03-14 ||The Traits/TraitsUI package offers the ability to build scalable and cross-platforms GUIs simply by focusing on the model being viewed, and offering default widgets for various types of objects. It abstracts away the implementation, which can currently use PyQt, Pyside2 or WxPython. In the simplest case, it can automatically generate a user interface for editing a (Traits-based) object, with no additional coding on the part of the programmer-user. In more sophisticated uses, it can implement a Model-View-Controller (MVC) design pattern for Traits-based objects. || ||[[https://vtk.org/|VTK]] ||many ||9.1.0 ||2021-11-04 ||The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting capability. || ||[[https://www.wxpython.org/|wxPython]] ||[[WxWidgets|wxWidgets]] ||4.1.1 ||2020-11-21 ||Supports Windows/Unix/Mac. See [[WxPython|wxPython]]. Supports Python 2.7 and >=3.4, pip installable. Wraps & extends the wxWidgets toolchain. Permissive Licence. || |
Line 66: | Line 53: |
||'''Package''' ||'''Target''' ||Latest version ||Latest update date ||'''Notes''' || ||BeThon ||BeOS || || || Port of Python to BeOS, as well as the Bethon BeOS API interface library. See http://bebits.com/app/1564 || ||[[http://homepages.cwi.nl/~jack/macpython/|MacPython]]|| MacOS || 2.3.3 || 2004-04-02 ||Supports both OSX and OS9. See [[MacPython]] || ||[[http://pyobjc.sourceforge.net/|PyObjC]]|| MacOSX || || ||Supports Cocoa Aqua GUIs on the Mac || ||[[https://bitbucket.org/yomgui/pymui|PyMUI]]|| MorphOS || 0.7.0 || 2013-12-27 ||LGPL !MagicUserInterface wrapper for Python. Support for MorphOS 2.x.(Python 2.7) || ||[[http://www.codeplex.com/IronPythonStudio|IronPython Studio]]|| Windows || 1.0 || 2007-12-10 ||A free GUI implementation of IronPython with the same interface as Visual Studio. || ||[[http://sourceforge.net/projects/venster/|venster]]|| Windows || 0.72 || 2004-12-25 ||[[venster|Venster]] is a highly native Windows GUI toolkit for Python based on the ctypes ffi library. The aim of Venster is to be a very lightweight wrapper around the standard Win32 API, making it easy to write slick windows applications in pure Python. || ||Win32All ||Windows || || ||Also known by the names of its components: PythonWin (for the UI), Win32Com (for COM/ActiveX), Win32 (for some other parts of the API) || |
||'''Package''' ||'''Target''' ||'''Latest version''' ||'''Latest update''' ||'''Notes''' || || [[https://chaquo.com/chaquopy/|Chaquopy]] || [[Android]] || 15.0.1 || 2023-12-24 || A plugin for Android Studio’s standard Gradle build system. Provides simple APIs for calling Python code from Java/Kotlin and vice versa, and a wide range of third-party Python packages. || ||[[https://github.com/ronaldoussoren/pyobjc|PyObjC]] ||MacOSX || 6.2.2 || 2020-07-08 ||Supports Cocoa Aqua GUIs on the Mac || ||[[https://github.com/mhammond/pywin32|pywin32]] ||Windows || 304 || 2022-06-02 ||Previously called win32all. Also known by the names of its components: PythonWin (for the UI), Win32Com (for COM/ActiveX), Win32 (for some other parts of the API) || |
Line 78: | Line 61: |
||[[http://autoglade.sf.net/|Autoglade]]|| PyGtk || 0.5 || 2009-07-27 ||Automagically creates GUI applications from [[http://glade.gnome.org/|Glade]] GUI definition, GPL || ||[[http://www.thekompany.com/products/blackadder/ |BlackAdder]] || PyQt || 1.0 || 2003-09-11 ||Commercial ('''Inactive Website, Demo copy can be found at''' https://archive.org/details/tucows_332773_BlackAdder ) || ||[[http://sourceforge.net/projects/boa-constructor/|BoaConstructor]] || WxPython || 0.6.1 || 2007-07-05 ||GPL A RAD GUI Building IDE for wxPython. See [[BoaConstructor]]|| ||[[http://eric-ide.python-projects.org/|The Eric Python IDE]]|| PyQt || 5.4.2 || 2014-03-09 ||GPL. a full featured Python and Ruby editor and IDE, integrating the highly flexible Scintilla editor control.(Python 2 & 3 versions) || ||[[http://sourceforge.net/projects/farpyguie/|FarPy GUIE]]|| WxPython || 0.5.5 || 2007-04-14 ||GPL. Supports wxPython, wxRuby, wxPerl & IronPython! || ||[[https://code.google.com/p/gui2py/|gui2py]] ||WxPython || || ||Visual GUI Designer, Inspector and Property Editor (embeddable). PythonCard "fork". LGPL3. || ||[[http://ftp.gnome.org/pub/GNOME/sources/gazpacho/0.7/|Gazpacho]]|| PyGtk || 0.7.2 || 2007-07-29 ||GPL. Create a Graphical User Interface (GUI) for your GTK+ program in a visual way. || ||[[http://glade.gnome.org/|Glade]]|| PyGtk || 3.16.1 || 2013-12-18 ||GPL. Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment. || ||[[lwickjr/Modules/|GWiz]] ||[[Tix]] || || ||GUI engine with integrated GUI builder. Need Alpha testers. || ||[[http://www.codeplex.com/IronPythonStudio|IronPython Studio]] ||Windows Application || || ||A free GUI implementation of IronPython with the same interface as Visual Studio. || ||[[http://www.activestate.com|Komodo]] ||TkInter || || ||Commercial || ||[[http://nodebox.net/|NodeBox]]|| MacOSX, Win, Linux || 3.0.38 || 2014-01-24 ||App to creating 2D visuals using Python programming code. || ||[[http://page.sourceforge.net/|PAGE]] ||Tkinter, Tix || || ||GUI editor for Windows and Linux || ||[[https://github.com/alejandroautalan/pygubu|pygubu]] ||TkInter || || ||GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade. || ||PyScripter ||Windows || || ||An OpenSource IDE developed using Python and Delphi || ||PythonCard ||PythonCard, WxPython || || ||Python License. Alpha. || ||[[http://pythontoolkit.sourceforge.net/|PythonToolkit (PTK)]] ||Windows/Linux/Mac || || ||An interactive environment for python, suitable for interactive GUI programming with different GUI toolkits (wxPython, TkInter, pyGTK, pyQT4 and PySide) || ||PythonWorks ||TkInter || || ||PythonWorks is no longer being developed. They still support their existing customers, but licenses are no longer available to new customers. || ||[[https://code.google.com/p/rad2py/|rad2py]] ||[[https://code.google.com/p/gui2py/|gui2py]] & WxPython || || ||Rapid Application Development platform for python (including editor, debugger, visual designer, unit tests, etc.). GPLv3. Alpha. || ||[[https://pypi.python.org/pypi/tkRAD|tkRAD]] ||Tkinter || || ||Tkinter Rapid Application Development and XML widget builder || ||[[http://www.trolltech.com/products/qt/features/designer|Qt Designer]] ||PyQt || || ||A form design tool, available with both Commercial and GPL editions of Qt. Can be used with Eric3 and Eric4. || ||WxDesigner ||WxPython || || ||Commercial Student EUR 29, Single user EUR 129 || ||[[http://wxformbuilder.org/|WxFormBuilder]] ||WxPython || || ||GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python. || ||WxGlade ||WxPython || || ||MIT License, Alpha. || ||[[http://sourceforge.net/projects/xrope/|xrope]] ||Python Tkinter || || ||GUI, class browser, file manager, with code completion. Licensed under the GPL. || ||[[http://sourceforge.net/projects/visualtkinter/|Visual Tkinter IDE]] ||Tkinter || || ||Visual Tkinter IDE for Python 2.6 || ||[[http://sourceforge.net/projects/visualtkinter/|Visual Python IDE]] ||Tkinter || || ||Visual Python IDE for Python 2.6|| |
||[[https://www.abstra.io/editor|Abstra lib]] || Web ||1.4.0 ||2023-04-14 ||GUI App Builder for Python || ||[[https://anvil.works/articles/python-gui-builder-web|Anvil GUI Builder]] || Web || ||2023-1-30 ||Free online drag-and-drop GUI builder for full-stack web apps all in Python, with built-in (freemium) hosting for apps. || ||[[https://eric-ide.python-projects.org/|The Eric Python IDE]] ||PyQt ||7 (22.6) ||2022-06-01 ||Eric is a full featured Python editor and IDE, written in Python. It is based on the cross platform Qt UI toolkit, integrating the highly flexible Scintilla editor control. || ||[[https://github.com/reingart/gui2py]] ||WxPython || 0.9.6.1 || 2016-09-05 ||Visual GUI Designer, Inspector and Property Editor (embeddable). PythonCard "fork". LGPL3. || ||[[http://glade.gnome.org/|Glade]] ||PyGobject ||3.38.2 ||2020-11-20 ||Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK toolkit and the GNOME desktop environment. || ||[[https://www.activestate.com/products/komodo-ide/|Komodo IDE]] ||TkInter || 12.0.1 || 2020-02-10 ||Komodo IDE is now FREE as part of the ActiveState Platform. || ||[[http://nodebox.net/|NodeBox]] ||macOS, Win, Linux ||3.0.53 ||2022-02-18 ||Cross-platform, node-based GUI for efficient data visualizations and generative design. || ||[[http://page.sourceforge.net/|PAGE]] ||TkInter, ttk ||7.4 ||2022-05-04 ||PAGE is a cross-platform drag-and-drop GUI generator, bearing a resemblance to Visual Basic. It allows one to easily create Python GUI windows containing a selection of Tk and ttk widgets. || ||[[https://github.com/alejandroautalan/pygubu|pygubu]] ||TkInter ||0.21 ||2022-05-05 ||GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade. || ||[[https://github.com/pyscripter/pyscripter|PyScripter]] ||Windows ||4.0.0 ||2021-05-21 ||MIT Open Source IDE developed using Python and Delphi. See PyScripter. (Python 3) || ||[[http://https://github.com/wxFormBuilder/wxFormBuilder|wxFormBuilder]] ||[[WxPython|wxPython]] ||3.10.1 ||2021-10-22 ||GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python. || ||[[http://wxglade.sourceforge.net/|wxGlade]] ||[[WxPython|wxPython]] ||1.0.0 ||2020-12-20 ||MIT License, wxGlade is a GUI designer written in Python with the popular GUI toolkit wxPython, that helps you create wxWidgets/wxPython user interfaces.. See WxGlade supports Python >= 2.7 (recommended 3.5/3.6) and wxPython >=2.8 (recommended 4.0) || ||[[https://www.cubix.co/python|Python Development Company]] || Web || ||2024-02-05 ||Partner with a proven python development company and let your business thrive with cutting-edge solutions made with python. || |
Line 109: | Line 77: |
CameronLaird's personal notes on Python GUIs http://phaseit.net/claird/comp.lang.python/python_GUI.html includes over 25 links to toolkits and techniques for connecting python with a GUI. Opendocs previously had some material on Qt programming with Python for on-line reading, but ownership of the domain appears to have lapsed. An online version of Boudewijn Rempt's book about PyQt for Qt 3, [[http://www.commandprompt.com/community/pyqt/|GUI Programming with Python: QT Edition]], is still available. An up-to-date book covering PyQt4, [[http://www.qtrac.eu/pyqtbook.html|Rapid GUI Programming with Python and Qt]] by Mark Summerfield, is now available in print and as an online "rough cut". More details can be found on the [[http://www.diotavelli.net/PyQtWiki/Books|PyQt Wiki]]. http://www.awaretek.com/toolkits.html - Choose Your GUI Toolkit: Find Your GUI Toolkit for Python based on your preferences. Quick cgi application which helps you make a choice. See also [[http://awaretek.com/plf.html|Python City]]. |
|
Line 120: | Line 83: |
Currently, this section is rather incomplete. Don't be too disappointed if you can't find the information you need, but please add any information you can contribute. It might be useful to have information about the GUIs and development tools in a fixed format to make them more easily comparable (see WebProgrammingTemplate and WebProgrammingTemplateHelp). Some categories: directly supported widgets, add-on widgets, layout managers, etc. Maybe it could answer the questions in ChoosingGuiToolkits for each toolkit. | ---- [[CategoryPyGUI]] |
GUI Programming in Python
Python has a huge number of GUI frameworks (or toolkits) available for it, from TkInter (traditionally bundled with Python, using Tk) to a number of other cross-platform solutions, as well as bindings to platform-specific (also known as "native") technologies.
Cross-Browser Frameworks
Package |
Target |
Latest version |
Latest update date |
Notes |
All major Web Browsers |
|
2023-5-11 |
Build forms as Python scripts. |
|
All major Web Browsers |
1.7.0 |
2022-5-30 |
Full-stack web apps using only Python and a free online drag-and-drop GUI builder, with built-in (freemium) hosting for your apps. |
|
All major Web Browsers |
0.13.3 |
2023-09-11 |
World's lightest toolkit to quickly and easily add a GUI to your Python programs and bring them online. |
|
All major Web Browsers |
0.1.5 |
2020-10-14 |
An object oriented high-level Python Web Framework that requires no frontend programming. |
|
All major Web Browsers |
1.1.3 |
2022-07-12 |
Mercury converts Python code in Jupyter Notebook into web applications. The interactive widgets are added based on YAML header. The end-user can tweak widgets values and execute notebook with new parameters. It allows to hide code, export executed notebook to PDF, schedule notebook, add authentication. |
|
All major Web Browsers |
1.2.15 |
2023-05-27 |
NiceGUI provides a unique combination of gentle learning curve and advanced customization capabilites. Operating as a webserver or Electron-like in a native window, it's also designed for hardware integration like USB cameras and GPIO pins, making it ideal for home automation and robotics. |
Cross-Platform Frameworks
The major cross-platform technologies upon which Python frameworks are based include GTK, Qt, Tk and wxWidgets, although many other technologies provide actively maintained Python bindings.
Package |
Target |
Latest version |
Latest update |
Notes |
Windows, macOS, Linux |
0.94 |
2019-05-26 |
Simple & intuitive wrapper for Tkinter. In active development, designed for educational purposes, heavily documented & feature rich! |
|
Linux / many |
0.11.0 |
2016-02-16 |
Fully automatic, live connection among graphical interface widgets and application variables. |
|
Windows, macOS, Linux |
66.1 |
2021-02-16 |
Python bindings for the CEF Framework. CEF is based on Google Chromium and focuses on facilitating embedded browser use cases in third-party applications. With CEF you can create a light-weight native “shell” application that hosts a user interface developed primarily using Web technologies. Examples of embedding CEF browser control are available for many popular GUI toolkits such as PyQt, PySide, wxPython, PyGTK, PyGObject, Kivy and PyGame/PyOpenGL. |
|
0.9.16 |
2016-08-16 |
Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit |
||
Windows, macOS, Linux, Raspberry Pi 4 |
1.7.3 |
2022-10-22 |
A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies. At its’ core it is a Python implementation of Dear ImGui. Docs are located at Read The Docs. |
|
Windows, MacOSX, Linux, Android, iOS |
0.2.2 |
2022-11-25 |
An easy to learn Python framework for building realtime web, mobile and desktop apps with a beautiful Flutter UI. |
|
Qt |
1.2.0 |
2020-08-10 |
A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code |
|
0.9.5 |
2016-08-17 |
Both a framework and visual tools: GUI Designer, Inspector and Property Editor. Supports Python 2.5 to Python 3.2; wxPython 2.8 "stable", 2.9 "classic" and "phoenix" (py3k). Features advanced pythonic MVC controls (ListView, GridView, TreeView) using list- and dict-like objects; masked and date picker controls; common dialogs; fluid layout using sizers & basic HTML; simplified event model (similar to JavaScript). Can include wxPython code in apps. Modern PythonCard "fork" hugely enhanced. |
||
Qt |
2.2.1 |
2022-06-05 |
Based on the Qt library, guidata is a Python library generating graphical user interfaces for easy dataset editing and display. It also provides helpers and application development tools for Qt (PyQt5, PySide2, PyQt6, PySide6). |
|
Qt |
1.4.0 |
2022-03-31 |
A Qt wrapper that makes it extremely easy to create simple graphical interfaces. |
|
wxPython |
1.0.8.1 |
2021-06-12 |
Converts most argparse based CLI programs into wxPython GUI programs with a single import and decorator. |
|
Windows, macOS, Linux (Tkinter based) |
1.3.0 |
2022-01-01 |
guizero is a Python 3 library for creating simple GUIs. The aim of guizero is to make the process of creating simple GUIs quick, accessible and understandable for new learners. |
|
.NET/Mono |
3.4.0-beta1 |
2022-04-30 |
Python for .NET platform. See IronPython for more info. |
|
Java |
2.7.2 |
2020-03-21 |
Jython is an implementation of Python seamlessly integrated with the Java platform. See Jython |
|
Windows, MacOSX, Linux, Android, iOS |
2.1.0 |
2022-03-06 |
OpenGL ES 2 accelerated framework for creating innovative user interfaces. Kivy have a native multitouch support for every platform, mouse simulator, widgets multitouch ready, integrated virtual keyboard, rst renderer... |
|
Windows, macOS, Linux |
1.8.2 |
2014-07-16 |
Not strictly a GUI toolkit, but a high-level multimedia framework that allows construction of media-rich guis. |
|
Windows, macOS, Linux, Raspberry Pi OS (Wraps C++ FLTK) |
1.3.9 |
2024-01-07 |
Fast and Easy to learn. OOP extensible widgets. Provides access to OpenGL features. Stands for Fast, Light Toolkit.(Python 3) |
|
Qt & OpenGL |
|
2016-12-20 |
A Python framework to develop GUI application, which promotes modular software design and code reusability with minimal effort. |
|
2.1.2 |
2021-12-27 |
Pygame is a set of Python modules designed for making multimedia applications like games built on top of the SDL library. |
||
Windows, macOS, Linux |
1.5.24 |
2022-06-12 |
pyglet is a cross-platform windowing and multimedia library for Python, for developing games and other visually rich applications. |
|
GTK |
3.42.1 |
2022-04-17 |
PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more. See PyGobject. Replacement for PyGtk. |
|
Qt |
6.3.1 |
2022-06-17 |
Python 3 bindings for the Qt application framework. |
|
Windows, macOS, Linux (via Sciter) |
4.4.7.0 |
2021-04-27 |
Python bindings for the Sciter (embeddable HTML/CSS/JavaScript engine). |
|
Qt |
6.3.0 |
2022-04-13 |
Qt for Python (formerly known as PySide) offers the official Python bindings for the Qt cross-platform application and UI framework. |
|
tkinter, Qt, wxPython,Browser, Win, Mac, Linux, Pi, PyDroid3, Trinket, replit |
4.60.5 |
2023-05-22 |
Wraps tkinter, Qt (pyside2), wxPython and Remi (for browser support) in a non-OOP API. Build custom GUI layouts in minutes in a few lines of code. Easy enough for beginners, powerful enough for advanced users. Extensive documentation. 100+ Built-in color themes. Capable of complex & extensive multi-window applications as well as simple ones. Run eCookbook online. 350+ example programs. Free video course. Updated very frequently. User Support: http://Issues.PySimpleGUI.org |
|
Cocoa / Win32 / Qt / GTK |
3.6.3 |
2022-04-05 |
pywebview is a lightweight cross-platform wrapper around a webview component that allows to display HTML content in its own native GUI window. |
|
Windows, macOS, Linux (GTK), Android, iOS |
0.4.1 |
2023-12-21 |
Cross platform, Python native GUI toolkit that uses native system widgets. Under development as part of the BeeWare project. |
|
Tk |
Included in Python standard library |
Python's "standard" GUI library (Documentation) |
||
Qt or Wx on Windows, macOS, Linux |
7.3.1 |
2022-03-14 |
The Traits/TraitsUI package offers the ability to build scalable and cross-platforms GUIs simply by focusing on the model being viewed, and offering default widgets for various types of objects. It abstracts away the implementation, which can currently use PyQt, Pyside2 or WxPython. In the simplest case, it can automatically generate a user interface for editing a (Traits-based) object, with no additional coding on the part of the programmer-user. In more sophisticated uses, it can implement a Model-View-Controller (MVC) design pattern for Traits-based objects. |
|
many |
9.1.0 |
2021-11-04 |
The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting capability. |
|
4.1.1 |
2020-11-21 |
Supports Windows/Unix/Mac. See wxPython. Supports Python 2.7 and >=3.4, pip installable. Wraps & extends the wxWidgets toolchain. Permissive Licence. |
Platform-specific Frameworks
Package |
Target |
Latest version |
Latest update |
Notes |
15.0.1 |
2023-12-24 |
A plugin for Android Studio’s standard Gradle build system. Provides simple APIs for calling Python code from Java/Kotlin and vice versa, and a wide range of third-party Python packages. |
||
MacOSX |
6.2.2 |
2020-07-08 |
Supports Cocoa Aqua GUIs on the Mac |
|
Windows |
304 |
2022-06-02 |
Previously called win32all. Also known by the names of its components: PythonWin (for the UI), Win32Com (for COM/ActiveX), Win32 (for some other parts of the API) |
GUI Design Tools and IDEs
IDE |
Target |
Latest version |
Latest update date |
Notes |
Web |
1.4.0 |
2023-04-14 |
GUI App Builder for Python |
|
Web |
|
2023-1-30 |
Free online drag-and-drop GUI builder for full-stack web apps all in Python, with built-in (freemium) hosting for apps. |
|
7 (22.6) |
2022-06-01 |
Eric is a full featured Python editor and IDE, written in Python. It is based on the cross platform Qt UI toolkit, integrating the highly flexible Scintilla editor control. |
||
0.9.6.1 |
2016-09-05 |
Visual GUI Designer, Inspector and Property Editor (embeddable). PythonCard "fork". LGPL3. |
||
3.38.2 |
2020-11-20 |
Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK toolkit and the GNOME desktop environment. |
||
12.0.1 |
2020-02-10 |
Komodo IDE is now FREE as part of the ActiveState Platform. |
||
macOS, Win, Linux |
3.0.53 |
2022-02-18 |
Cross-platform, node-based GUI for efficient data visualizations and generative design. |
|
TkInter, ttk |
7.4 |
2022-05-04 |
PAGE is a cross-platform drag-and-drop GUI generator, bearing a resemblance to Visual Basic. It allows one to easily create Python GUI windows containing a selection of Tk and ttk widgets. |
|
0.21 |
2022-05-05 |
GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade. |
||
Windows |
4.0.0 |
2021-05-21 |
MIT Open Source IDE developed using Python and Delphi. See PyScripter. (Python 3) |
|
3.10.1 |
2021-10-22 |
GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python. |
||
1.0.0 |
2020-12-20 |
MIT License, wxGlade is a GUI designer written in Python with the popular GUI toolkit wxPython, that helps you create wxWidgets/wxPython user interfaces.. See WxGlade supports Python >= 2.7 (recommended 3.5/3.6) and wxPython >=2.8 (recommended 4.0) |
||Python Development Company || Web || ||2024-02-05 ||Partner with a proven python development company and let your business thrive with cutting-edge solutions made with python. ||
Links
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python - Wikipedia article describing several IDE's and GUI Builders.
Editorial Notes
The above lists should be arranged in ascending alphabetical order - please respect this when adding new frameworks or tools.