Wingware Early Access Program

Wingware's Early Access Program lets you try out new versions of Wing while they are still under development.

Wing 9.1 is now available as an early access release.

You can participate in this program simply by downloading and using the early releases of Wing. We ask only that you keep your feedback and bug reports private by submitting them through Wing's Help menu or by emailing

Wing March 17, 2023

Wing 9 Screen Shot

Wing Pro 9.1 adds auto-import from the auto-completer, import management with a new Imports tool, collection and display of code coverage statistics for unit tests run from the Testing tool, automatic invalidation of test results based on changes to code reached by those tests, and a number of optimizations and bug fixes.

Note that these are features of Wing Pro only. Wing Personal and Wing 101 contain only bug fixes relevant to the features in those products.


IMPORTANT Be sure to Check for Updates from Wing's Help menu after installing so that you have the latest hot fixes.

This is a beta release. Please try it and email us if you find problems or have suggestions!

Wing Pro

Wing Personal

Wing 101

Wing 9.1 will replace Wing 9.0 when it is installed. You can revert to Wing 9.0 by reinstalling it at any time.

Wing 8 and earlier versions are not affected by installation of Wing 9.1 and may be installed concurrently.

Project files for Wing <=8 are converted when opened and should be saved under a new name, since Wing 9 projects cannot be opened by older versions of Wing.

New in Wing 9.1

Auto-Import and Import Management

Wing 9.1 introduces auto-import, which can be accessed from the auto-completer. The Autocompleter > Python Auto-Imports preference controls when to show potentially importable symbols in the auto-completer. Selecting an auto-import completion places both the completion at the editor caret and adds the necessary import at the top of the code file.

Wing 9.1 also adds a new Imports tool, which can be used to view and manage imports for the current Python file.

For details, see the Source Code Editor > Auto-Completion page in the integrated manual, accessed from the Help menu in Wing Pro 9.1.

Unit Test Code Coverage

Wing 9.1 adds optional collection and display of code coverage statistics for unit tests, making it easier to determine how well your unit tests exercise your code. You will need to install coverage into your Python environment first, and then enable the feature with the new Testing > Use Code Coverage menu item. Subsequently, Wing will collect code coverage statistics for all unit tests run from the Testing tool.

Coverage is indicated in an added margin in the editor, and in tool tips when hovering over reached lines of code. Code coverage data may also be exported or displayed as HTML from the Testing menu.

When code coverage is enabled, Wing watches your edits and invalidates existing test results in the Testing tool if those tests previously reached the code that you are editing. Invalidated tests can be re-run with Run Stale Tests in the Testing menu.

For details, see the Unit Testing > Code Coverage page in the integrated manual, accessed from the Help menu in Wing Pro 9.1.

Other Improvements

  • Optimize running unit tests
  • Avoid incorrectly prompting to reload remote files and fix other remote development issues
  • Fix failure to recursively debug in some cases under Python 3.10
  • Improve auto-spacing
  • Fix failure to store unit test results in some cases
  • Correctly add Django unit test arguments to sys.argv
  • Improve responsiveness during a Find Uses search
  • Fix about 25 minor usability issues

See the change log for details.


Changes and Incompatibilities

Wing 9.1 makes a few changes that affect compatibility with some systems or alter the behavior of some features:

  • Omits import names from the auto-completer if the files or directories are in the initial run directory and the initial run directory was not explicitly set. This matches Python's import behavior.
  • Highlight 'match' and 'case' as keywords when they could be used in match and case statements. Since match and case are not dedicated keywords in Python, and may also be used for variable and other names in your code, Wing tries to highlight them as keywords only when appropriate.
  • Deprecated the find_all_module_imports argument for the find_points_of_use command; the find_only_given_name argument should be used instead

If you have questions about any of this, please don't hesitate to contact us at