Skip to main content

No project description provided

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flake8-pydantic-fields-0.1.11.tar.gz (4.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page