Skip to main content

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 BaseModel or GenericModel.
  • The class contains only annotated assignments.
  • The class has at least one method decorated with @validator or @root_validator.
  • The class contains an inner Config class.
  • 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.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flake8-pydantic-fields 0.1.7
File Size Uploaded
flake8-pydantic-fields-0.1.7.tar.gz 4.0 kB Details

Release files / flake8-pydantic-fields-0.1.7.tar.gz

Download URL flake8-pydantic-fields-0.1.7.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e2898550a9c3de6ea4741d468a35f686fb09b09d90b0d503426f61e2d16f1dda
BLAKE2b-256 checksum
How to use checksums
4568250f7eab0896de2aa189cc0523008f483d0cf6db0704ffd29e786b7232cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release history Release notifications | RSS feed

0.1.11

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

This release

0.1.7 This release

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page