Python is a high-level, interpreted, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.
Python is dynamically-typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly procedural), object-oriented and functional programming. It is often described as a "batteries included" language due to its comprehensive standard library.
Guido van Rossum began working on Python in the late 1980s as a successor to the ABC programming language and first released it in 1991 as Python 0.9.0. Python 2.0 was released in 2000 and introduced new features such as list comprehensions, cycle-detecting garbage collection, reference counting, and Unicode support. Python 3.0, released in 2008, was a major revision that is not completely backward-compatible with earlier versions. Python 2 was discontinued with version 2.7.18 in 2020.
Python consistently ranks as one of the most popular programming languages.
Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit, and is Python's de facto standard GUI. Tkinter is included with standard Linux, Microsoft Windows and macOS installs of Python.
The name Tkinter comes from Tk interface. Tkinter was written by Steen Lumholt and Guido van Rossum, then later revised by Fredrik Lundh.
Tkinter is free software released under a Python license.
PyQt is a Python binding of the cross-platform GUI toolkit Qt, implemented as a Python plug-in. PyQt is free software developed by the British firm Riverbank Computing. It is available under similar terms to Qt versions older than 4.5; this means a variety of licenses including GNU General Public License (GPL) and commercial license, but not the GNU Lesser General Public License (LGPL). PyQt supports Microsoft Windows as well as various flavours of UNIX, including Linux and MacOS (or Darwin).
PyQt implements around 440 classes and over 6,000 functions and methods including:
-- a substantial set of GUI widgets
-- classes for accessing SQL databases (ODBC, MySQL, PostgreSQL, Oracle, SQLite)
-- QScintilla, Scintilla-based rich text editor widget
-- data aware widgets that are automatically populated from a database
-- an XML parser
-- SVG support
-- classes for embedding ActiveX controls on Windows (only in commercial version)
To automatically generate these bindings, Phil Thompson developed the tool SIP, which is also used in other projects.
Kivy is a free and open source Python framework for developing mobile apps and other multitouch application software with a natural user interface (NUI). It is distributed under the terms of the MIT License, and can run on Android, iOS, Linux, macOS, and Windows.
Kivy is the main framework developed by the Kivy organization, alongside Python for Android, Kivy iOS, and several other libraries meant to be used on all platforms. In 2012, Kivy got a $5000 grant from the Python Software Foundation for porting it to Python 3.3. Kivy also supports the Raspberry Pi which was funded through Bountysource.
The framework contains all the elements for building an application such as:
-- extensive input support for mouse, keyboard, TUIO, and OS-specific multitouch events,
-- a graphic library using only OpenGL ES 2, and based on Vertex Buffer Object and shaders,
-- a wide range of widgets that support multitouch,
-- an intermediate language (Kv) used to easily design custom widgets.
Kivy is an evolution of the PyMT project.
PyGTK is a set of Python wrappers for the GTK graphical user interface library. PyGTK is free software and licensed under the LGPL. It is analogous to PyQt/PySide and wxPython, the Python wrappers for Qt and wxWidgets, respectively. Its original author is GNOME developer James Henstridge. There are six people in the core development team, with various other people who have submitted patches and bug reports. PyGTK has been selected as the environment of choice for applications running on One Laptop Per Child systems.
PyGTK will be phased out with the transition to GTK version 3 and be replaced with PyGObject, which uses GObject Introspection to generate bindings for Python and other languages on the fly. This is expected to eliminate the delay between GTK updates and corresponding language binding updates, as well as reduce maintenance burden on the developers.
PythonCard is a GUI construction kit for building cross-platform desktop applications on Windows, Mac OS X, and Linux, using the Python language.
The PythonCard motto is "Simple things should be simple and complex things should be possible."
PythonCard is for you if you want to develop graphical applications quickly and easily with a minimum of effort and coding. Apple's HyperCard is one of our inspirations; simple, yet powerful.
PythonCard uses wxPython. If you are already familiar with wxPython, just think of PythonCard as a simpler way of doing wxPython programs with a whole lot of samples and tools already in place for you to copy and subclass and tools to help you build cross-platform applications.
PythonCard is an open source project and is being developed under the terms of a BSD-style license. This basically means you are free to download and use the executables, source code, web pages or any other item produced by the project and use it as you wish, as long as you acknowledge the source of that item and replicate the license associated with it.
IronPython is an implementation of the Python programming language targeting the .NET Framework and Mono. Jim Hugunin created the project and actively contributed to it up until Version 1.0 which was released on September 5, 2006. IronPython 2.0 was released on December 10, 2008. After version 1.0 it was maintained by a small team at Microsoft until the 2.7 Beta 1 release. Microsoft abandoned IronPython (and its sister project IronRuby) in late 2010, after which Hugunin left to work at Google. The project is currently maintained by a group of volunteers at GitHub. It is free and open-source software, and can be implemented with Python Tools for Visual Studio, which is a free and open-source extension for Microsoft's Visual Studio IDE.
IronPython is written entirely in C#, although some of its code is automatically generated by a code generator written in Python.
IronPython is implemented on top of the Dynamic Language Runtime (DLR), a library running on top of the Common Language Infrastructure that provides dynamic typing and dynamic method dispatch, among other things, for dynamic languages. The DLR is part of the .NET Framework 4.0 and is also a part of Mono since version 2.4 from 2009. The DLR can also be used as a library on older CLI implementations.
IDLE (short for Integrated Development and Learning Environment) is an integrated development environment for Python, which has been bundled with the default implementation of the language since 1.5.2b1. It is packaged as an optional part of the Python packaging with many Linux distributions. It is completely written in Python and the Tkinter GUI toolkit (wrapper functions for Tcl/Tk).
IDLE is intended to be a simple IDE and suitable for beginners, especially in an educational environment. To that end, it is cross-platform, and avoids feature clutter.
According to the included README, its main features are:
-- Multi-window text editor with syntax highlighting, autocompletion, smart indent and other.
-- Python shell with syntax highlighting.
-- Integrated debugger with stepping, persistent breakpoints, and call stack visibility.
Author Guido van Rossum says IDLE stands for "Integrated Development and Learning Environment", and since Van Rossum named the language Python after the British comedy group Monty Python, the name IDLE was probably also chosen partly to honor Eric Idle, one of Monty Python's founding members.
PyCharm is an integrated development environment (IDE) for computer programming, mainly used for Python language development, developed by the Czech company JetBrains, providing code analysis, graphical debugger, integrated tester, integrated version control system, and supports the use of Django Do web development.
PyCharm is a cross-platform development environment with versions for Microsoft Windows, macOS and Linux. The Community Edition is released under the Apache License, and there is a Professional Edition released under a dedicated license with many additional features.
The Wing Python IDE family of integrated development environments (IDEs) from Wingware was created specifically for the Python programming language, with support for editing, testing, debugging, inspecting/browsing, and error checking Python code.
There are three products in this product line, each focused on different types of users:
-- Wing Pro – a full-featured commercial version, for professional programmers
-- Wing Personal – free version that omits some features, for students and hobbyists
-- Wing 101 – a very simplified free version, for teaching beginning programmers
Wing Pro provides local and remote debugging, editing (with multiple key bindings, auto-completion, and auto-editing), multi-selection, source browser and code navigation, code refactoring, error checking, auto-reformatting, unit testing, version control, project management, Python environment and package management, search abilities, fine-grained customization, support for Docker and LXC containers, assistance for working with third party frameworks and tools (such as Django, Flask, Matplotlib, Pandas, Blender, Maya, Unreal Engine, PyQt, wxPython, and others) extension through Python scripting, and comprehensive documentation.
Wing Personal and Wing 101 omit some of these features. For details on features provided in each product see the product overview. All three versions of Wing run on Windows, Mac OS X and Linux.
Free licenses for Wing Pro are available on application for some educational uses and for unpaid open-source software developers, (see here)
PyScripter is a free and open-source Python integrated development environment (IDE) for Windows. It is built with Delphi's Object Pascal and Python.
It originally started as a lightweight IDE designed to serve the purpose of providing a strong scripting solution for Delphi applications. Over time, it evolved into a full-featured stand-alone Python IDE. It is built in Delphi using Python4Delphi (P4D) and is extensible using Python scripts. Being built in a compiled language make it rather lightweight compared to some of the other IDEs[which?]. Currently, it is only available for Windows.
Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality.
In the Stack Overflow 2021 Developer Survey, Visual Studio Code was ranked the most popular developer environment tool, with 70% of 82,000 respondents reporting that they use it.