PyCharm 2023.3 Early Access Program: The Second Build Is Out!
The second PyCharm 2023.3 EAP build offers improvements to support for the Django REST Framework and support for some Python 3.12 features, including new f-string grammar and initial support for type parameter syntax. This build also introduces a new UI for the DataFrames preview.
The Toolbox App is the easiest way to get the EAP builds and keep both your stable and EAP versions up to date. You can also manually download the EAP builds from our website.
Important! PyCharm EAP builds are not fully tested and might be unstable.
Python 3.12
Python 3.12 was just released, bringing major changes to the language syntax and improving overall performance.
PEP 701: Formalization of f-strings
To address this change, PyCharm will adjust its inspections to allow reusing quotes, line breaks, escape sequences, and comments inside f-strings for Python 3.12. Additionally, existing intention actions for string literals, such as converting between various quote types, now work in accordance with the new syntax.
PEP 695: Type parameter syntax
This EAP build introduces initial support for type parameter syntax, the major type-related feature of Python 3.12. In addition to understanding and highlighting the new syntax, PyCharm correctly resolves references to type parameters of generic classes, functions, and type aliases. Further support in the type checker will be added in later EAPs.
PEP 669: Low impact monitoring
This build includes experimental support for debugging based on the new low-impact CPython monitoring from PEP 669 for Python 3.12, which should significantly improve debugging performance. The new API will make tracing raised exceptions almost penalty-free.
Check the support for Python 3.12 features and share your experience with us in the comments section, in the issue tracker, or on X (formerly Twitter).
Django
Live HTML preview for Django templates
PyCharm can now map a template back to the parent view and URL (if configured), run a previously set up Django server configuration, and render live Django template previews.
Register Django models with a quick-fix
PyCharm 2023.3 EAP 2 streamlines the process of registering models in Django. This update caters to developers who seek a more efficient way to manage their Django admin configurations.
How to use the new quick-fix:
When you right-click on a model, you’ll see a new intention action, Register in Django admin. When you click it, PyCharm will create an admin.py
file (if there isn’t already one in the project) and register the model there. You can use this method to register as many models in the Django admin as you need. Gone are the days of manually typing in the model name to register models.
You can also register models in the admin
directory with this action. It suggests creating a file with the same name as the model, ensuring a clear and logical structure.
For scenarios involving multiple models, PyCharm offers two options:
- Register the models within an existing
admin.py
file in the admin directory. - Create a separate Python file specifically for the registration, keeping your codebase clean and organized.
Experience a more efficient and organized Django admin configuration process with PyCharm 2023.3. Download the EAP now and explore these enhancements to simplify your Django development workflow.
Code assistance for the Django REST Framework serializers
The second EAP PyCharm 2023.3 build provides autocompletion, refactoring, and navigation within the ModelSerializer
class for fields
, extra_kwargs
, read_only_fields
, and exclude
. These features are available for the fields of the model assigned to this ModelSerializer
.
For SerializerMethodField
, rename refactoring will include renaming of the getter as well.
Data Visualisation
Table UI for DataFrames
PyCharm 2023.3 EAP 2 also introduces a new way to work with DataFrames and tables. When you run or debug your code in the Python console, you will now be able to inspect DataFrames and tables in a separate (dedicated) tab in the main Editor tool window instead of working with them in SciView. You will be able to sort them, transpose them, and use pagination.
Editor
Support for standard cell separator
This EAP build allows the use of standard cell separator (# %%
) in Python files.
These are the key updates for this week! The complete list of changes is available in the release notes.
We’d like to know your thoughts on these new features. Feel free to share your feedback on X (formerly Twitter), or by leaving comments in the section below. If you spot any bugs, please report them via our issue tracker.