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


  Native GUI on OS X, Windows, and Linux
  Syntax highlights Python and 70+ languages
  VI/Vim key bindings
Emacs key bindings
Visual Studio key bindings
Eclipse key bindings
XCode key bindings
OS X 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
  Set and traverse bookmarks
Keyboard and command macros
  Inline snippets integrated with auto-completer
Django template snippets

Code Intelligence

  Static and runtime code analysis
Source index menus
  Converts indents and EOL on paste
  Code-aware line wrapping
  Supports PEP 484 and 526 type hints
  Typeshed integration
  PEP 8 Reformatting
Scans for 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
Find points of use
Find symbol in project
  Optional Turbo completion mode for Python


  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
  Multi-threaded debugging
  Remote debugging
  Debug value tooltips
Detect unhandled exceptions
  Works with Django, web2py, Flask, GAE, and many others
  Remote debugging to Raspberry Pi
Alter debug data values
Launch Configurations
Named Entry Points
Convenient Restart Debugging tool
  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
  Recursive debugging
Process attach/detach
Inspect sys.modules
  Debug Django template files
  matplotlib mainloop support
  Remote debugging to Vagrant
  Remote debugging to Windows Subsystem for Linux

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
Bazaar 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 for Jupyter, Flask, PyQt, Blender, & many others
  Create and use virtualenvs
Add files or directories
Auto-updates with disk contents
File management in project view
  Configure Python version and path
  Finds PEP 514 Python installations
  Configure environment
Named file sets
  Remote development to Linux and OS X
  Remote development to Raspberry Pi
  Remote development to Vagrant
  Remote development to Windows Subsystem for Linux
Line ending and indent policies
  Django project setup

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
  PyLint integration
  pep8 checker integration
  mypy integration
  OS commands tool
  Extend IDE with Python scripting
Available product source code