quicktype
quicktype copied to clipboard
feat(python): add --pydantic-base-model option
Description
Adds a python option pydantic-base-model, which will generate classes inheriting pydantic's BaseModel.
Related Issue
https://github.com/glideapps/quicktype/issues/1474
Motivation and Context
Pydantic is a commonly used python module for defining schemas and dataclasses with validation. It is used in FastApi. It is a nice alternative to the builtin dataclasses module.
Previous Behaviour / Output
Quicktype generates standard classes or dataclasses (3.7+) for python
New Behaviour / Output
With the --pydantic-base-model option, it generates pydantic BaseModel classes
How Has This Been Tested?
Built and generated python from a schema, with and without --pydantic-base-model option.
Without the option included from dataclasses import dataclass and @dataclass
With the option instead included from pydantic import BaseModel and class Example(BaseModel)