
Scientific Computing Goodies

IPython Notebook Support
Now with PyCharm 4 you can perform all the usual IPython Notebook actions with *.ipynb files. Everything you’re used to doing with the ordinary IPython Notebook is now supported inside PyCharm.

NumPy Array Viewer
Use NumPy array viewer to easily get a graphical view of a NumPy array and its parts using slicing, formatting and coloring tools. It is available from PyCharm’s debugger and the integrated Python console. Additionally we improved code insight for the NumPy package and added support for matplotlib in the integrated Python console.
Debugger Improvements

Attach to Process
The PyCharm debugger has grown more powerful. We’ve merged our debugger code with that from the original PyDev repository, which means a lot of improvements to the united debugger. We’ve also added a brand-new attach to process feature so you can now connect the debugger with any running Python process and debug in the attached mode.

Referring Objects
When debugging your project, you can open the referring objects view for a desired object during runtime. In the debug mode, right-click the object in the "Variables" window and select "Show Referring Objects."

Jinja2 debugger pro only
Now PyCharm’s debugger works with Jinja2 templates. You can set breakpoints right in the editor, stop on them and perform other debugging actions the same way you already do in the Django templates debugging mode.
Python Tools

Behavior-Driven Development (BDD) pro only
Take full control over your textual requirements and graphical representation of test results, and enjoy extensive and intelligent assistance at each step of the overall BDD process. behave and lettuce, two of the most popular Python tools for BDD, are supported. More details »

Improved Python/Django Console Tool Window
PyCharm automatically detects which type of console should be run based on your project type and context. The console can be launched via the tools window menu or simply by pressing Ctrl+E (⌘E for Mac OS).

Leave the Console Open
Now you can leave the console open after a project run or a debug session, saving its context. To enable this functionality, you just need to select the "Show command line afterwards" option in the project run/debug configurations.

Method Call Hierarchy
Thanks to its fantastic static code analysis capabilities, PyCharm intelligently analyzes your code and builds call hierarchy trees for method calls in different scopes.

Better package management
An improved package management subsystem now recognizes unmet package requirements with better accuracy. It also shows progress on package installation and a Choose Packages to Install dialog. When errors are encountered, PyCharm now offers better reports with suggested solutions.

Support for Unittest Subtests
Python 3.4 support is even more polished with the PyCharm`s test runner now recognizing the subTest() context manager for unittest.