Wing IDE
   HOME

TheInfoList



OR:

The Wing Python IDE is a family of
integrated development environments Integration may refer to: Biology *Multisensory integration * Path integration * Pre-integration complex, viral genetic material used to insert a viral genome into a host genome *DNA integration, by means of site-specific recombinase technolog ...
(IDEs) from Wingware created specifically for the
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
with support for editing, testing, debugging, inspecting/browsing, and error-checking Python
code In communications and information processing, code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form, sometimes shortened or secret, for communication through a communicati ...
. There are three versions of the IDE, each one focused on different types of users: * Wing Pro – a full-featured commercial version, for professional programmers; * Wing Personal – a free version that omits many of these features, for students and hobbyists; and * Wing 101 – a very simplified free version for teaching beginner programmers. Wing Pro provides AI-assisted development, local and remote
debugging In engineering, debugging is the process of finding the Root cause analysis, root cause, workarounds, and possible fixes for bug (engineering), bugs. For software, debugging tactics can involve interactive debugging, control flow analysis, Logf ...
, editing (with multiple
key bindings In computing, a keyboard shortcut (also hotkey/hot key or key binding) is a software-based assignment of an action to one or more keys on a computer keyboard. Most operating systems and applications come with a default set of keyboard shortcu ...
, auto-completion, auto-editing, and multi-selection), source browser and code navigation,
code refactoring In computer programming and software design, code refactoring is the process of restructuring existing source code—changing the '' factoring''—without changing its external behavior. Refactoring is intended to improve the design, structure, ...
, import management, error checking, auto-reformatting,
unit testing Unit testing, component or module testing, is a form of software testing by which isolated source code is tested to validate expected behavior. Unit testing describes tests that are run at the unit-level to contrast testing at the Integration ...
with code coverage,
version control Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code t ...
, project management, Python environment and package management, single and multi-file search, fine-grained customization, support for Docker and
LXC Linux Containers (LXC) is an operating system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel. The Linux kernel provides the cgroups functionality that allows l ...
containers, assistance for working with third-party frameworks and tools (such as Django, Flask, Matplotlib, Pandas, Blender, Maya, Unreal Engine, PyQt, wxPython, and others) through Python scripting, and comprehensive documentation. Wing Personal and Wing 101 omit many of these features. All three versions of Wing support installation on
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Mac OS X macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, and Intel and ARM
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
. Free licenses for Wing Pro are available for educational users and unpaid
open-source software Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
developers.


AI-assisted development

The AI assistant, available in Wing Pro only, can be used to write new code, refactor or redesign existing code, and inspect and understand code. Using the assistant, users may: * Refactor or rewrite selected code according to the user's written instructions; * Insert new AI-written code at the current editor insertion point according to a written description; and * Chat with an AI assistant to ask about some code or iterate towards a solution for a bug fix or extension, without changing any of the existing source code directly. * Supports Claude, Grok, Gemini, OpenAI, Perplexity, Mistral, Deepseek, Ollama, and other OpenAI API compatible AI providers.


Debugger

