Pydantic PyCharm Plugin🔗
A JetBrains PyCharm plugin for pydantic
.
Interview🔗
I got interviewed about this plugin for JetBrains' PyCharm Blog.
Sponsors🔗
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.) - 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
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.1 and this plugin version 0.1.0, PyCharm treats
pydantic.dataclasses.dataclass
as third-party dataclass.)
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
Demo🔗
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)
Contribute🔗
We are waiting for your contributions to pydantic-pycharm-plugin
.
Links🔗
JetBrains Plugin Page🔗
Motivation🔗
Auto-completion when instantiating BaseModel objects #650