Wing Python IDE 6.0.2: February 2, 2017

Wing Pro Screenshot

Wingware has released version 6.0.2 of its family of cross-platform Python IDEs with powerfully integrated editing, debugging, unit testing, and project management features. Wing runs on Windows, Linux, and OS X, and makes Python development fast, accurate, and fun.

Changes in 6.0.2

This release of Wing (1) adds support for remote development using OpenSSH via Cygwin or Git Bash on Windows, (2) allows X11 forwarding for remote development, (3) adds a drop down of found Python installations to Python Executable properties, (4) introduces refactoring operations to convert symbols between lowerCamelCase, UpperCamelCase, under_scored_name, and UNDER_SCORE_NAME styles, (5) improves adding selections by clicking, (6) fixes debugging Jupyter notebooks, and makes about 40 other improvements. See the change log for details.

New in Wing 6

Wing 6 is a major release with many new features.

Improved Multiple Selections

Wing Pro and Personal 6 make working with multiple selections on the editor much easier. The Edit > Multiple Selections menu and selections toolbar item can be used to select matching occurrences of text one at a time, or within the current block, function, method, class, or file. Once multiple selections are made, edits are applied to all of them.

For details, see the Multiple Selections.

Easy Remote Development

Wing Pro 6 adds the ability to connect to a remote host through a secure SSH tunnel in order to work with files stored remotely in the same way that Wing supports working with files on your local system.

This is done by setting up SSH access to a remote host outside of Wing Pro and then configuring the remote host from Wing's Project > Remote Hosts menu item and using that host for the Python Executable in Project Properties. Files and directories added to the project can be on any configured remote host, and the project file can be stored either remotely or locally. Editing, debugging, testing, searching, version control, Python Shell, OS Commands, and other features work with remote files as if they were stored locally.

For detailed instructions see Remote Hosts.

Debugging in the Python Shell

All product levels of Wing 6 make it possible to turn on debugging for code that is executed in the Python Shell. This is done by pressing the bug icon in the top right of the Python Shell tool. Once enabled, a breakpoint margin will appear and Wing's debugger will stop on any breakpoints and exceptions reached in code, either within the Python Shell tool or in source files.

For details see Debugging Code in the Python Shell. If you are debugging multi-threaded code from the shells, you will want to read and understand how threads are managed in this style of debugging.

Recursive Debugging

In Wing Pro it is possible to debug code invoked from the Debug Probe, allowing for one level of recursive debugging.

The Python Shell and Debug Probe can also debug recursively to any depth by checking Enable Recursive Prompt in their Options menus. When enabled, Wing displays a new prompt whenever the debugged code reaches a breakpoint or exception, so that you can continue to interact with the paused debug process from the command line, optionally debugging other code in context of the currently selected debug stack frame. Continuing or stopping debug will exit one level of recursion rather than exiting the debug process entirely.

PEP 484 and PEP 526 Type Hints

All product levels of Wing 6 can understand type hints in the style standardized by PEP 484 (Python 3.5+) and PEP 526 (Python 3.6+).

For details see Helping Wing Analyze Code.

Improved Raspberry Pi Support

Wing Pro 6 makes it much easier to work with code on the Raspberry Pi, using the new remote development support to set up remote access to the Raspberry Pi.

For details, see Using Wing with Raspberry Pi.

Annual License Option and Pricing Changes

Wing 6 adds the option of purchasing a lower-cost expiring annual license for Wing Pro. An annual license includes access to all available Wing Pro versions while it is valid, and then ceases to function if it is allowed to expire. Pricing for annual licenses is US$ 179/user for Commercial Use and US$ 69/user for Non-Commercial Use.

The cost of extending Support+Upgrades subscriptions on Non-Commercial Use perpetual licenses for Wing Pro has been dropped from US$ 89 to US$ 39 per user.

For details, see the Wingware store.

Wing Personal is Now Free

Wing Personal is now a free product and no longer requires a license to run. It now also includes the Source Browser, PyLint, and OS Commands tools, and supports the scripting API and Perspectives.

However, Wing Personal does not include Wing Pro's advanced editing, debugging, testing and code management features, such as remote host access, refactoring, find uses, version control, unit testing, interactive debug probe, multi-process and child process debugging, move program counter, conditional breakpoints, debug watch, framework-specific support (for matplotlib, Django, and others), find symbol in project, and other features.

Other Improvements

