Product Feature Comparison

"Wing is very intuitive, yet filled with so many features I feel like an kid in a candy store." -- David A. Taylor, PhD

There are three Python IDEs from Wingware:

 The full-featured Python IDE for professional developers
 A free Python IDE for students and hobbyists
 A very simplified free Python IDE for beginners

Editor

AI code suggestion
AI code refactoring
Description-driven development
AI chat
Inline code warnings
Auto-editing
Auto-import and import management
Set and traverse bookmarks
Keyboard and command macros
Inline snippets integrated with auto-completer
Multiple selections
Code folding
Native UI on Windows, Linux, and macOS
Syntax highlights Python and 80+ languages
VI/Vim key bindings
Emacs key bindings
Visual Studio key bindings
Eclipse key bindings
XCode key bindings
macOS style key bindings
MATLAB key bindings
Brief key bindings
Customize key bindings
Smart indentation and indent guides
Adapts to file indent and EOL style
Block commenting
Rectangular and line selection
Select more/less
Select statement, block, or scope
Brace matching
Visible white space
Detect and load external changes
Drag and lock editor splits & tabs
Print file or selection
Highlight caret line
Auto-save and restore
Show line numbers
Restore previous session visual state

Code Intelligence

Code warnings and code quality management
Module browser
Current file browser
Links to docs.python.org
Find points of use
Find symbol in project
Refactoring
Optional Turbo completion mode for Python
Quick keyboard navigation to files
Find symbol in current file
Enhanced auto-completion for PyQt, PySide, and wxPython
Word list driven auto-completion for other file types
Indentation translator
Call tips & documentation (Source Assistant)
Renders PEP 287 docstring
Class browser
Static and runtime code analysis
Goto-definition
Source index menus
Auto-indent
Converts indents and EOL on paste
Code-aware line rewrapping
Supports PEP 484 and 526 type hints
Typeshed integration
Ruff, Black, YAPF, and PEP 8 Reformatting
Detect sys.path changes in main debug file
Auto-completion for Python and extension modules

Debugger

Interactive Debug Console with code intelligence
Multi-process debugging
Automatic child process debugging
Move Program Counter
Watch values and expressions
Track values by reference
Conditional breakpoints
Shift-Space to show all debug values
Ignore-counted breakpoints
Enable/disable breakpoints
Breakpoint manager
Seamless remote debugging
Recursive debugging
Process attach/detach
Inspect sys.modules
Debug Django templates
matplotlib mainloop support
Multi-threaded debugging
Debug value tooltips
Detect unhandled exceptions
Alter debug data values
Launch Configurations
Named Entry Points
GUI, Web, and embedded debugging
Step into, over, and out
Clickable exception traceback
View stack, locals/globals, and return value
Array and data frame viewer
Integrated debug process I/O
Native console I/O option
Debug in Python Shell
Debug with python -m

Unit Testing

Select test files by pattern or name
Run tests and view results
Debug tests
Supports unittest, pytest, doctest, nose, and Django tests
Persists test results in the project
Collect and display code coverage
Invalidate test results based on code coverage
Optional concurrent execution of tests
Save/Load Test results
Copy result summary to clipboard

Revision Control

Subversion integration
CVS integration
Mercurial integration
Git integration
Perforce integration
Diff and view working copy status
Log, blame/praise
Commit, update, revert
Push, pull, rebase
Create and switch branches
Stash/shelve
Diff/Merge tool

Search Interfaces

Keyboard-driven mini-search
Project-wide search
Regex and wild card search
Search Wing documentation
Search on disk
Basic search
Toolbar quick search
Search in selection
Search result callouts on editor

Project Manager

Assistance for Django, Jupyter, Flask, PyQt, Blender, PyXLL & many others
Create new directory with project
Clone from revision control repository
Create environments with virtualenv, Poetry, pipenv, and conda
Create Docker containers
Package management with pip, Poetry, pipenv, and conda
Remote development to Linux and macOS
Remote development to Raspberry Pi
Remote development to AWS
Remote development to Vagrant
Remote development to Windows Subsystem for Linux
Work with Docker and Docker Compose
Work with LXC/LXD Containers
Container management tool
Line ending and indent policies
Create Projects
Configure environment
Work with virtualenvs
Work with Anaconda environments
Add files or directories
Auto-updates with disk contents
File management in project view
Configure Python version and path
Finds PEP 514 Python installations
Named file sets

Other Features

Work with Docker, Docker Compose, Vagrant, WSL and other containers
Code warnings with PyLint, Ruff, pep8, mypy, and flake8
Imports tool
Extend IDE with Python scripting
Available product source code
Perspectives
OS commands tool
Debuggable Python shell with code intelligence
Customizable user interface layout and colors
Create multiple tool instances
Drag and drop tools and editors
Integrated documentation, How-Tos, and tutorial
Supports most versions of CPython
Works with Anaconda, ActivePython, and Enthought Python
Supports Stackless Python
Supports 32-bit and 64-bit Python builds
Supports debug builds of Python
Supports cygwin Python
Supports code in zip archives, eggs, and buildout
Supports virtualenv
High-level configuration menu
Magnified presentation mode
Keyboard-navigable user interface
Integrated feedback / bug reporting
Automatic update manager
Supports high DPI displays
Native build for Apple Silicon (M1)