Python is a widely used high-level programming language for general-purpose programming.
Python 3.6 debugging is now up to 40x faster! We have been able to use some new features in Python 3.6 to radically improve the performance of the PyCharm debugger. Is your project not on 3.6 yet? Python 3.5 (and older) debugging got up to two times faster as well.
Time of benchmark executes
New and Improved Test Runners
PyCharm 2017 test results
PyCharm is an integrated development environment for the Python programming language.
PyCharm has now adopted the TeamCity API for test runners. This means that test configurations will be consistent between the IDE and CI builds. This allows us to use the native test runners, and will make integration of new test runners in the future easier.
Support for the six Library
Library list in PyCharm 2017
If you’d like to upgrade to Python 3, but still need to support Python 2 for a while, you can use the six library. The six library enables you to write a single codebase that can run on both Python 2 and Python 3 interpreters. PyCharm now has accurate code completion and code insight for six.
Django, Flask & Pyramid PRO ONLY
Django, Flask & Pyramid logos
PyCharm has been updated to support all current versions: Django 1.10, Flask 0.12, and Pyramid 1.8.2.
Vue.js PRO ONLY
Vue.js at work
Vue is a progressive framework for building user interfaces.
Unit tests are a great tool to check against regressions, but sometimes you want to change something which breaks your tests. Now you can see right in the editor which tests need an update, and if you’re using Mocha or Jest you can debug them right from there.
Support for Jest PRO ONLY
Jest in action
Editor Colors PRO ONLY
Bad things happen when you think you’re working on staging, but you accidentally opened an SQL prompt on your production server instead. To prevent this, now you can set your editors to different backgrounds.
Improved Log Viewer
New PyCharm 2017 log viewer
Our log viewer has a couple of small useful improvements: you can now search commits using regex, and toggle case sensitivity.
PyCharm 2017 new file history panel
We’ve improved our file history panel. For example, you can now easily toggle between seeing only the commits on the branch you’re currently on, or the commits on all branches.
SSH Multi-Factor Authentication PRO ONLY
PyCharm 2017 multi-factor authentication
If you’re security-conscious, you may have hardened your server’s SSH access with 2-factor authentication. PyCharm now supports connecting to SSH servers that are protected with Google Authenticator.
Native Docker for Mac PRO ONLY
PyCharm 2017 Mac's Native Docker
PyCharm 2017.1 supports Docker for Mac using native unix sockets. No more need to use SOCAT to connect your IDE to Docker.
Data View for Pandas DataFrames and Numpy Arrays
PyCharm 2017 new Data View for Pandas DataFrames and Numpy Arrays
When doing data science, seeing the data you’re working on makes the work a lot easier. That’s why we’ve taken our DataFrame and Numpy Array viewer, and evolved them into a dedicated Data View pane. Complete with tabs to easily watch multiple datasets.
Remote Jupyter Notebooks PRO ONLY
Remote Jupyter Notebook for PyCharm 2017
Jupyter Notebooks are a great way to do research. If you do research in a team, you’ll want to share your notebooks with your team members. That’s why PyCharm 2017.1 supports connecting to Jupyter Notebooks on a shared server.
Typing latencies of different IDEs
Lower latency typing means for a better typing experience. Pavel Fatin, one of our developers, worked hard to get the latency down as low as it can go.
Semantic highlighting in action
When enabled, semantic highlighting will make it easy to see where a variable is used at a glance.
Ctrl+Click on Links in Terminal
Open a link in your browser
A small improvement to make your life easier: hold Ctrl and click any link in the terminal to open it in your browser.
Find in Path Dialog
PyCharm 2017 Find in Path dialog
We’ve reworked our Find in Path dialog: it’s cleaner, easier to use, and sleeker-looking! Try it yourself: right-click a folder in your project and select ‘Find in Path.’