Announcing PyCharm 5 EAP 143.308: Thread Concurrency Visualization

Posted on by Dmitry Filippov

Hello everyone,

Today we bring you PyCharm 5 EAP build 143.308 with Thread Concurrency Visualization for multi-threaded applications, App Config Tool for Google App Engine projects, support for IPython Notebook v4, and a lot of other important enhancements.

Please download the build from our EAP page.

The star feature in this build is Thread Concurrency Visualization.

Note: Thread Concurrency Visualization is available only in PyCharm Professional Edition.

With this brand new functionality, you can take full control over your multi-threaded applications. To get started, note the new Concurrency Diagram button in the toolbar next to the Run, Debug, Coverage and Profile buttons:

1

Click this button to run your application with the current run/debug configuration in the special Concurrency Diagram mode which shows you the real time states of threads inside your running process:

2

On the left-hand side you can see the list of thread names, and on the right the waiting time for each thread.

Different states are marked with different colors on the diagram. You can zoom in and out using magnifier icons on the left side of the window or with Ctrl + mouse wheel. Click on the diagram to see the related stack frame:

3

You can also navigate to a particular line in code from the stack frame.

Right-click on the diagram to open a context menu showing waiting time periods for the same lock. Related waiting time periods stay in the same color, while unrelated are faded:

4

Concurrency visualization also works well with the asyncio module which was introduced in Python 3.4. Simply run your application that makes use of asyncio with the same Concurrency Diagram button and switch to the ‘Asyncio graph’ tab:

5

Other notable improvements in this build include:

  • App Config Tool for Google App Engine projects, which is available from Tools | Google App Engine | Run appcfg.py task:

appengine

This new tool introduces a new user interface and provides autocompletion for appcfg.py tasks and their arguments. The App Config Tool also preserves the command history so you can easily fetch previous commands just by pressing Up / Down arrows. Quick documentation is also available by pressing Ctrl+Q on a appcfg.py command.

Note: GAE support is available only in PyCharm Professional Edition.

  • Injection of the Python language into type hinting comments:

typehints

According to PEP-0484, PyCharm treats the type hinting code inside comments as Python code. It provides navigation and quick documentation for it, and related imports are now marked as used.

And some more:

  • PyCharm now supports IPython Notebook v4.
  • PyCharm uses a single ‘Updating skeletons’ task for newly installed packages, which improves performance on indexing and fixes various bugs.
  • Docker support has been enhanced, and Remote interpreter fixes are available.

For the full list of changes and improvements, please check the Release Notes.

Download PyCharm 5 EAP build 143.308 today! Should you encounter any bugs, please report them to our public tracker.

You can download the build or use the patch-based upgrade to upgrade from within the IDE (from previous PyCharm 5 EAP builds only) without a full re-installation. Just make sure you’ve selected the EAP channel in update settings.

Develop with pleasure!
JetBrains PyCharm Team

Subscribe

Subscribe for updates