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 Windows, Linux, and macOS
  Syntax highlights Python and 70+ 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
  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
  Black, YAPF, and 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
  Debug with python -m
  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
  Create and use 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
Configure environment
Named file sets
  Work with PyXLL
  Remote development to Linux and macOS
  Remote development to Raspberry Pi
  Remote development to Docker
  Remote development to AWS
  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
  Work with Docker, Vagrant, WSL and other containers
  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