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

  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
Multiple selections
  Code folding
  Inline code warnings
  Auto-editing
  Set and traverse bookmarks
Keyboard and command macros
Inline snippets integrated with auto-completer

Code Intelligence

  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
  Black, YAPF, and PEP 8 Reformatting
Detect sys.path changes in main debug file
Auto-completion for Python and extension modules
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
  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

Debugger

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
Multi-threaded debugging
Debug value tooltips
Detect unhandled exceptions
Alter debug data values
Launch Configurations
Named Entry Points
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

Unit Testing

Select test files by pattern or name
Execute tests and view results
Debug tests
Supports unittest style tests
Supports pytest style tests
Supports doctest style tests
Supports nose style tests
Supports Django tests
Persists test results in the project
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/Merge tool

Search Interfaces

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

Project Manager

  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
  Assistance for Django, Jupyter, Flask, PyQt, Blender, PyXLL & many others
  Create new directory with project
  Clone from revision control repository
  Create virtualenvs, pipenvs, or conda envs
  Create Docker containers
  Package management with pip, 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

Other Features

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
French localization
German localization
Russian localization
Supports high DPI displays
  Native build for Apple Silicon (M1)
Perspectives
OS commands tool
  Work with Docker, Docker Compose, Vagrant, WSL and other containers
  PyLint integration
  pep8 checker integration
  mypy integration
  flake8 integration
  Extend IDE with Python scripting
Available product source code