Differences between revisions 381 and 430 (spanning 49 versions)
Revision 381 as of 2019-04-17 18:11:24
Size: 19689
Comment: Updated the TraitsUI link: the old one was dead.
Revision 430 as of 2021-01-03 23:29:08
Size: 14032
Comment: New release of PAGE, updated description from the project’s homepage
Deletions are marked like this. Additions are marked like this.
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 7:
||[[https://github.com/epeios-q37/atlas-python|Atlas toolkit for Python]] ||All major Web Browsers ||0.7 ||2019-03-04 ||A quick and easy way to add sharable web interfaces to Python programs. || ||[[https://github.com/epeios-q37/atlas-python|Atlas toolkit for Python]] ||All major Web Browsers ||0.12 ||2020-08-28 ||For versatile GUIs written in HTML/CSS and Python (no JavaScript needed) - The lightweight and easy-to-use toolkit to begin with GUI programming. ||
Line 15: Line 12:
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. 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.
Line 17: Line 14:
||[[http://appJar.info/|appJar]] ||Windows, MacOS, Linux ||0.93 ||2018-05-07 ||Simple & intuitive wrapper for Tkinter. In active development, designed for educational purposes, heavily documented & feature rich! ||
||[[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://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. ||
Line 20: Line 17:
||[[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 ||
||[[https://github.com/MatthieuDartiailh/enaml|ENAML]] ||Qt ||0.9.12 ||2017-01-01 ||Cross platform, declarative user interfaces. ||
||[[https://pypi.python.org/pypi/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 ||
||[[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|DearPyGui]] ||Windows, MacOS, Linux ||0.6.117 ||2020-12-28 || Dear PyGui A GPU Accelerated Python GUI Framework. At its' core it is a Python implementation of [[https://github.com/ocornut/imgui#dear-imgui/|Dear ImGui]]. Docs are located on the [[https://github.com/hoffstadt/DearPyGui/wiki|Github Wiki]].||
||[[https://pypi.python.org/pypi/formlayout|formlayout]] ||Qt ||1.1.0 ||2015-11-15 ||A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code ||
Line 27: Line 21:
||[[https://pythonhosted.org/guidata/|guidata]] ||Qt ||1.7.4 ||2015-12-10 ||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. ||
||[[https://pypi.org/project/Gooey/|Gooey]] ||wxPython ||1.0.2 ||2018-11-04 ||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) ||0.3.3 ||2017-06-07 ||The aim of guizero is to make the process of creating simple GUIs quick, accessible and understandable for children. It is a Python 3 library based on Tkinter, for creating simple GUIs. ||
||[[https://pythonhosted.org/guidata/|guidata]] ||Qt ||1.7.6 ||2016-10-09 ||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. ||
||[[https://guietta.readthedocs.io/en/stable|guietta]] ||Qt ||0.3.5 ||2020-07-10 ||A Qt wrapper that makes it extremely easy to create simple graphical interfaces
||
||[[https://pypi.org/project/Gooey/|Gooey]] ||wxPython ||1.0.3 ||2019-09-22 ||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.1.1 ||2020-11-27 ||The aim of guizero is to make the process of creating simple GUIs quick, accessible and understandable for children. It is a Python 3 library based on Tkinter, for creating simple GUIs. ||
Line 31: Line 26:
||[[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.10.0 ||2017-05-07 ||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://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://umsenhorqualquer.github.io/pyforms/|PyForms]] ||Qt & OpenGL || ||2015-07-10 ||PyForms is a Python framework to develop GUI application, which promotes modular software design and code reusability with minimal effort. ||
||[[http://pygame.org/|PyGame]] ||PyGame ||1.9.3 ||2017-02-16 ||Primarily an introduction to game programming. Only supports one window.(Python 2 & 3) ||
||[[https://bitbucket.org/pyglet/pyglet/overview|Pyglet]] ||Windows, MacOS, Linux ||1.3.0b1 ||2017-06-12 ||Cross-platform windowing and multimedia library that heavily uses OpenGL. ||
||[[https://wiki.gnome.org/action/show/Pro
jects/PyGObject|PyGObject]] ||Gtk? ||3.10.2 ||2013-11-1 ||PyGObject (aka PyGI). Python Bindings for GLib/GObject/GIO/GTK+. '''Replacement for PyGtk'''. See PyGobject ||
||[[http://www.pygtk.org/|PyGtk]] ||Gtk ||2.24.0 ||2011-04-01 ||See PyGtk. 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 '''Note: New users are encouraged to use GTK+3 through the [[https://live.gnome.org/PyGObject|PyGObject bindings]] instead of using PyGTK with GTK+2. Windows users may still want to keep using PyGTK until more convenient installers are published.''' ||
||[[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.0.0 ||2020-12-10 ||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.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]] ||[[FLTK]] ||1.3.5 ||2020-06-12 ||supports Windows/Unix/Mac and provides access to OpenGL features. Stands for Fast, Light Toolkit.(Python 2 & 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.0.0 ||2020-10-28 ||Pygame is a set of Python modules designed for writing video games. ||
||[[http://pyglet.org|Pyglet]] ||Windows, MacOS, Linux ||1.5.14 ||2020-12-31 ||Cross-platform windowing and multimedia library that heavily uses OpenGL. ||
||[[https://pygo
bject.readthedocs.io/en/latest/|PyGObject]] ||GTK ||3.38.0 ||2020-09-12 ||PyGObject (aka PyGI). Python Bindings for GLib/GObject/GIO/GTK. '''Replacement for PyGtk'''. See PyGobject ||
||[[http://www.pygtk.org/|PyGtk]] ||GTK ||2.24.0 ||2011-04-01 ||Bindings for pango, atk, GTK and libglade. '''Note: New users are encouraged to use GTK 3 through the [[https://live.gnome.org/PyGObject|PyGObject bindings]] instead of using PyGTK with GTK 2.''' See PyGtk.||
Line 41: Line 36:
||[[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. Note PyjamasDesktop was merged into Pyjamas. ||
||[[http://sourceforge.net/projects/pykde/|PyKDE]] ||Qt / KDE || || ||Python wrappers for the [[http://www.kde.org/|KDE]] libraries. See [[PyKDE]] ||
||[[https://riverbankcomputing.com|PyQt]] ||Qt ||5.10.1 ||2018-02-27 ||Python bindings for the [[http://www.qt.io/|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.PySimpleGUI.com/|PySimpleGUI]] ||tkinter Qt w[[WxPython|xPython]] Browser ||3.24.0 ||2019-02-03 ||Wraps tkinter, Qt, [[WxPython|wxPython]] and Remi (for browser support). Enables custom GUI layouts to be built in a few minutes in a few lines of code. Easy enough for completely beginners, powerful enough for advanced users. Extensive documentation ||
||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. ||
||[[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. ||
||[[https://riverbankcomputing.com|PyQt]] ||Qt ||5.15.1 ||2020-09-12 ||Python bindings for the [[http://www.qt.io/|Qt]] application development framework (Python 2 & 3) ||
||[[https://github.com/sciter-sdk/pysciter|PySciter]] ||Sciter ||4.3.0.6 ||2016-02-16 ||Python bindings for the [[https://sciter.com|Sciter]] - embeddable HTML/CSS UI engine. Windows, MacOS, Linux and mobiles. ||
||[[http://www.pyside.org/|PySide]] ||Qt || 5.15.0 ||2020-06-15 ||The Qt for Python (PySide) project provides licensed 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 ||4.32.1 ||2020-11-17 ||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. Runs online using [[https://pysimplegui.trinket.io/demo-programs|Trinket]]. 200+ example programs. Updated frequently ||
Line 51: Line 43:
||[[http://pybee.org/project/projects/libraries/toga/|Toga]] ||OSX, GTK+, iOS ||0.2.4 ||2016-10-13 ||Cross platform, Python native GUI toolkit that uses native system widgets. Under development as part of [[http://pybee.org/|the BeeWare project]]. (Latest [[https://github.com/pybee/toga/releases|releases]]) ||
||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]]) [[http://www.tkdocs.com/tutorial/install.html|A version of Tk 8.5 or greater, is required to use ttk]] (Also see [[http://bugs.python.org/issue20565|Issue20565]]) ||
||[[http://pybee.org/project/projects/libraries/toga/|Toga]] ||OSX, GTK, iOS ||0.2.4 ||2016-10-13 ||Cross platform, Python native GUI toolkit that uses native system widgets. Under development as part of [[http://pybee.org/|the BeeWare project]]. (Latest [[https://github.com/pybee/toga/releases|releases]]) ||
||TkInter ||Tk ||<-2> Included in Python standard library ||Python's "standard" GUI library ([[http://docs.python.org/3/library/tkinter.html|Documentation]]) ||
Line 55: Line 47:
||[[http://sourceforge.net/projects/waxgui/|Wax]] ||[[WxWidgets|wxWidgets]] ||0.3.33 ||2006-03-17 ||A wrapper to [[WxPython|wxPython]], easier and more "pythonic" ||
||[[http://www.wxpython.org/|wxPython]] ||[[WxWidgets|wxWidgets]] ||4.0.4 ||2019-01-05
||Supports Windows/Unix/Mac. See [[WxPython|wxPython]]. Supports Python 2.7 and >=3.4, pip installable. Wraps & extends the wxWidgets toolchain. Permissive Licence. ||

||[[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 63: Line 52:
||[[https://chaquo.com/chaquopy/|Chaquopy]] ||[[Android]] ||5.1.2 ||2019-01-19 ||A plugin for Android Studio's Gradle-based build system. Supports embedding Python code within a regular Java/Kotlin app, or writing an app entirely in Python with full access to the Android API. ||
||[[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://homepages.cwi.nl/~jack/macpython/|MacPython]] ||MacOS ||2.3.3 ||2004-04-02 ||Supports both OSX and OS9. See MacPython ||
||[[http://sourceforge.net/projects/ocean/|Ocean]] ||Windows ||0.2.3-r97 ||2007-04-02 ||GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning. ||
||[[http://pyobjc.sourceforge.net/|PyObjC]] ||MacOSX || || ||Supports Cocoa Aqua GUIs on the Mac ||
||[[https://chaquo.com/chaquopy/|Chaquopy]] ||[[Android]] ||8.0.1 ||2020-07-28 ||A plugin for Android Studio's Gradle-based build system. Supports embedding Python code within a regular Java/Kotlin app, or writing an app entirely in Python with full access to the Android API. ||
||[[https://github.com/ronaldoussoren/pyobjc|PyObjC]] ||MacOSX || 6.2.2 || 2020-07-08 ||Supports Cocoa Aqua GUIs on the Mac ||
Line 69: Line 55:
||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) || ||[[https://github.com/mhammond/pywin32|pywin32]] ||Windows || 228 || 2020-06-13 ||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 74: Line 60:
||[[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. '''File gone was on lwickjr's python wiki page''' ||
||[[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 ||4.2.1 ||2014-02-21 ||GUI editor for Windows, Mac and Linux. ||
||[[https://github.com/alejandroautalan/pygubu|pygubu]] ||TkInter ||0.9.2 ||2013-11-05 ||GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade. ||
||[[http://code.google.com/p/pyscripter/|PyScripter]] ||Windows ||2.5.1 ||20120319 ||MIT Open Source IDE developed using Python and Delphi. See PyScripter.(Python 2 & 3) ||
||[[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 ||
||[[http://eric-ide.python-projects.org/|The Eric Python IDE]] ||PyQt ||6 (21.1) ||2021-01-02 ||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.1 ||2020-10-04 ||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]] ||TkInter || 12.0.1 || 2020-02-10 ||Commercial ||
||[[http://nodebox.net/|NodeBox]] ||MacOSX, Win, Linux ||3.0.51 ||2018-01-08 ||App to creating 2D visuals using Python programming code. ||
||[[http://page.sourceforge.net/|PAGE]] ||TkInter, ttk ||6.0.1 ||2020-12-17 ||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.10.3 ||2020-10-03 ||GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade. ||
||[[http://code.google.com/p/pyscripter/|PyScripter]] ||Windows ||2.5.1 ||2012-03-19 ||MIT Open Source IDE developed using Python and Delphi. See PyScripter.(Python 2 & 3) ||
Line 91: Line 69:
||[[https://web.archive.org/web/20131520194000/http://www.pythonware.com/products/works/|PythonWorks]] ||TkInter ||1.3 ||2002/11/25 ||PythonWorks is no longer being developed. Existing customers still supported, but no new licenses are available to new customers. ||
||[[https://code.google.com/p/rad2py/|rad2py]] ||[[https://code.google.com/p/gui2py/|gui2py]] & [[WxPython|wxPython]] || || ||Rapid Application Development platform for python (including editor, debugger, visual designer, unit tests, etc.). GPLv3. Alpha. ||
||[[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|wxDesigner]] ||[[WxPython|wxPython]] || || ||Commercial Student EUR 29, Single user EUR 129 ||
||[[http://wxformbuilder.org/|wxFormBuilder]] ||[[WxPython|wxPython]] ||3.9.0 ||2018/10/26 ||GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python. ||
||[[http://wxformbuilder.org/|wxFormBuilder]] ||[[WxPython|wxPython]] ||3.9.0 ||2018-10-26 ||GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python. ||
Line 97: Line 71:
||[[http://sourceforge.net/projects/xrope/|xRope]] ||TkInter ||1.4.4 ||2008-07-29 ||GPL. GUI, class browser, file manager, with code completion. ||
||[[http://sourceforge.net/projects/visualtkinter/|Visual Tkinter IDE]] ||TkInter ||1.28 ||2010-04-18 ||Visual Tkinter IDE for Python 2.6 ||
||[[http://sourceforge.net/projects/visualtkinter/|Visual Python IDE]] ||TkInter ||0.12.2554 ||2010-11-02 ||Visual Python IDE for Python 2.6 ||
Line 103: Line 74:
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]].
Line 112: Line 80:
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.
Line 116: Line 82:

----
[[CategoryPyGUI]]
----
[[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

Atlas toolkit for Python

All major Web Browsers

0.12

2020-08-28

For versatile GUIs written in HTML/CSS and Python (no JavaScript needed) - The lightweight and easy-to-use toolkit to begin with GUI programming.

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. Note PyjamasDesktop was merged into pyjamas.

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

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!

AVC

Linux / many

0.11.0

2016-02-16

Fully automatic, live connection among graphical interface widgets and application variables.

CEF Python

Windows, MacOS, Linux

66.0

2018-08-20

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.

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

DearPyGui

Windows, MacOS, Linux

0.6.117

2020-12-28

Dear PyGui A GPU Accelerated Python GUI Framework. At its' core it is a Python implementation of Dear ImGui. Docs are located on the Github Wiki.

formlayout

Qt

1.1.0

2015-11-15

A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code

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.

guidata

Qt

1.7.6

2016-10-09

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.

guietta

Qt

0.3.5

2020-07-10

A Qt wrapper that makes it extremely easy to create simple graphical interfaces

Gooey

wxPython

1.0.3

2019-09-22

Converts most argparse based CLI programs into wxPythonGUI programs with a single import and decorator.

guizero

Windows, MacOS, Linux (Tkinter based)

1.1.1

2020-11-27

The aim of guizero is to make the process of creating simple GUIs quick, accessible and understandable for children. It is a Python 3 library based on Tkinter, for creating simple GUIs.

IronPython

.NET/Mono

2.7.4

2013-09-07

Python for (originally MS') .NET platform. See IronPython for more info.

Jython

Java

2.7.2

2020-03-21

Jython is an implementation of Python seamlessly integrated with the Java platform. See Jython

Kivy

Windows, MacOSX, Linux, Android, iOS

2.0.0

2020-12-10

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...

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.

PyFltk

FLTK

1.3.5

2020-06-12

supports Windows/Unix/Mac and provides access to OpenGL features. Stands for Fast, Light Toolkit.(Python 2 & 3)

PyForms

Qt & OpenGL


2016-12-20

A Python framework to develop GUI application, which promotes modular software design and code reusability with minimal effort.

PyGame

PyGame

2.0.0

2020-10-28

Pygame is a set of Python modules designed for writing video games.

Pyglet

Windows, MacOS, Linux

1.5.14

2020-12-31

Cross-platform windowing and multimedia library that heavily uses OpenGL.

PyGObject

GTK

3.38.0

2020-09-12

PyGObject (aka PyGI). Python Bindings for GLib/GObject/GIO/GTK. Replacement for PyGtk. See PyGobject

PyGtk

GTK

2.24.0

2011-04-01

Bindings for pango, atk, GTK and libglade. Note: New users are encouraged to use GTK 3 through the PyGObject bindings instead of using PyGTK with GTK 2. See PyGtk.

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.

PyGUI

Cocoa / GTK / Win32

2.5.3

2011-07-16

Abstract, pythonic API encapsulating different platforms.

PyQt

Qt

5.15.1

2020-09-12

Python bindings for the Qt application development framework (Python 2 & 3)

PySciter

Sciter

4.3.0.6

2016-02-16

Python bindings for the Sciter - embeddable HTML/CSS UI engine. Windows, MacOS, Linux and mobiles.

PySide

Qt

5.15.0

2020-06-15

The Qt for Python (PySide) project provides licensed Python bindings for the Qt cross-platform application and UI framework.

PySimpleGUI

tkinter, Qt, wxPython,Browser, Win, Mac, Linux, Pi, PyDroid3, Trinket

4.32.1

2020-11-17

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. Runs online using Trinket. 200+ example programs. Updated frequently

pywebview

Cocoa / Win32 / Qt / GTK

0.8.2

2015-10-08

Pywebview is a lightweight cross-platform native wrapper around a webview component that allows to display HTML content in its own dedicated window.

Sugar

OLPC XO with Linux

0.98.5

2013-03-08

User interface for collaborative educational software

Toga

OSX, GTK, iOS

0.2.4

2016-10-13

Cross platform, Python native GUI toolkit that uses native system widgets. Under development as part of the BeeWare project. (Latest releases)

TkInter

Tk

Included in Python standard library

Python's "standard" GUI library (Documentation)

Traits/TraitsUI

Qt or Wx on Windows, MacOS, Linux

6.0.0

2018-04-03

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, Pyside 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.

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.

wxPython

wxWidgets

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

Chaquopy

Android

8.0.1

2020-07-28

A plugin for Android Studio's Gradle-based build system. Supports embedding Python code within a regular Java/Kotlin app, or writing an app entirely in Python with full access to the Android API.

PyObjC

MacOSX

6.2.2

2020-07-08

Supports Cocoa Aqua GUIs on the Mac

PyMUI

MorphOS

0.7.0

2013-12-27

LGPL MagicUserInterface wrapper for Python. Support for MorphOS 2.x.(Python 2.7)

pywin32

Windows

228

2020-06-13

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

The Eric Python IDE

PyQt

6 (21.1)

2021-01-02

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.

Glade

PyGobject

3.38.1

2020-10-04

Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK toolkit and the GNOME desktop environment.

Komodo

TkInter

12.0.1

2020-02-10

Commercial

NodeBox

MacOSX, Win, Linux

3.0.51

2018-01-08

App to creating 2D visuals using Python programming code.

PAGE

TkInter, ttk

6.0.1

2020-12-17

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.

pygubu

TkInter

0.10.3

2020-10-03

GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade.

PyScripter

Windows

2.5.1

2012-03-19

MIT Open Source IDE developed using Python and Delphi. See PyScripter.(Python 2 & 3)

PythonToolkit (PTK)

Windows/Linux/Mac

13.01

2013-03-07

An interactive environment for python, suitable for interactive GUI programming with different GUI toolkits (wxPython, TkInter, pyGTK, pyQT4 and PySide)

wxFormBuilder

wxPython

3.9.0

2018-10-26

GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python.

wxGlade

wxPython

0.9.2

2019-03-07

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 & >=3.4 + wxPython >=2.8 or >=4.0

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.


CategoryPyGUI

GuiProgramming (last edited 2024-10-20 14:02:56 by MalcolmSmith)

Unable to edit the page? See the FrontPage for instructions.