[
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-frozen-field --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-frozen-field = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.10. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py310-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.10 output for new projects.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.11. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py311-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.11 output for new projects.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.12. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py312-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.12 output for new projects.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.13. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py313-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.13 output for new projects.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.14. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py314-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.14 output for new projects.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py310-20260619` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py310-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.10 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py311-20260619` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py311-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.11 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py312-20260619` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py312-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.12 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py313-20260619` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py313-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.13 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --set-default-enum-member --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nset-default-enum-member = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py314-20260619` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py314-20260619",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, enum-member defaults, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--set-default-enum-member",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.14 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-frozen-field --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-frozen-field = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.10. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py310-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.10 output for new projects.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.11. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py311-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.11 output for new projects.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.12. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py312-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.12 output for new projects.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.13. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py313-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.13 output for new projects.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.14. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py314-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.14 output for new projects.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py310-20260826` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py310-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.10 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py311-20260826` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py311-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.11 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py312-20260826` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py312-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.12 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py313-20260826` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py313-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.13 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py314-20260826` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py314-20260826",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.14 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-frozen-field --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-frozen-field = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.10. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py310-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.10 output for new projects.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.11. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py311-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.11 output for new projects.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.12. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py312-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.12 output for new projects.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.13. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py313-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.13 output for new projects.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.14. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py314-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.14 output for new projects.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py310-20260909` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py310-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.10 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py311-20260909` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py311-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.11 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py312-20260909` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py312-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.12 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py313-20260909` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py313-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.13 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py314-20260909` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py314-20260909",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.14 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-frozen-field --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-frozen-field = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.10. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py310-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.10 output for new projects.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.11. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py311-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.11 output for new projects.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.12. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py312-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.12 output for new projects.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.13. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py313-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.13 output for new projects.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.14. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py314-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.14 output for new projects.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.15 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.15"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.15\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.15. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py315-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.15 output for new projects.",
    "target_python_version": "3.15"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py310-20261015` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py310-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.10 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py311-20261015` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py311-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.11 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py312-20261015` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py312-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.12 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py313-20261015` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py313-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.13 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py314-20261015` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py314-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.14 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.15 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.15"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.15\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py315-20261015` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py315-20261015",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases.",
        "options": [
          "--use-standard-primitive-types"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.15 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.15"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-frozen-field --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-frozen-field = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.10. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py310-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.10 output for new projects.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.11. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py311-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.11 output for new projects.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.12. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py312-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.12 output for new projects.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.13. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py313-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.13 output for new projects.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.14. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py314-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.14 output for new projects.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --output model.py --output-model-type pydantic_v2.BaseModel --snake-case-field --strict-nullable --target-python-version 3.15 --use-annotated --use-frozen-field --use-specialized-enum --use-standard-collections --use-subclass-enum --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.15"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.15\"\nuse-annotated = true\nuse-frozen-field = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.15. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py315-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.15 output for new projects.",
    "target_python_version": "3.15"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.10 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py310-20261017` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py310-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.10 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.11 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py311-20261017` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py311-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.11 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.12 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py312-20261017` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py312-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.12 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.13 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py313-20261017` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py313-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.13 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.14 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py314-20261017` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py314-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.14 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --collapse-reuse-models --collapse-root-models --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --formatters builtin --input schema.json --input-file-type jsonschema --naming-strategy primary-first --output model.py --output-model-type pydantic_v2.BaseModel --reuse-model --snake-case-field --strict-nullable --target-python-version 3.15 --use-annotated --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-line-docstring --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-fixed-items --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.15"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nnaming-strategy = \"primary-first\"\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntarget-python-version = \"3.15\"\nuse-annotated = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-line-docstring = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-fixed-items = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py315-20261017` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py315-20261017",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.15 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.15"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.10 --use-annotated --use-decimal-in-field-forms --use-frozen-field --use-single-dict-for-object-maps --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-standard-collections --use-subclass-enum --use-tuple-for-closed-arrays --use-typed-map-values-beside-other-types --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-frozen-field = true\nuse-single-dict-for-object-maps = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-tuple-for-closed-arrays = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.10. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py310-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.10 output for new projects.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.11 --use-annotated --use-decimal-in-field-forms --use-frozen-field --use-single-dict-for-object-maps --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-tuple-for-closed-arrays --use-typed-map-values-beside-other-types --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-frozen-field = true\nuse-single-dict-for-object-maps = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-tuple-for-closed-arrays = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.11. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py311-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.11 output for new projects.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.12 --use-annotated --use-decimal-in-field-forms --use-frozen-field --use-single-dict-for-object-maps --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-tuple-for-closed-arrays --use-typed-map-values-beside-other-types --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-frozen-field = true\nuse-single-dict-for-object-maps = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-tuple-for-closed-arrays = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.12. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py312-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.12 output for new projects.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.13 --use-annotated --use-decimal-in-field-forms --use-frozen-field --use-single-dict-for-object-maps --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-tuple-for-closed-arrays --use-typed-map-values-beside-other-types --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-frozen-field = true\nuse-single-dict-for-object-maps = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-tuple-for-closed-arrays = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.13. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py313-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.13 output for new projects.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.14 --use-annotated --use-decimal-in-field-forms --use-frozen-field --use-single-dict-for-object-maps --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-tuple-for-closed-arrays --use-typed-map-values-beside-other-types --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-frozen-field = true\nuse-single-dict-for-object-maps = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-tuple-for-closed-arrays = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.14. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py314-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.14 output for new projects.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.15 --use-annotated --use-decimal-in-field-forms --use-frozen-field --use-single-dict-for-object-maps --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-tuple-for-closed-arrays --use-typed-map-values-beside-other-types --use-union-operator",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.15"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.15\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-frozen-field = true\nuse-single-dict-for-object-maps = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-tuple-for-closed-arrays = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true"
    },
    "description": "This immutable preset enables the project-recommended Python output style for new code targeting Python 3.15. It is output-model aware and keeps stdlib dataclass and TypedDict keys compatible with their input names.",
    "name": "standard-py315-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Recommended modern Python 3.15 output for new projects.",
    "target_python_version": "3.15"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-reuse-models --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --naming-strategy primary-first --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --reuse-model --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.10 --use-annotated --use-decimal-in-field-forms --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-dict-for-object-maps --use-single-line-docstring --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-closed-arrays --use-tuple-for-fixed-items --use-typed-map-values-beside-other-types --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.10"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nnaming-strategy = \"primary-first\"\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.10\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-dict-for-object-maps = true\nuse-single-line-docstring = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-closed-arrays = true\nuse-tuple-for-fixed-items = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py310-20261027` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py310-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.10 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.10"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-reuse-models --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --naming-strategy primary-first --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --reuse-model --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.11 --use-annotated --use-decimal-in-field-forms --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-dict-for-object-maps --use-single-line-docstring --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-closed-arrays --use-tuple-for-fixed-items --use-typed-map-values-beside-other-types --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.11"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nnaming-strategy = \"primary-first\"\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.11\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-dict-for-object-maps = true\nuse-single-line-docstring = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-closed-arrays = true\nuse-tuple-for-fixed-items = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py311-20261027` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py311-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.11 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.11"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-reuse-models --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --naming-strategy primary-first --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --reuse-model --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.12 --use-annotated --use-decimal-in-field-forms --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-dict-for-object-maps --use-single-line-docstring --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-closed-arrays --use-tuple-for-fixed-items --use-typed-map-values-beside-other-types --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.12"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nnaming-strategy = \"primary-first\"\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.12\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-dict-for-object-maps = true\nuse-single-line-docstring = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-closed-arrays = true\nuse-tuple-for-fixed-items = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py312-20261027` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py312-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.12 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.12"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-reuse-models --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --naming-strategy primary-first --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --reuse-model --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.13 --use-annotated --use-decimal-in-field-forms --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-dict-for-object-maps --use-single-line-docstring --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-closed-arrays --use-tuple-for-fixed-items --use-typed-map-values-beside-other-types --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.13"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nnaming-strategy = \"primary-first\"\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.13\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-dict-for-object-maps = true\nuse-single-line-docstring = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-closed-arrays = true\nuse-tuple-for-fixed-items = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py313-20261027` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py313-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.13 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.13"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-reuse-models --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --naming-strategy primary-first --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --reuse-model --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.14 --use-annotated --use-decimal-in-field-forms --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-dict-for-object-maps --use-single-line-docstring --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-closed-arrays --use-tuple-for-fixed-items --use-typed-map-values-beside-other-types --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.14"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nnaming-strategy = \"primary-first\"\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.14\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-dict-for-object-maps = true\nuse-single-line-docstring = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-closed-arrays = true\nuse-tuple-for-fixed-items = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py314-20261027` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py314-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.14 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.14"
  },
  {
    "copyable_config": {
      "cli": "datamodel-codegen --allow-population-by-field-name --check-pattern-maps-strictly --collapse-reuse-models --collapse-root-models --collapse-shared-parent-wrappers --dedupe-request-response-variants --deserialize-default-values decimal enum --disable-timestamp --enum-field-as-literal one --filter-literal-values --formatters builtin --input schema.json --input-file-type jsonschema --intersect-allof-keywords --keep-enum-member-values --keep-field-defaults-off-branch-roots --naming-strategy primary-first --omit-redundant-constraints --omit-redundant-reference-null --openapi-as-definitions paths-bodies ref-components --order-constructor-fields-by final-names written-defaults --output model.py --output-model-type pydantic_v2.BaseModel --pin-aliases-with-alias-generator --read-const-beside-enum --read-nullable-beside-type-list --read-unevaluated-properties --reuse-model --snake-case-field --strict-nullable --tag-msgspec-by-payload-name --target-python-version 3.15 --use-annotated --use-decimal-in-field-forms --use-default-kwarg --use-field-description --use-field-description-example --use-frozen-field --use-object-type --use-schema-description --use-single-dict-for-object-maps --use-single-line-docstring --use-single-value-enum-as-const --use-site-models-for-constrained-refs --use-specialized-enum --use-standard-collections --use-subclass-enum --use-title-as-name --use-tuple-for-closed-arrays --use-tuple-for-fixed-items --use-typed-map-values-beside-other-types --use-union-operator --use-unique-items-as-set",
      "context": {
        "input_file_type": "jsonschema",
        "output_model_type": "pydantic_v2.BaseModel",
        "target_python_version": "3.15"
      },
      "pyproject_toml": "[tool.datamodel-codegen]\nallow-population-by-field-name = true\ncheck-pattern-maps-strictly = true\ncollapse-reuse-models = true\ncollapse-root-models = true\ncollapse-shared-parent-wrappers = true\ndedupe-request-response-variants = true\ndeserialize-default-values = [\"decimal\", \"enum\"]\ndisable-timestamp = true\nenum-field-as-literal = \"one\"\nfilter-literal-values = true\nformatters = [\"builtin\"]\ninput = \"schema.json\"\ninput-file-type = \"jsonschema\"\nintersect-allof-keywords = true\nkeep-enum-member-values = true\nkeep-field-defaults-off-branch-roots = true\nnaming-strategy = \"primary-first\"\nomit-redundant-constraints = true\nomit-redundant-reference-null = true\nopenapi-as-definitions = [\"paths-bodies\", \"ref-components\"]\norder-constructor-fields-by = [\"final-names\", \"written-defaults\"]\noutput = \"model.py\"\noutput-model-type = \"pydantic_v2.BaseModel\"\npin-aliases-with-alias-generator = true\nread-const-beside-enum = true\nread-nullable-beside-type-list = true\nread-unevaluated-properties = true\nreuse-model = true\nsnake-case-field = true\nstrict-nullable = true\ntag-msgspec-by-payload-name = true\ntarget-python-version = \"3.15\"\nuse-annotated = true\nuse-decimal-in-field-forms = true\nuse-default-kwarg = true\nuse-field-description = true\nuse-field-description-example = true\nuse-frozen-field = true\nuse-object-type = true\nuse-schema-description = true\nuse-single-dict-for-object-maps = true\nuse-single-line-docstring = true\nuse-single-value-enum-as-const = true\nuse-site-models-for-constrained-refs = true\nuse-specialized-enum = true\nuse-standard-collections = true\nuse-subclass-enum = true\nuse-title-as-name = true\nuse-tuple-for-closed-arrays = true\nuse-tuple-for-fixed-items = true\nuse-typed-map-values-beside-other-types = true\nuse-union-operator = true\nuse-unique-items-as-set = true"
    },
    "description": "This immutable preset extends `standard-py315-20261027` with options that make generated models easier to read and use in real projects. It favors schema-authored names, model reuse, and embedded schema documentation over the most conservative output-shape stability.",
    "name": "practical-py315-20261027",
    "option_groups": [
      {
        "description": "Use built-in collection syntax, PEP 604 unions, Annotated constraints, single-value enum Literals, typed enum subclasses, inline root wrappers, schema-accurate nullability, and reproducible file headers.",
        "options": [
          "--use-standard-collections",
          "--use-union-operator",
          "--use-annotated",
          "--enum-field-as-literal one",
          "--use-subclass-enum",
          "--collapse-root-models",
          "--strict-nullable",
          "--disable-timestamp"
        ],
        "title": "All output model types"
      },
      {
        "description": "Use StrEnum or IntEnum only when the selected target Python version supports it.",
        "options": [
          "--use-specialized-enum"
        ],
        "title": "Python 3.11+ targets"
      },
      {
        "description": "Generate Pythonic field names while preserving input aliases and readOnly immutability metadata.",
        "options": [
          "--snake-case-field",
          "--allow-population-by-field-name",
          "--use-frozen-field"
        ],
        "title": "Pydantic v2 BaseModel and dataclass output"
      },
      {
        "description": "Generate Pythonic field names with aliases and stdlib primitive types for schema formats.",
        "options": [
          "--snake-case-field",
          "--use-standard-primitive-types"
        ],
        "title": "msgspec Struct output"
      },
      {
        "description": "Use stdlib primitive types without renaming input keys because dataclasses do not carry aliases. Stdlib dataclasses keep raw JSON values without conversion, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--enum-field-as-literal all"
        ],
        "title": "stdlib dataclass output"
      },
      {
        "description": "Use stdlib primitive types and ReadOnly metadata without renaming dictionary keys. TypedDict holds raw JSON values, so enums render as Literal values instead of enum classes; this overrides `--enum-field-as-literal one` from All output model types.",
        "options": [
          "--use-standard-primitive-types",
          "--use-frozen-field",
          "--enum-field-as-literal all"
        ],
        "title": "TypedDict output"
      },
      {
        "description": "Deserialize compatible serialized Decimal and enum defaults into generated Python values while preserving defaults that cannot be converted safely.",
        "options": [
          "--deserialize-default-values decimal enum"
        ],
        "title": "Serialized defaults"
      },
      {
        "description": "Format generated models without running an external formatter. For projects using Ruff, override with --formatters ruff-check ruff-format. To preserve Black/isort formatting, override with --formatters black isort.",
        "options": [
          "--formatters builtin"
        ],
        "title": "Built-in formatting"
      },
      {
        "description": "Read an enum of one value, and an enum that admits the const beside it, as that const, so it renders as a Literal value instead of an enum class; one-value enum branches of a oneOf or anyOf merge into one enum.",
        "options": [
          "--use-single-value-enum-as-const"
        ],
        "title": "Enums read as their const"
      },
      {
        "description": "Give the request and response bodies of the OpenAPI paths and webhooks scopes the model a schema definition of the same body gets, so an object body with a type array such as [object, null] is a model instead of an inline type, and give an OpenAPI component written as a $ref to a recursive schema with sibling keywords the root model a definitions entry of the same schema gets, instead of no model.",
        "options": [
          "--openapi-as-definitions paths-bodies ref-components"
        ],
        "title": "OpenAPI schemas modeled as definitions"
      },
      {
        "description": "Give an allOf of $ref members whose other parts add constraints, an enum or a type its own model of the values all parts admit, instead of the referenced type, which leaves the added assertions out; an allOf of enum references gets the enum of the members they share.",
        "options": [
          "--use-site-models-for-constrained-refs"
        ],
        "title": "Site models for constrained references"
      },
      {
        "description": "Do not write a constraint again beside a type that already enforces it: the bound of a zero-bound class such as NonNegativeInt, and the length and number constraints a const or enum Literal meets by its values, which also keeps such a const branch inline instead of a root model.",
        "options": [
          "--omit-redundant-constraints"
        ],
        "title": "Redundant constraints omitted"
      },
      {
        "description": "Read a const beside an enum as JSON Schema does: a value is typed by the const that narrows the enum, and an enum that admits its const is read as that const.",
        "options": [
          "--read-const-beside-enum"
        ],
        "title": "Const read beside an enum"
      },
      {
        "description": "Keep only the values of a const or enum that meet the length, pattern, bound and multipleOf constraints beside them.",
        "options": [
          "--filter-literal-values"
        ],
        "title": "Literal values filtered"
      },
      {
        "description": "Combine the keywords of every part of an allOf, a $ref with sibling keywords and an inherited property override as JSON Schema validates them: the tightest bounds and the values every part admits.",
        "options": [
          "--intersect-allof-keywords"
        ],
        "title": "allOf keywords intersected"
      },
      {
        "description": "Write the null that nullable: true declares beside a type list with an object into the root model of that schema under strict nullable output.",
        "options": [
          "--read-nullable-beside-type-list"
        ],
        "title": "Nullable beside a type list"
      },
      {
        "description": "Leave the default of a property off the root models extracted from the branches of its anyOf or oneOf.",
        "options": [
          "--keep-field-defaults-off-branch-roots"
        ],
        "title": "Field defaults kept off branch roots"
      },
      {
        "description": "Generate tuple types for positional arrays that no other item can follow, so that each position keeps its own type.",
        "options": [
          "--use-tuple-for-closed-arrays"
        ],
        "title": "Tuples for closed arrays"
      },
      {
        "description": "Type an object map whose keys patternProperties or propertyNames constrain as one dict of the values of every key class.",
        "options": [
          "--use-single-dict-for-object-maps"
        ],
        "title": "One dict for object maps"
      },
      {
        "description": "Under --generate-schema-validators, count every key that a pattern admits, check declared keys against the patterns that match them, and keep the propertyNames keys and the other types of a type array of an object without properties.",
        "options": [
          "--check-pattern-maps-strictly"
        ],
        "title": "Stricter pattern-map checks"
      },
      {
        "description": "Under --use-typed-nullable-map-values, also type the map values of a type array that lists object beside other types, such as [object, string].",
        "options": [
          "--use-typed-map-values-beside-other-types"
        ],
        "title": "Typed map values beside other types"
      },
      {
        "description": "Write an enum as a plain Enum where its IntEnum, StrEnum or (T, Enum) base would change a member value, such as 2.5 beside integer members.",
        "options": [
          "--keep-enum-member-values"
        ],
        "title": "Enum member values kept"
      },
      {
        "description": "Read a schema-valued unevaluatedProperties as additionalProperties where no applicator evaluates the object in place.",
        "options": [
          "--read-unevaluated-properties"
        ],
        "title": "Unevaluated properties read"
      },
      {
        "description": "Write the generated alias on every field of a pydantic dataclass whose config names an alias generator, for pydantic versions older than 2.8.",
        "options": [
          "--pin-aliases-with-alias-generator"
        ],
        "title": "Aliases pinned beside an alias generator"
      },
      {
        "description": "Tag the structs of a discriminated union with the property name the document carries instead of the Python name it resolves to.",
        "options": [
          "--tag-msgspec-by-payload-name"
        ],
        "title": "msgspec tags by payload name"
      },
      {
        "description": "Order the constructor fields of dataclass and msgspec models after every field has its final name, and the fields of msgspec and Pydantic dataclass models by the defaults they write.",
        "options": [
          "--order-constructor-fields-by final-names written-defaults"
        ],
        "title": "Constructor fields ordered by final names and written defaults"
      },
      {
        "description": "Decide Request and Response variants from the schema graph and build each inline model once.",
        "options": [
          "--dedupe-request-response-variants"
        ],
        "title": "Request and response variants deduplicated"
      },
      {
        "description": "Do not write None again where a field references a model that holds null itself.",
        "options": [
          "--omit-redundant-reference-null"
        ],
        "title": "Redundant reference null omitted"
      },
      {
        "description": "Under --use-decimal-for-multiple-of, write Decimal for a number with multipleOf in the field forms too, and make it strict under --strict-types float.",
        "options": [
          "--use-decimal-in-field-forms"
        ],
        "title": "Decimal in field forms"
      },
      {
        "description": "Under the parent name strategy, collapse a wrapper in every model that references it instead of keeping it for the models after the first.",
        "options": [
          "--collapse-shared-parent-wrappers"
        ],
        "title": "Shared parent wrappers collapsed"
      },
      {
        "description": "Deduplicate identical models without empty inheritance wrappers, prefer schema titles for class names, and keep primary definitions ahead of inline duplicate names.",
        "options": [
          "--reuse-model",
          "--collapse-reuse-models",
          "--use-title-as-name",
          "--naming-strategy primary-first"
        ],
        "title": "Practical model structure and names"
      },
      {
        "description": "Render defaults explicitly, prefer object for unconstrained values, preserve fixed and unique arrays, and keep short docstrings concise.",
        "options": [
          "--use-default-kwarg",
          "--use-object-type",
          "--use-tuple-for-fixed-items",
          "--use-unique-items-as-set",
          "--use-single-line-docstring"
        ],
        "title": "Practical typing and defaults"
      },
      {
        "description": "Preserve schema and field descriptions, including examples, in generated model documentation.",
        "options": [
          "--use-schema-description",
          "--use-field-description",
          "--use-field-description-example"
        ],
        "title": "Schema documentation"
      }
    ],
    "requires_target_python_version": false,
    "summary": "Standard Python 3.15 output plus practical naming, deduplication, and schema documentation.",
    "target_python_version": "3.15"
  }
]