The debugger can be used to locate and fix bugs, as well as a way to write new code interactively in the live runtime state for which the code is being designed. The level of the debugging support depends on the version used, with each tier of service giving the user more features with which they can debug. Wing 101 supports: * Debug code launched from the IDE (as a file or module with 'python -m'); * Interactive debugging from (and within) the integrated Python Shell; * Exception and traceback reporting; * View stack, local/global variables, and return values; * The data frame and array viewer; * Integrated Debug I/O tool with configurable text encoding; * Optional native console I/O; and * Steps over importlib frames. Wing Personal adds: * Multi-threaded debugging; * Debug code launched outside of the IDE, including code running under a web framework or embedded instance of Python; * Debug value tooltips; * Alter debug data values; and * Define named entry points and debug launch configurations. Wing Pro adds: * An interactive Debug Probe command line for inspecting the current debug frame, with auto-completion,
syntax highlighting Syntax highlighting is a feature of text editors that is used for programming language, programming, scripting language, scripting, or markup language, markup languages, such as HTML. The feature displays text, especially source code, in differe ...
, goto-definition, call tips, and documentation links; * Multi-process and automatic child process debugging; * Launching remote debug processes from the IDE; * Conditional and ignore-counted breakpoints; * Enable/disable breakpoints; * Moving the debug program counter; * Debug unit tests; * Tutorials and extra features for Django,
Flask Flask may refer to: Container * Hip flask, a small container used to carry liquid * Laboratory flask, laboratory glassware for holding larger volumes than simple test tubes ** Erlenmeyer flask, a common laboratory flask with a flat bottom, a c ...
,
Jupyter Project Jupyter (pronounced "Jupiter") is a project to develop open-source software, open standards, and services for interactive computing across multiple programming languages. It was spun off from IPython in 2014 by Fernando Pérez and Brian ...
,
matplotlib Matplotlib (portmanteau of MATLAB, plot, and library) is a Plotter, plotting Library (computer science), library for the Python (programming language), Python programming language and its Numerical analysis, numerical mathematics extension NumPy. ...
,
web2py Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such a ...
,
Plone Plone is a free software, free and open source software, open source content management system (CMS) built on top of the Zope application server. Plone is positioned as an enterprise CMS and is commonly used for intranets and as part of the web ...
,
Zope Zope is a family of free and open-source software, free and open-source World Wide Web, web application servers written in Python (programming language), Python, and their associated online community. Zope stands for "Z Object Publishing Environm ...
, Docker, AWS,
Vagrant Vagrancy is the condition of wandering homelessness without regular employment or income. Vagrants usually live in poverty and support themselves by travelling while engaging in begging, scavenging, or petty theft. In Western countries, ...
,
Raspberry Pi Raspberry Pi ( ) is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in collaboration with Broadcom Inc., Broadcom. To commercialize the product and support its growing demand, the ...
,
Windows Subsystem for Linux Windows Subsystem for Linux (WSL) is a component of Microsoft Windows that allows the use of a GNU/Linux environment from within Windows, foregoing the overhead of a virtual machine and being an alternative to dual booting. The WSL command-lin ...
,
Blender A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
,
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter video game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of ...
,
Nuke A nuclear weapon is an explosive device that derives its destructive force from nuclear reactions, either nuclear fission, fission (fission or atomic bomb) or a combination of fission and nuclear fusion, fusion reactions (thermonuclear weap ...
, and others; * The ability to press Shift-Space to view the value of all symbols in the editor; * Recursive debugging of code invoked in the context of another debug stack frame; * Convenient Restart Debugging tool; * Tracking values by reference; * Evaluating expressions; * Breakpoint manager; * Debug process attach/detach; * Inspecting sys.modules; and * Marking a range of code in the editor for quick reevaluation in Python Shell or Debug Probe.


Code intelligence

The code intelligence features speed up editing, facilitated navigation through code, and inspected code for errors. These features rely both on static analysis of Python code found in the project and on the Python Path and runtime analysis of code whenever the debugger is active or the code is active in the integrated Python Shell. The features available to the user depend on the version being used. Wing 101 provides: * An auto-completer that offers completions in Python code and in the integrated Python shell (this feature is disabled by default in Wing 101 but can be enabled in preferences) * Source index menus in each editor provide a handy index into the source code * Goto-definition * Auto-indent * PEP8, Black, YAPF, and Ruff reformatting * Syntax and indentation error indicators * Convert indents and end-of-line characters on paste * Understands PEP 484 and 526 type hinting Wing Personal adds: * Find Symbol: keyboard-driven goto-definition within the current file or any project file * Auto-completion in non-Python files *
Indentation __FORCETOC__ In the written form of many languages, indentation describes empty space ( white space) used before or around text to signify an important aspect of the text such as: * Beginning of a paragraph * Hierarchy subordinate concept * Qu ...
analysis and conversion * Source Assistant: provides context-appropriate call signature and documentation with the rendering of PEP287 docstrings * Class browser for single files or whole project Wing Pro adds: * Code Warnings tool * Pylint, pep8 checker, mypy, flake8, and Ruff integrations * Module browser * Source Assistant includes standard library documentation links * Find all points of use of a symbol, filtering out different but like-named symbols * Find the symbol by name, in the current file or all project files * Refactoring: rename or move a symbol and update points of use, extract a range of code to a new function or method, introduce a variable, and manage imports


Project management

Wing's project manager allows developers to set up, manage, and share development configurations. It supports creating projects for existing or new source directories, with optional code retrieval from version control repositories. The IDE facilitates easy creation and configuration of
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
environments using virtualenv, pip, uv, Poetry, pipenv, or conda, either locally, on a remote host, or with containers managed by Docker or LXC/LXD.


Version control

Wing Pro integrates with various version control systems, including
Git Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively. Design goals of Git include speed, data integrity, and suppor ...
,
Mercurial Mercurial is a distributed revision control tool for software developers. It is supported on Microsoft Windows, Linux, and other Unix-like systems, such as FreeBSD and macOS. Mercurial's major design goals include high performance and scalabi ...
, Perforce, Subversion, and CVS. It offers features such as status checking, committing, logging, blame/praise/annotate, reverting, resolving, and repository push/pull operations. A difference and merge tool is also available for comparing files or directories and reviewing uncommitted changes.


Package management

Wing Pro includes an integrated package management tool that simplifies inspecting, adding, removing, and upgrading
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
packages in the development environment. It supports pip, uv, Poetry, pipenv, and conda environments.


Unit testing

Wing Pro supports
unit testing Unit testing, component or module testing, is a form of software testing by which isolated source code is tested to validate expected behavior. Unit testing describes tests that are run at the unit-level to contrast testing at the Integration ...
by allowing running and debugging of unit tests written for the unittest, pytest,
doctest doctest is a module included in the Python programming language's standard library that allows the easy generation of tests based on output from the standard Python interpreter shell, cut and pasted into docstrings. Implementation specifics Doct ...
, nose, and Django testing frameworks. It optionally tracks code coverage, to indicate how well code is being tested and to re-run only tests affected by changes to code.


Remote development

Wing Pro also supports secure development on remote hosts, virtual machines, or containers hosted by Docker, Docker Compose, or LXC/LXD. Code on the remote system may be edited, debugged, tested, and managed from the IDE, as for locally stored files. Remote development also supports externally launched debugging.


Other features

Other features present in all versions include: * Editor emulates vim,
emacs Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
,
Visual Studio Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development ...
,
Eclipse An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
,
XCode Xcode is a suite of developer tools for building apps on Apple devices. It includes an integrated development environment (IDE) of the same name for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It w ...
, Matlab, and Brief * Syntax highlighting for most programming languages, including
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
,
Django (web framework) Django ( ; sometimes stylized as django) is a free and open-source software, free and open-source, Python (programming language), Python-based web framework that runs on a web server. It follows the model–template–views (MTV) Architectural ...
templates,
CoffeeScript CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python, and Haskell in an effort to enhance JavaScript's brevity and readability. Some added features include list comprehension an ...
,
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
/
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
, CSS,
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
, C/ C++, and about 70 others * Integrated Python shell with auto-completion, syntax highlighting * Search within the current file * Configurable colour palettes and user interface layout * Extensive documentation, How-Tos, and tutorial * German, French, and Russian UI localization Wing Personal adds: * Multi-select to simultaneously edit multiple parts of a file * Define custom key bindings * Create projects for different development tasks * Quickly open project files by name fragment * Add, delete, rename, and move files in the project * Create new projects using existing virtualenv, Anaconda env, pipenv, uv, or Poetry environments * Project-wide and multi-file search * Regex and wildcard search * Search documentation Wing Pro adds: * Goto-definition, call tips, and documentation links in the integrated Python shell * Python environment creation with virtualenv, pipenv, uv, conda, Poetry, and Docker * Python package management with pip, pipenv, uv, conda, and Poetry * File add, delete, rename, and move operations track to the active revision control systems * Set and traverse bookmarks * Code snippets with recursive inline data entry * Perspectives for naming custom user interface layouts * Execute external commands in the integrated OS Commands tool * Extend the IDE's functionality with Python scripts


History

The first public version of Wing was released on the 7th of September of 2000, as 1.0 beta, only for Linux. The first stable version was v1.0 for Linux, released on the 1st of December of 2000. As of March 29, 2004, Archaeopteryx Software Inc began doing business as Wingware. Wing version 4.x and earlier were based on GTK2 and the OS X version required X11. Wing 5 changed to Qt4 via PySide and no longer uses X11 on OS X. Wing 6 moved to Qt5 with PyQt5. Wing 10 uses PyQt6.5.


See also

* List of integrated development environments for Python


References


External links

* {{DEFAULTSORT:Wing Ide Integrated development environments Python (programming language) development tools