Introducing PyCharm 2021.3!
We’ve been working hard to deliver features in PyCharm that will make you more productive and your coding smoother. This release cycle introduces Poetry support, the new FastAPI project type, the Beta version of our remote development support, a redesigned Jupyter notebook experience, and much more!
In this blog post, we will go through some of the highlights.
Poetry Support
Poetry is becoming more and more popular among Python developers, and there were a lot of issues reported to our tracker to add support for it. The good news for Poetry users (and for those wanting to try it) is that PyCharm now supports Poetry out of the box. But that’s is not all! We’ve also bundled the TOML plugin so that you also get code completion for your pyproject.toml file.
This feature was made possible by merging the plugin created by Koudai Aono into the PyCharm source code. Thank you Koudai for all your hard work!
FastAPI Support [Pro]
FastAPI is a popular, high-performance, Python web framework for building APIs, and PyCharm Pro now offers support for it as a project and run configuration type.
To create a new FastAPI project, select the FastAPI project type and let PyCharm install its dependencies and create the run/debug configurations for you.
Alternatively, you can also open an existing FastAPI project with PyCharm Pro, let PyCharm handle creating the virtual environment for you, and create a FastAPI run configuration yourself. PyCharm will then detect your application and run Uvicorn for you.
When working with endpoints in FastAPI, you will frequently need to test them to ensure that everything is working as expected. In PyCharm Pro you can do this from the comfort of your editor using the HTTP Client integration.
Just open the “file_name.http” file (already present for new FastAPI projects created using the PyCharm wizard) and use it to send requests to your application endpoints. You can read more about this in the documentation.
New Endpoints Tool Window for FastAPI and Flask [Pro]
If you develop APIs, we also have a great new feature to help you manage your endpoints. PyCharm Pro will scan FastAPI and Flask project routes and list them in the new Endpoints tool window, where you can have an overview of all your URLs, as well as code completion, navigation, and refactoring capabilities. The Endpoints tool window also displays documentation for each endpoint and allows you to test it using the HTTP client.
New Jupyter Notebook Experience [Pro]
Our team has been working hard to improve PyCharm for software engineers working in the data science sphere. PyCharm Pro 2021.3 comes with new and improved support for Jupyter notebooks.
Jupyter support in PyCharm Pro is powered by DataSpell, our new IDE designed for professional data scientists. Are you a data scientist? Try DataSpell now!
New Notebook UI
For starters, PyCharm Pro now comes with support for the classic Jupyter notebook user interface out of the box, including full compatibility with its popular shortcuts.
Interactive Outputs
We’ve also added full support for both static and JavaScript-based outputs used by popular scientific libraries such as Plotly, Bokeh, Altair, ipywidgets, and others, as well as rich support for DataFrames, that you can explore in situ, or open in a dedicated tab.
IDE capabilities
Having Jupyter support inside the IDE has its perks. It means that you get to benefit from all of the powerful PyCharm tools such as auto import, code completion, debugging and refactoring capabilities, and more in your Jupyter notebooks. To debug inside a Jupyter notebook, just add a breakpoint and run the cell under the debugger.
Remote development Beta [Pro]
Remote development support has also been a commonly requested feature from our users, and 2021.3 brings beta support for it. PyCharm users can now connect to remote machines from anywhere in the world, run PyCharm’s backend, and take advantage of remote computing power while feeling that everything is running locally.
To try it out, just click Remote Development on the Welcome screen, select the SSH option and follow the wizard to provide your credentials, establish the connection, download the IDE on the server, and open your remote project in PyCharm. You can read the documentation for more details.
This feature is still in Beta, and your feedback on it is highly appreciated.
User experience
We have also been working to improve the overall PyCharm user experience. Some of the highlights include:
Feature trainer: New onboarding tour and a series of Git lessons
For users who are new to PyCharm or just want a refresher on how to use it, the IDE feature trainer now comes with an onboarding tour and new lessons. Trying it out is as easy as clicking ‘Learn PyCharm’ on the Welcome screen or clicking Help | Learn IDE in the main menu in the IDE.
Reorganized Version Control Settings
We’ve reorganized the VCS settings and made them more discoverable. In Preferences / Settings | Version Control you will now find a list of all the available settings, serving as a starting point for configuring your VCS. The settings inside the sections are now organized by the most important processes: Commit, Push, and Update.
Data editor Aggregate view [Pro]
We’ve implemented an Aggregate view for ranges of cells. This highly anticipated feature will go a long way towards helping you manage your data by taking away the burden of writing additional queries! It also makes the data editor easier to use, bringing it a step closer to Microsoft Excel and Google Sheets.
To use this feature you will first need to select the cell range you want to see the view for, then right-click and select Show Aggregate View from the menu.
End of support for Mako, Buildout, and Web2Py
As announced in our previous release (2021.2 announcements), from PyCharm 2021.3 onwards there will no longer be support for Mako, Buildout, or Web2Py.
These are all the features I’d like to highlight for this release. If you want to read more about the other features included in this release check out our What’s New page or read the release notes for the full list of features implemented and bugs fixed.
As always, your feedback is highly appreciated. Feel free to share it with us on Twitter (@pycharm), or by reporting any bugs you encounter to our tracker.
Happy coding!
The PyCharm team