Awesome
Pydantic PyCharm Plugin
A JetBrains PyCharm plugin for pydantic
.
Interview
I got interviewed about this plugin for JetBrains' PyCharm Blog.
Help
See documentation for more details.
Sponsors
Quick Installation
The plugin is in Jetbrains repository (Pydantic Plugin Page)
You can install the stable version on PyCharm's Marketplace
(Preference -> Plugins -> Marketplace) Official Documentation
The plugin requires PyCharm 2020.2 or later (include other JetBrains IDEs)
Demo
<!-- Plugin description -->Features
Implemented
pydantic.BaseModel
- Model-specific
__init__
-signature inspection and autocompletion for subclasses ofpydantic.BaseModel
- Model-specific
__init__
-arguments type-checking for subclasses ofpydantic.BaseModel
- Refactor support for renaming fields for subclasses of
BaseModel
- (If the field name is refactored from the model definition or
__init__
call keyword arguments, PyCharm will present a dialog offering the choice to automatically rename the keyword where it occurs in a model initialization call.)
- (If the field name is refactored from the model definition or
- Search related-fields by class attributes and keyword arguments of
__init__
withCtrl+B
andCmd+B
- Provide an inspection for type-checking which is compatible with pydantic. the inspection supports
parsable-type
. the detail is at Inspection for type-checking section - Insert unfilled arguments with a QuickFix for subclasses of
pydantic.BaseModel
- Support typing.Annotated (PEP 593)
- Regex arguments in
Field
andconstr
are treated as Python's regex string literals - Config/ConfigDict support
- Auto-completion for Config/ConfigDict
- Read Model config such
frozen=True
from Config/ConfigDict
- validator/field_validator support
- respect first argument is
cls
of the method - Auto-completion for field name arguments of validator/field_validator
- Associate validator/field_validator with field
- Support refactoring/jumping
- Validate field name on validator arguments
- respect first argument is
pydantic.generics.GenericModel
- Support same features as
pydantic.BaseModel
- (This plugin version 0.3.1 or later)
pydantic.dataclasses.dataclass
- Support same features as
pydantic.BaseModel
- (After PyCharm 2020.2 and this plugin version 0.1.0, PyCharm treats
pydantic.dataclasses.dataclass
as third-party dataclass.)
- (After PyCharm 2020.2 and this plugin version 0.1.0, PyCharm treats
pydantic.create_model [experimental]
- Support minimum features for a model which is created by create_model
sqlmodel.SQLModel
- Support same features as
pydantic.BaseModel
- (This plugin version 0.3.12 or later)
Supported Pydantic major versions
- v0
- v1
- v2
Contribute
We are waiting for your contributions to pydantic-pycharm-plugin
.
Links
JetBrains Plugin Page
Motivation
Auto-completion when instantiating BaseModel objects #650