Poetry Support, New FastAPI Project Type, Remote Development beta, and a New Jupyter Notebook Experience
We’ve been listening to you and working hard to deliver features in PyCharm that will make your coding smoother and more productive. This release cycle introduces Poetry support, the new FastAPI project type, the Beta version of our Remote Development support, and a redesigned Jupyter Notebook experience.
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 willing to try it) is that PyCharm now supports Poetry and provides code completion for your pyproject.toml files out of the box! Kudos to Koudai Aono, who developed the original plugin that has been merged into the PyCharm source code.
FastAPI, a popular high-performance Python web framework for building APIs, is now supported in PyCharm. Select the FastAPI project type and let PyCharm install all its dependencies and create the run/debug configurations for you. Alternatively, open an existing FastAPI project with PyCharm and create a FastAPI run configuration yourself. PyCharm will detect your application and run Uvicorn for you.
It is now easier to test your HTTP endpoints using the “test.http” file. Send GET, POST, and other request types to your application endpoints right from the editor.
If you develop web applications using FastAPI and Flask, you likely work with endpoints. As you may already know, this workflow can be cumbersome in larger projects, so PyCharm 2021.3 introduces the new Endpoints tool window for FastAPI and Flask project types.
As soon as you start working on a new or existing project, PyCharm will scan its routes and list them in the Endpoints tool window, where you have code completion, navigation, and refactoring capabilities for your URLs. This tool window also provides you with a better overview of your endpoints and quick access to the documentation.
We’ve been working hard to improve PyCharm for software engineers working in the data science sphere and have made the Jupyter notebooks experience in PyCharm Pro better!
*The Jupyter support in PyCharm Pro is powered by JetBrains DataSpell, our new IDE designed for professional data scientists. Are you a data scientist? Try JetBrains DataSpell now!
Notebook support is now smoother. PyCharm now provides the classic Jupyter notebook UI out of the box, but with all of the powerful tools that you would expect from an IDE, including auto import, code completion, and refactoring capabilities.
Support for all of the standard Jupyter shortcuts has been added, including running your cells with shift+enter, switching between command and editor modes with a single keystroke, navigating over cells with arrow keys, and more.
PyCharm Pro now has 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. Explore DataFrames in situ or open them in a dedicated tab.
Debug inside Jupyter notebooks and make your notebook debugging experience more enjoyable. Stop at breakpoints, step through the code, browse and manage the state of variables, and much more.
PyCharm Pro now supports a beta version of the remote development workflow via JetBrains Gateway. PyCharm users can 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 credentials, establish the connection, and download the IDE on the server. This feature is in Beta and we’d appreciate your feedback on it.
For more details refer to our documentation.
Users of popular packages on PyPI such as Numpy, Pandas, Matplotlib, Sqlalchemy, Scikit-image, Plotly, Scipy, and others can now download prebuilt indexes to speed up the IDE indexing time. These shared indexes are not included in the PyCharm installation, so the IDE will ask for permission before downloading any.
You can now split the Run tool window into tabs so you can have multiple configurations running simultaneously while still being able to access their results. Just drag and drop the tabs to the highlighted area inside the Run tool window to split it.
If you are new to PyCharm or just want to get a refresher on how to use it, the IDE feature trainer now comes with an onboarding tour and a lesson about the Git features in PyCharm. To try it out, click ‘Learn PyCharm’ on the Welcome screen or click Help > Learn IDE in the main menu in the IDE.
In this release, the discoverability of the Evaluate feature has been improved. Instead of using watches, you can now quickly access the Evaluate field right in the Debug tool window.
We 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 organized by the most important processes: Commit, Push, and Update. There is a separate node for Directory mappings, and the background operations are on by default.
When you need to check out the selected branch and rebase it on top of a branch that is currently checked out, you can use the Checkout and Rebase onto Current action, which was previously available for local branches only. In PyCharm 2021.3, you can use it for remote branches as well.
A new Push all up to here action is available that allows you to push only the commits you are confident about and leave the rest for later. It allows you to push commits up to the one you have selected in the Log tab of the Git tool window. To use it, pick the commit you want to stop at, right-click on it to call the context menu, and select the new Push All up to Here action.
The new database diff window is available from the context menu. It has a better UI and clearly shows what result you’ll get after you perform the synchronization.
The legend shows what the colors mean for your potential result:
The Script preview tab shows the result script, which can be either opened in a new console or run from this dialog. The script applies the changes to make the database on the right (target) a copy of the database on the left (source).
In addition to the Script preview tab, there are two more tabs on the bottom pane of the database diff window: Object Properties Diff and DDL Diff. They display the differences between the particular versions of the object in the original and target databases.
The ability to display an Aggregate view for a range of cells is available. This is a long-awaited feature that will help you manage your data and spare you from having to write additional queries!
This makes the data editor more powerful and easier to use, bringing it a step closer to Excel and Google Spreadsheets. 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.