flake8-pydantic-fields
A flake8 plugin that checks that Pydantic models have default values which are Fields, and that those fields have descriptions. This encourages data documentation.
This package adds the following warnings:
PF001: A Pydantic field which has no default.PF002: A Pydantic field with a default that is not a Field.PF002: A Pydantic field which has a Field default with no description.
There are no configuration options at this time.
This package uses heuristics to determine whether a class is a Pydantic model. While this could be accomplished by running the code, that is not in the spirit of static analyzers, and it would be considerably slower.
The heuristics are:
It is not a Pydantic model if:
- The class has no base classes.
- The class is annotated with
@dataclass.
It is a Pydantic model if:
- The name of the base class is
BaseModelorGenericModel. - The class contains only annotated assignments.
- The class has at least one method decorated with
@validatoror@root_validator. - The class contains an inner
Configclass. - The class contains only methods with no arguments other than
self. These are assumed to be transformations on a data model. - The class contains an attribute annotated as a
ClassVar.
Metadata
Release files for flake8-pydantic-fields 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flake8-pydantic-fields-0.1.8.tar.gz | 4.0 kB | Details |
Release files / flake8-pydantic-fields-0.1.8.tar.gz
| Download URL | flake8-pydantic-fields-0.1.8.tar.gz |
|---|---|
| Size | 4.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f2254b475dfb8c254d296899a7413dc42428d7aa13c73cf81d6a317780e9f909
|
|
BLAKE2b-256 checksum How to use checksums |
b688e9d349194acdea05fb75a0047f074764a22e25bc28f49e677dc42192e50e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.1
|