Wing 6 adds many other new features and improvements, including the following:

  • Support for Python 3.6 and Stackless 3.4
  • Optimized debugger, particularly for multi-threaded and multi-process code
  • Support OS X full screen mode
  • Restore editor selection after undo and redo
  • Added One Dark color palette
  • Support Move Program Counter in recent Python versions
  • Refactoring operations to convert easily between lowerCamelCase, UpperCamelCase, under_scored_name, and UNDER_SCORE_NAME symbol name formatting
  • Holding modifier keys and clicking in the Key field for the Custom Key Bindings preference produces a binding (for example, Ctrl-Right-button-click) that can be bound to a command
  • Better support for portable installs, by allowing auto-activation of a stored license and using --settings and --cache command line arguments to specify location of the settings and cache directories
  • Always move breakpoints and Debug To Here positions to valid lines that will actually be reached by the Python interpreter
  • Support for custom python builds on Windows
  • Drop down with found Python installations in Python Executable properties
  • Automatically find Python installations that follow PEP 514 on Windows
  • Support for Jupyter notebooks
  • Updated French localization (thanks to Jean Sanchez and Laurent Fasnacht)
  • Updated German localization (thanks to Christoph Heitkamp)

Not all of these features are available in Wing Personal and Wing 101. See product comparison for details.

Wing 6 installs side by side with earlier versions of Wing, so there is no need to remove old versions in order to try Wing 6. Wing 6 will read and convert Wing 5 preferences, settings, and projects. Projects should be saved to a new name since earlier versions of Wing cannot read Wing 6 projects.

See Upgrading for details and Migrating from Older Versions for a list of compatibility notes.

More About Wing

Wing is an integrated development environment designed specifically for the Python programming language. It integrates powerful editing, testing, debugging, and project management features to help reduce development and debugging time, cut down on coding errors, and make it easier to understand and navigate Python code. Wing can be used to develop any kind of Python code for web, GUI, embedded scripting, and other applications.

Wing is available in three product levels: Wing Pro is the full-featured Python IDE, Wing Personal is a free alternative that offers a reduced feature set for students and hobbyists, and Wing 101 is a very simplified free product designed for teaching beginning programming courses with Python.

Version 6 of Wing Pro includes the following major features:

  • Native user interface on OS X, Windows, and Linux
  • Powerful code editor with vi, emacs, Visual Studio, Eclipse, XCode, and other keyboard personalities
  • Code intelligence for Python: Auto-editing, auto-completion, call tips, find uses, goto-definition, error indicators, refactoring, find symbol, smart indent and rewrapping, source navigation, and support for PEP 484, PEP 526, and other type hinting styles
  • Advanced multi-process and multi-threaded debugger with graphical UI, command line interaction, conditional breakpoints, data value tooltips, watch tool, move program counter, sharable launch configurations, named entry points, interactive Python shell debugging, recursive debugging, and externally launched and remote debugging
  • Easy remote development via secure SSH tunnels
  • Powerful search and replace options including keyboard driven and graphical UIs, multi-file, wild card, and regular expression search and replace
  • Version control integration for Subversion, CVS, Bazaar, git, Mercurial, and Perforce
  • Integrated unit testing with unittest, pytest, nose, doctest, and Django testing frameworks
  • Many other features including project manager, multiple selections, bookmarks, recursive code snippets, diff/merge tool, integrated OS command invocation, indentation manager, PyLint integration, named file sets, and perspectives
  • Extremely configurable and may be extended with Python scripts
  • Extensive product documentation, tutorial, and How-Tos for Django, Flask, Google App Engine, matplotlib, Raspberry Pi, Plone, wxPython, PyQt, mod_wsgi, Autodesk Maya, blender, NUKE/NUKEX, and many other Python libraries and applications
  • Django support: Debugs Django templates, provides project setup tools, and runs Django unit tests

For more information, see the Wing product overview.

System requirements are Windows 7 or later, OS X 10.7 or later, or a recent 64-bit Linux system. Remote development is also supported to 32-bit and 64-bit Linux systems that are compatible with PEP 513's manylinux1 policy, and ARM Linux systems such Raspberry Pi May 2016 or newer and Jolla phone. Wing 6.0 supports Python versions 2.5 through 2.7 and 3.2 through 3.6 and Stackless Python.

Downloads

Wing Pro -- A full-featured Python IDE. Requires a license to run, or obtain a free trial when you start the product.

Wing Personal -- A free simplified Python IDE for students and hobbyists.

Wing 101 -- A very simplified free Python IDE for teaching beginning programmers with Python.

Purchasing and Upgrading Wing Pro Licenses

Purchase a new license -- For Perpetual or Annual Use licenses for Wing Pro version 6.x.

Upgrade a license -- For users of Wing Pro 5.x and earlier licenses that are not covered by Support+Upgrades.