datamodel-code-generator 0.26.5__tar.gz → 0.27.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of datamodel-code-generator might be problematic. Click here for more details.

Files changed (864) hide show
  1. datamodel_code_generator-0.27.0/.gitignore +4 -0
  2. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/PKG-INFO +31 -28
  3. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/README.md +2 -0
  4. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/__init__.py +11 -3
  5. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/__main__.py +12 -10
  6. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/http.py +2 -1
  7. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/imports.py +1 -1
  8. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/__init__.py +3 -1
  9. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/base.py +7 -5
  10. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/enum.py +1 -1
  11. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic/base_model.py +1 -1
  12. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic/types.py +1 -1
  13. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic_v2/base_model.py +2 -2
  14. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic_v2/types.py +4 -1
  15. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/parser/base.py +17 -7
  16. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/parser/graphql.py +4 -4
  17. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/parser/jsonschema.py +5 -4
  18. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/parser/openapi.py +7 -5
  19. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/pydantic_patch.py +1 -1
  20. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/reference.py +5 -5
  21. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/types.py +14 -12
  22. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/util.py +7 -11
  23. datamodel_code_generator-0.27.0/datamodel_code_generator/version.py +1 -0
  24. datamodel_code_generator-0.27.0/pyproject.toml +192 -0
  25. datamodel_code_generator-0.27.0/tests/__init__.py +0 -0
  26. datamodel_code_generator-0.27.0/tests/data/__init__.py +0 -0
  27. datamodel_code_generator-0.27.0/tests/data/csv/simple.csv +4 -0
  28. datamodel_code_generator-0.27.0/tests/data/custom_file_header.txt +3 -0
  29. datamodel_code_generator-0.27.0/tests/data/expected/__init__.py +0 -0
  30. datamodel_code_generator-0.27.0/tests/data/expected/main/__init__.py +0 -0
  31. datamodel_code_generator-0.27.0/tests/data/expected/main/csv/csv_file_simple.py +14 -0
  32. datamodel_code_generator-0.27.0/tests/data/expected/main/csv/csv_stdin_simple.py +14 -0
  33. datamodel_code_generator-0.27.0/tests/data/expected/main/direct_input_dict.py +16 -0
  34. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/additional_imports_isort4.py +42 -0
  35. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/additional_imports_isort5.py +41 -0
  36. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/annotated.py +32 -0
  37. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/annotated_field_aliases.py +32 -0
  38. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/annotated_use_standard_collections.py +32 -0
  39. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/annotated_use_standard_collections_use_union_operator.py +32 -0
  40. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/annotated_use_union_operator.py +32 -0
  41. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/custom_formatters.py +36 -0
  42. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/custom_scalar_types.py +35 -0
  43. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/different_types_of_fields.py +39 -0
  44. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/enums.py +38 -0
  45. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/field_aliases.py +31 -0
  46. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/github_api.py +23207 -0
  47. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/simple_star_wars.py +154 -0
  48. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/simple_star_wars_dataclass.py +159 -0
  49. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/union.py +59 -0
  50. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/use_standard_collections.py +27 -0
  51. datamodel_code_generator-0.27.0/tests/data/expected/main/graphql/use_union_operator.py +36 -0
  52. datamodel_code_generator-0.27.0/tests/data/expected/main/json/general.py +16 -0
  53. datamodel_code_generator-0.27.0/tests/data/expected/main/json/json_array_include_null.py +17 -0
  54. datamodel_code_generator-0.27.0/tests/data/expected/main/json/json_reuse_model.py +27 -0
  55. datamodel_code_generator-0.27.0/tests/data/expected/main/json/json_snake_case_field.py +17 -0
  56. datamodel_code_generator-0.27.0/tests/data/expected/main/json/simple_json_snake_case_field.py +11 -0
  57. datamodel_code_generator-0.27.0/tests/data/expected/main/json/space_and_special_characters.py +46 -0
  58. datamodel_code_generator-0.27.0/tests/data/expected/main/json/typed_dict_space_and_special_characters.py +58 -0
  59. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_any_of/__init__.py +3 -0
  60. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_any_of/direct.py +37 -0
  61. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_any_of/reference.py +37 -0
  62. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_one_of/__init__.py +3 -0
  63. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_one_of/direct.py +37 -0
  64. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_one_of/reference.py +37 -0
  65. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_ref.py +15 -0
  66. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_ref_self.py +17 -0
  67. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_use_default.py +14 -0
  68. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/all_of_with_object.py +27 -0
  69. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/array_field_constraints.py +22 -0
  70. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/array_in_additional_properties.py +13 -0
  71. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/autodetect.py +19 -0
  72. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/boolean_property.py +13 -0
  73. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/circular_reference.py +35 -0
  74. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/combine_any_of_object.py +52 -0
  75. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/combine_any_of_object_left_to_right.py +51 -0
  76. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/combine_any_of_object_v2.py +49 -0
  77. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/combine_one_of_object.py +52 -0
  78. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/combined_array.py +116 -0
  79. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/complex_any_of.py +29 -0
  80. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/complex_one_of.py +29 -0
  81. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/complicated_enum_default_member.py +27 -0
  82. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/complicated_enum_default_member_dataclass.py +26 -0
  83. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/custom_base_path.py +34 -0
  84. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/custom_formatters.py +23 -0
  85. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/custom_type_path.py +36 -0
  86. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/custom_type_path_pydantic_v2.py +36 -0
  87. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/dataclass_field.py +21 -0
  88. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/dataclass_field_default.py +21 -0
  89. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_literals.py +28 -0
  90. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_literals_msgspec.py +28 -0
  91. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_literals_msgspec_keyword_only.py +28 -0
  92. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_literals_msgspec_keyword_only_omit_defaults.py +28 -0
  93. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_reference.py +36 -0
  94. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_reference_msgspec.py +35 -0
  95. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder/__init__.py +3 -0
  96. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder/inner_folder/__init__.py +3 -0
  97. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder/inner_folder/artificial_folder/__init__.py +3 -0
  98. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder/inner_folder/artificial_folder/type_1.py +13 -0
  99. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder/inner_folder/schema.py +24 -0
  100. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder/inner_folder/type_2.py +16 -0
  101. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder/subfolder/__init__.py +3 -0
  102. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder/subfolder/type_5.py +13 -0
  103. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder/type_4.py +13 -0
  104. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder_msgspec/__init__.py +3 -0
  105. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder_msgspec/inner_folder/__init__.py +3 -0
  106. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder_msgspec/inner_folder/artificial_folder/__init__.py +3 -0
  107. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder_msgspec/inner_folder/artificial_folder/type_1.py +14 -0
  108. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder_msgspec/inner_folder/schema.py +26 -0
  109. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder_msgspec/inner_folder/type_2.py +19 -0
  110. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder_msgspec/subfolder/__init__.py +3 -0
  111. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder_msgspec/subfolder/type_5.py +14 -0
  112. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/discriminator_with_external_references_folder_msgspec/type_4.py +14 -0
  113. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duplicate_field_constraints/common.py +13 -0
  114. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duplicate_field_constraints/test.py +13 -0
  115. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duplicate_field_constraints_msgspec/common.py +14 -0
  116. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duplicate_field_constraints_msgspec/test.py +15 -0
  117. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duplicate_field_constraints_msgspec_py38_collapse_root_models/common.py +9 -0
  118. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duplicate_field_constraints_msgspec_py38_collapse_root_models/test.py +18 -0
  119. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duplicate_name/__init__.py +3 -0
  120. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duplicate_name/bar.py +15 -0
  121. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duplicate_name/foo.py +15 -0
  122. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duration_msgspec.py +16 -0
  123. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/duration_pydantic_v2.py +18 -0
  124. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/external_definitions.py +18 -0
  125. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/external_files.py +17 -0
  126. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/external_files_in_directory.py +77 -0
  127. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/external_other_ref2.py +13 -0
  128. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/external_ref0.py +17 -0
  129. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/field_extras.py +14 -0
  130. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/field_extras_field_extra_keys.py +21 -0
  131. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/field_extras_field_extra_keys_v2.py +22 -0
  132. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/field_extras_field_include_all_keys.py +29 -0
  133. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/field_extras_field_include_all_keys_v2.py +33 -0
  134. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/field_extras_v2.py +16 -0
  135. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/general.py +19 -0
  136. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/generate_non_pydantic_output.py +12 -0
  137. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/has_default_value.py +43 -0
  138. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/id.py +20 -0
  139. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/id_stdin.py +20 -0
  140. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/ids/ContactPoint.py +18 -0
  141. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/ids/URI.py +11 -0
  142. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/ids/__init__.py +20 -0
  143. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/ids/id.py +13 -0
  144. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/ids/name.py +15 -0
  145. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/ids/sameAs.py +17 -0
  146. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/ids/type.py +11 -0
  147. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/imports_correct/__init__.py +3 -0
  148. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/imports_correct/schema.py +13 -0
  149. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/imports_correct/type_1.py +19 -0
  150. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/inheritance_forward_ref.py +50 -0
  151. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/inheritance_forward_ref_keep_model_order.py +50 -0
  152. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/invalid_enum_name.py +16 -0
  153. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/invalid_enum_name_snake_case_field.py +16 -0
  154. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/invalid_model_name.py +19 -0
  155. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/items_boolean.py +13 -0
  156. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/json_capitalise_enum_members.py +14 -0
  157. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/json_pointer.py +42 -0
  158. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/json_pointer_array.py +29 -0
  159. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/json_reuse_enum.py +34 -0
  160. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/json_reuse_enum_default_member.py +34 -0
  161. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/long_description.py +21 -0
  162. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/long_description_wrap_string_literal.py +30 -0
  163. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/main_root_one_of/bar.py +13 -0
  164. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/main_root_one_of/foo.py +16 -0
  165. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/main_root_one_of/union.py +23 -0
  166. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/modular_default_enum_member/__init__.py +3 -0
  167. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/modular_default_enum_member/bar.py +20 -0
  168. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/modular_default_enum_member/foo.py +21 -0
  169. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files/__init__.py +3 -0
  170. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files/file_a.py +16 -0
  171. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files/file_b.py +11 -0
  172. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files/file_c.py +16 -0
  173. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files/file_d.py +16 -0
  174. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files_json_pointer/__init__.py +3 -0
  175. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files_json_pointer/file_a.py +19 -0
  176. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files_json_pointer/file_b.py +41 -0
  177. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files_json_pointer/file_c.py +19 -0
  178. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files_self_ref/__init__.py +3 -0
  179. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files_self_ref/base_test.py +19 -0
  180. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files_self_ref/test.py +14 -0
  181. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/multiple_files_self_ref_single.py +20 -0
  182. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_all_of.py +13 -0
  183. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_deep/__init__.py +18 -0
  184. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_deep/empty_parent/nested/deep.py +13 -0
  185. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_deep/nested/deep.py +17 -0
  186. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/__init__.py +3 -0
  187. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/__init__.py +3 -0
  188. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/drink/__init__.py +3 -0
  189. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/drink/coffee.py +12 -0
  190. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/drink/tea.py +12 -0
  191. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/food.py +25 -0
  192. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/friends.py +24 -0
  193. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/machine/__init__.py +3 -0
  194. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/machine/robot.py +20 -0
  195. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/relative/animal/__init__.py +3 -0
  196. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/relative/animal/fur.py +12 -0
  197. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/relative/animal/pet/__init__.py +3 -0
  198. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/definitions/relative/animal/pet/pet.py +17 -0
  199. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_directory/person.py +29 -0
  200. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_json_pointer.py +68 -0
  201. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_skip/__init__.py +11 -0
  202. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_skip/a/__init__.py +3 -0
  203. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_skip/a/b/__init__.py +3 -0
  204. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_skip/a/b/c/__init__.py +3 -0
  205. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nested_skip/a/b/c/d.py +13 -0
  206. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/null.py +16 -0
  207. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/null_and_array.py +17 -0
  208. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/null_and_array_v2.py +17 -0
  209. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nullable_any_of.py +31 -0
  210. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nullable_any_of_use_union_operator.py +29 -0
  211. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/nullable_object.py +23 -0
  212. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/object_has_one_of.py +61 -0
  213. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/one_of_with_sub_schema_array_item.py +17 -0
  214. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/pattern.py +22 -0
  215. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/pattern_properties.py +17 -0
  216. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/pattern_properties_by_reference.py +31 -0
  217. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/pattern_properties_field_constraints.py +17 -0
  218. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/removed_parent_class.py +16 -0
  219. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/require_referenced_field/referenced.py +15 -0
  220. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/require_referenced_field/required.py +14 -0
  221. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/require_referenced_field_msgspec/referenced.py +14 -0
  222. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/require_referenced_field_msgspec/required.py +12 -0
  223. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/require_referenced_field_naivedatetime/referenced.py +14 -0
  224. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/require_referenced_field_naivedatetime/required.py +14 -0
  225. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/require_referenced_field_pydantic_v2/referenced.py +14 -0
  226. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/require_referenced_field_pydantic_v2/required.py +14 -0
  227. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/root_id.py +32 -0
  228. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/root_id_absolute_url.py +32 -0
  229. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/root_in_enum.py +24 -0
  230. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/root_model_with_additional_properties.py +49 -0
  231. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/root_model_with_additional_properties_custom_class_name.py +49 -0
  232. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/root_model_with_additional_properties_literal.py +43 -0
  233. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/root_model_with_additional_properties_use_generic_container_types.py +49 -0
  234. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/root_model_with_additional_properties_use_standard_collections.py +49 -0
  235. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/self_reference.py +21 -0
  236. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/similar_nested_array.py +66 -0
  237. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/space_field_enum_snake_case_field.py +18 -0
  238. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/special_enum.py +25 -0
  239. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/special_enum_empty_enum_field_name.py +25 -0
  240. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/special_enum_special_field_name_prefix.py +25 -0
  241. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/special_enum_special_field_name_prefix_keep_private.py +25 -0
  242. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/special_field_name.py +18 -0
  243. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/special_model_remove_special_field_name_prefix.py +17 -0
  244. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/strict_types.py +23 -0
  245. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/strict_types_all.py +35 -0
  246. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/strict_types_all_field_constraints.py +31 -0
  247. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/subclass_enum.py +53 -0
  248. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/titles.py +57 -0
  249. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/titles_use_title_as_name.py +57 -0
  250. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_as_module/complex/__init__.py +3 -0
  251. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_as_module/complex/directory/__init__.py +3 -0
  252. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_as_module/complex/directory/api/__init__.py +3 -0
  253. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_as_module/complex/directory/api/path/__init__.py +3 -0
  254. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_as_module/complex/directory/api/path/input.py +16 -0
  255. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_as_module/complex/directory/api/path/output.py +13 -0
  256. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_as_module/complex/directory/schema.py +13 -0
  257. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_not_as_module/complex.directory/__init__.py +3 -0
  258. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_not_as_module/complex.directory/api_path_input.py +16 -0
  259. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_not_as_module/complex.directory/api_path_output.py +13 -0
  260. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/treat_dot_not_as_module/complex.directory/schema.py +13 -0
  261. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/typed_dict_not_required_nullable.py +14 -0
  262. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/typed_dict_special_field_name_with_inheritance_model.py +30 -0
  263. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_default_with_const.py +13 -0
  264. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/__init__.py +3 -0
  265. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/__init__.py +3 -0
  266. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/drink/__init__.py +3 -0
  267. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/drink/coffee.py +12 -0
  268. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/drink/tea.py +12 -0
  269. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/food.py +25 -0
  270. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/friends.py +24 -0
  271. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/machine/__init__.py +3 -0
  272. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/machine/robot.py +18 -0
  273. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/relative/animal/__init__.py +3 -0
  274. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/relative/animal/fur.py +12 -0
  275. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/relative/animal/pet/__init__.py +3 -0
  276. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/definitions/relative/animal/pet/pet.py +15 -0
  277. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/use_union_operator/person.py +29 -0
  278. datamodel_code_generator-0.27.0/tests/data/expected/main/jsonschema/without_titles_use_title_as_name.py +53 -0
  279. datamodel_code_generator-0.27.0/tests/data/expected/main/main_jsonschema_with_custom_formatters/output.py +23 -0
  280. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/all_of_with_relative_ref.py +43 -0
  281. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/allof_required.py +19 -0
  282. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/allow_extra_fields.py +102 -0
  283. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/allow_extra_fields_pydantic_v2.py +87 -0
  284. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/allow_population_by_field_name.py +102 -0
  285. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/allow_population_by_field_name_pydantic_v2.py +102 -0
  286. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/base_class.py +71 -0
  287. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/body_and_parameters/general.py +66 -0
  288. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/body_and_parameters/only_paths.py +56 -0
  289. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/body_and_parameters/only_schemas.py +25 -0
  290. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/body_and_parameters/remote_ref.py +33 -0
  291. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/collapse_root_models.py +33 -0
  292. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/collapse_root_models_field_constraints.py +51 -0
  293. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/collapse_root_models_with_references_to_flat_types.py +13 -0
  294. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/complex_reference.py +41 -0
  295. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/const.py +12 -0
  296. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/const_field.py +11 -0
  297. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/const_field_msgspec.py +14 -0
  298. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/const_field_pydantic_v2.py +13 -0
  299. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/const_pydantic_v2.py +14 -0
  300. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/content_in_parameters.py +25 -0
  301. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/custom_file_header.py +70 -0
  302. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/custom_id_pydantic_v2.py +18 -0
  303. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/custom_id_pydantic_v2_custom_base.py +20 -0
  304. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/custom_template_dir.py +61 -0
  305. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/dataclass.py +61 -0
  306. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/dataclass_base_class.py +63 -0
  307. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/dataclass_keyword_only.py +21 -0
  308. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/datetime.py +13 -0
  309. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/datetime_dataclass.py +13 -0
  310. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/datetime_msgspec.py +13 -0
  311. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/datetime_pydantic_v2.py +11 -0
  312. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/datetime_v2.py +13 -0
  313. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/default_object/Another.py +25 -0
  314. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/default_object/Nested.py +30 -0
  315. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/default_object/__init__.py +26 -0
  316. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/disable_appending_item_suffix.py +88 -0
  317. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/disable_timestamp.py +68 -0
  318. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/discriminator/dataclass_enum_one_literal_as_default.py +33 -0
  319. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/discriminator/discriminator_with_properties.py +36 -0
  320. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/discriminator/enum.py +32 -0
  321. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/discriminator/enum_duplicate.py +37 -0
  322. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/discriminator/enum_one_literal_as_default.py +32 -0
  323. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/discriminator/general.py +36 -0
  324. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/discriminator/in_array.py +39 -0
  325. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/discriminator/in_array_collapse_root_models.py +35 -0
  326. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/discriminator/without_mapping.py +36 -0
  327. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/enable_faux_immutability.py +102 -0
  328. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/enable_faux_immutability_pydantic_v2.py +102 -0
  329. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/enable_version_header.py +70 -0
  330. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/enum_models/all.py +72 -0
  331. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/enum_models/as_literal_py37.py +73 -0
  332. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/enum_models/one.py +122 -0
  333. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/enum_models/one_literal_as_default.py +122 -0
  334. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/external_relative_ref/module.openapi/__init__.py +3 -0
  335. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/external_relative_ref/module.openapi/model_a.py +18 -0
  336. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/external_relative_ref/module.openapi/modules/__init__.py +3 -0
  337. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/external_relative_ref/module.openapi/modules/quality_evaluation.py +15 -0
  338. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/extra_template_data_config.py +72 -0
  339. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/extra_template_data_config_pydantic_v2.py +72 -0
  340. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/force_optional.py +69 -0
  341. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/general.py +69 -0
  342. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/http_refs.py +35 -0
  343. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/json_pointer.py +26 -0
  344. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/max_items_enum.py +19 -0
  345. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/max_min_number.py +13 -0
  346. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/__init__.py +38 -0
  347. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/bar.py +11 -0
  348. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/collections.py +51 -0
  349. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/foo/__init__.py +20 -0
  350. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/foo/bar.py +25 -0
  351. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/models.py +33 -0
  352. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/nested/__init__.py +3 -0
  353. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/nested/foo.py +32 -0
  354. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/woo/__init__.py +3 -0
  355. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular/woo/boo.py +18 -0
  356. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/__init__.py +38 -0
  357. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/bar.py +11 -0
  358. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/collections.py +51 -0
  359. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/foo/__init__.py +20 -0
  360. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/foo/bar.py +25 -0
  361. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/models.py +33 -0
  362. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/nested/__init__.py +3 -0
  363. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/nested/foo.py +32 -0
  364. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/woo/__init__.py +3 -0
  365. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_custom_class_name/woo/boo.py +18 -0
  366. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/__init__.py +38 -0
  367. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/bar.py +11 -0
  368. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/collections.py +51 -0
  369. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/foo/__init__.py +20 -0
  370. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/foo/bar.py +25 -0
  371. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/models.py +33 -0
  372. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/nested/__init__.py +3 -0
  373. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/nested/foo.py +30 -0
  374. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/woo/__init__.py +3 -0
  375. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_reuse_model/woo/boo.py +18 -0
  376. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/__init__.py +33 -0
  377. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/bar.py +7 -0
  378. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/collections.py +28 -0
  379. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/foo/__init__.py +18 -0
  380. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/foo/bar.py +23 -0
  381. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/models.py +26 -0
  382. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/nested/__init__.py +3 -0
  383. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/nested/foo.py +26 -0
  384. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/woo/__init__.py +3 -0
  385. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/modular_typed_dict/woo/boo.py +16 -0
  386. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/msgspec_default_object/Another.py +23 -0
  387. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/msgspec_default_object/Nested.py +26 -0
  388. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/msgspec_default_object/__init__.py +26 -0
  389. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/msgspec_keyword_only.py +20 -0
  390. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/msgspec_keyword_only_omit_defaults.py +20 -0
  391. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/msgspec_struct.py +65 -0
  392. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/msgspec_struct_snake_case.py +66 -0
  393. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/msgspec_use_annotated_with_field_constraints.py +83 -0
  394. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/multiple_required_any_of.py +24 -0
  395. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/nested_enum.py +32 -0
  396. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/no_file.py +69 -0
  397. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/nullable.py +83 -0
  398. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/nullable_31.py +17 -0
  399. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/nullable_strict_nullable.py +83 -0
  400. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/nullable_strict_nullable_use_union_operator.py +83 -0
  401. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/oas_response_reference.py +24 -0
  402. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/override_required_all_of.py +33 -0
  403. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pattern/general.py +22 -0
  404. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pattern/msgspec_pattern.py +25 -0
  405. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pattern/pydantic_v2.py +22 -0
  406. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pattern_with_lookaround_pydantic_v2.py +16 -0
  407. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pattern_with_lookaround_pydantic_v2_field_constraints.py +16 -0
  408. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pydantic_v2.py +69 -0
  409. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pydantic_v2_default_object/Another.py +25 -0
  410. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pydantic_v2_default_object/Nested.py +30 -0
  411. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pydantic_v2_default_object/__init__.py +26 -0
  412. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pyproject.py +90 -0
  413. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/pyproject_not_found.py +69 -0
  414. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/reference_same_hierarchy_directory.py +19 -0
  415. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/reference_to_object_properties.py +31 -0
  416. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/reference_to_object_properties_collapse_root_models.py +27 -0
  417. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/special_yaml_keywords.py +30 -0
  418. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/stdin.py +69 -0
  419. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/subclass_enum.py +22 -0
  420. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/target_python_version.py +67 -0
  421. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/typed_dict.py +56 -0
  422. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/typed_dict_nullable.py +67 -0
  423. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/typed_dict_nullable_strict_nullable.py +67 -0
  424. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/typed_dict_py_38.py +56 -0
  425. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/unsorted_optional_fields.py +14 -0
  426. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_annotated_with_field_constraints.py +88 -0
  427. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_annotated_with_field_constraints_py38.py +89 -0
  428. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_annotated_with_field_constraints_pydantic_v2.py +88 -0
  429. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_default.py +69 -0
  430. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_default_kwarg.py +83 -0
  431. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types/__init__.py +38 -0
  432. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types/collections.py +51 -0
  433. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types/foo/__init__.py +20 -0
  434. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types/foo/bar.py +25 -0
  435. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types/models.py +35 -0
  436. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types/nested/__init__.py +3 -0
  437. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types/nested/foo.py +32 -0
  438. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types/woo/__init__.py +3 -0
  439. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types/woo/boo.py +18 -0
  440. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types_standard_collections/__init__.py +38 -0
  441. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types_standard_collections/collections.py +52 -0
  442. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types_standard_collections/foo/__init__.py +20 -0
  443. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types_standard_collections/foo/bar.py +26 -0
  444. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types_standard_collections/models.py +36 -0
  445. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types_standard_collections/nested/__init__.py +3 -0
  446. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types_standard_collections/nested/foo.py +33 -0
  447. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types_standard_collections/woo/__init__.py +3 -0
  448. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_generic_container_types_standard_collections/woo/boo.py +18 -0
  449. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_operation_id_as_name.py +73 -0
  450. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_standard_collections/__init__.py +38 -0
  451. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_standard_collections/collections.py +51 -0
  452. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_standard_collections/foo/__init__.py +20 -0
  453. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_standard_collections/foo/bar.py +25 -0
  454. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_standard_collections/models.py +33 -0
  455. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_standard_collections/nested/__init__.py +3 -0
  456. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_standard_collections/nested/foo.py +32 -0
  457. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_standard_collections/woo/__init__.py +3 -0
  458. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/use_standard_collections/woo/boo.py +18 -0
  459. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/validation.py +69 -0
  460. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_aliases.py +69 -0
  461. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_aliases_msgspec.py +64 -0
  462. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_exclusive.py +25 -0
  463. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_field_constraints.py +88 -0
  464. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_field_constraints_pydantic_v2.py +88 -0
  465. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_field_constraints_pydantic_v2_use_generic_container_types.py +88 -0
  466. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_field_constraints_pydantic_v2_use_generic_container_types_set.py +88 -0
  467. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_field_constraints_pydantic_v2_use_standard_collections.py +88 -0
  468. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_field_constraints_pydantic_v2_use_standard_collections_set.py +88 -0
  469. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_field_constraints_use_unique_items_as_set.py +88 -0
  470. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_snake_case_field.py +73 -0
  471. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/with_strip_default_none.py +69 -0
  472. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/without_field_constraints.py +84 -0
  473. datamodel_code_generator-0.27.0/tests/data/expected/main/openapi/without_field_constraints_pydantic_v2.py +84 -0
  474. datamodel_code_generator-0.27.0/tests/data/expected/main/space_and_special_characters_dict.py +46 -0
  475. datamodel_code_generator-0.27.0/tests/data/expected/main/yaml.py +16 -0
  476. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main/output.py +69 -0
  477. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_base_class/output.py +71 -0
  478. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_custom_template_dir/output.py +61 -0
  479. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/__init__.py +38 -0
  480. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/bar.py +11 -0
  481. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/collections.py +51 -0
  482. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/foo/__init__.py +20 -0
  483. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/foo/bar.py +25 -0
  484. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/models.py +33 -0
  485. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/nested/__init__.py +3 -0
  486. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/nested/foo.py +32 -0
  487. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/woo/__init__.py +3 -0
  488. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_modular/woo/boo.py +18 -0
  489. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_no_file/output.py +69 -0
  490. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_use_field_description/output.py +74 -0
  491. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/main_use_schema_description/output.py +79 -0
  492. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/pyproject/output.py +92 -0
  493. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/pyproject/output.strictstr.py +69 -0
  494. datamodel_code_generator-0.27.0/tests/data/expected/main_kr/target_python_version/output.py +67 -0
  495. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse/format.py +50 -0
  496. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse/with_import.py +55 -0
  497. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse/with_import_format.py +57 -0
  498. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse/with_import_format_custom_module.Base.py +59 -0
  499. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_additional_properties/format.py +64 -0
  500. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_additional_properties/with_import.py +67 -0
  501. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_additional_properties/with_import_format.py +71 -0
  502. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_additional_properties/with_import_format_custom_module.Base.py +73 -0
  503. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_alias/__init__.py +83 -0
  504. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_alias/collection_s.py +38 -0
  505. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_alias/fo_o/__init__.py +16 -0
  506. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_alias/fo_o/ba_r.py +17 -0
  507. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_alias/model_s.py +29 -0
  508. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_alias/wo_o/__init__.py +0 -0
  509. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_alias/wo_o/bo_o.py +13 -0
  510. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_allof/output.py +80 -0
  511. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_allof_same_prefix_with_ref/output.py +17 -0
  512. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_any/output.py +10 -0
  513. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_anyof/output.py +52 -0
  514. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_array_called_fields_with_oneOf_items/output.py +17 -0
  515. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_array_enum/with_import_format.py +20 -0
  516. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_duplicate_models/output.py +56 -0
  517. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_duplicate_models_simplify/output.py +13 -0
  518. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_enum_models/output_py36.py +136 -0
  519. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_enum_models/output_py37.py +138 -0
  520. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/__init__.py +34 -0
  521. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/bar.py +7 -0
  522. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/collections.py +39 -0
  523. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/foo/__init__.py +16 -0
  524. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/foo/bar.py +21 -0
  525. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/models.py +29 -0
  526. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/nested/__init__.py +0 -0
  527. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/nested/foo.py +25 -0
  528. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/woo/__init__.py +0 -0
  529. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_modular/woo/boo.py +14 -0
  530. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_nested_anyof/output.py +17 -0
  531. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_nested_oneof/output.py +17 -0
  532. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_oneof/output.py +52 -0
  533. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_remote_ref/with_import_format.py +13 -0
  534. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_parse_resolved_models/output.py +24 -0
  535. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_responses_with_tag/output.py +62 -0
  536. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_responses_without_content/output.py +52 -0
  537. datamodel_code_generator-0.27.0/tests/data/expected/parser/openapi/openapi_parser_with_query_parameters/output.py +61 -0
  538. datamodel_code_generator-0.27.0/tests/data/graphql/additional-imports-types.json +11 -0
  539. datamodel_code_generator-0.27.0/tests/data/graphql/additional-imports.graphql +12 -0
  540. datamodel_code_generator-0.27.0/tests/data/graphql/annotated.graphql +9 -0
  541. datamodel_code_generator-0.27.0/tests/data/graphql/custom-scalar-types.graphql +6 -0
  542. datamodel_code_generator-0.27.0/tests/data/graphql/custom-scalar-types.json +5 -0
  543. datamodel_code_generator-0.27.0/tests/data/graphql/different-types-of-fields.graphql +15 -0
  544. datamodel_code_generator-0.27.0/tests/data/graphql/enums.graphql +17 -0
  545. datamodel_code_generator-0.27.0/tests/data/graphql/field-aliases.graphql +6 -0
  546. datamodel_code_generator-0.27.0/tests/data/graphql/field-aliases.json +4 -0
  547. datamodel_code_generator-0.27.0/tests/data/graphql/github-api-aliases.json +3 -0
  548. datamodel_code_generator-0.27.0/tests/data/graphql/github-api-types.json +14 -0
  549. datamodel_code_generator-0.27.0/tests/data/graphql/github-api.graphql +61141 -0
  550. datamodel_code_generator-0.27.0/tests/data/graphql/simple-star-wars.graphql +142 -0
  551. datamodel_code_generator-0.27.0/tests/data/graphql/union.graphql +18 -0
  552. datamodel_code_generator-0.27.0/tests/data/graphql/use-standard-collections.graphql +6 -0
  553. datamodel_code_generator-0.27.0/tests/data/graphql/use-union-operator.graphql +14 -0
  554. datamodel_code_generator-0.27.0/tests/data/json/array_include_null.json +10 -0
  555. datamodel_code_generator-0.27.0/tests/data/json/broken.json +2 -0
  556. datamodel_code_generator-0.27.0/tests/data/json/duplicate_models.json +15 -0
  557. datamodel_code_generator-0.27.0/tests/data/json/pet.json +6 -0
  558. datamodel_code_generator-0.27.0/tests/data/json/simple.json +1 -0
  559. datamodel_code_generator-0.27.0/tests/data/json/snake_case.json +9 -0
  560. datamodel_code_generator-0.27.0/tests/data/json/space_and_special_characters.json +26 -0
  561. datamodel_code_generator-0.27.0/tests/data/jsonschema/all_of_any_of/direct.json +45 -0
  562. datamodel_code_generator-0.27.0/tests/data/jsonschema/all_of_any_of/reference.json +49 -0
  563. datamodel_code_generator-0.27.0/tests/data/jsonschema/all_of_default.json +29 -0
  564. datamodel_code_generator-0.27.0/tests/data/jsonschema/all_of_one_of/direct.json +45 -0
  565. datamodel_code_generator-0.27.0/tests/data/jsonschema/all_of_one_of/reference.json +49 -0
  566. datamodel_code_generator-0.27.0/tests/data/jsonschema/all_of_ref/base_test.json +23 -0
  567. datamodel_code_generator-0.27.0/tests/data/jsonschema/all_of_ref/test.json +11 -0
  568. datamodel_code_generator-0.27.0/tests/data/jsonschema/all_of_ref_self.json +17 -0
  569. datamodel_code_generator-0.27.0/tests/data/jsonschema/all_of_with_object.json +63 -0
  570. datamodel_code_generator-0.27.0/tests/data/jsonschema/array_field_constraints.json +26 -0
  571. datamodel_code_generator-0.27.0/tests/data/jsonschema/array_in_additional_properties.json +14 -0
  572. datamodel_code_generator-0.27.0/tests/data/jsonschema/boolean_property.json +6 -0
  573. datamodel_code_generator-0.27.0/tests/data/jsonschema/circular_reference.json +49 -0
  574. datamodel_code_generator-0.27.0/tests/data/jsonschema/combine_any_of_object.json +42 -0
  575. datamodel_code_generator-0.27.0/tests/data/jsonschema/combine_one_of_object.json +42 -0
  576. datamodel_code_generator-0.27.0/tests/data/jsonschema/combined_array.json +209 -0
  577. datamodel_code_generator-0.27.0/tests/data/jsonschema/complex_any_of.json +46 -0
  578. datamodel_code_generator-0.27.0/tests/data/jsonschema/complex_one_of.json +46 -0
  579. datamodel_code_generator-0.27.0/tests/data/jsonschema/complicated_enum.json +39 -0
  580. datamodel_code_generator-0.27.0/tests/data/jsonschema/custom_base_path.json +59 -0
  581. datamodel_code_generator-0.27.0/tests/data/jsonschema/custom_type_path.json +37 -0
  582. datamodel_code_generator-0.27.0/tests/data/jsonschema/datetime.json +19 -0
  583. datamodel_code_generator-0.27.0/tests/data/jsonschema/discriminator_literals.json +62 -0
  584. datamodel_code_generator-0.27.0/tests/data/jsonschema/discriminator_with_external_reference/inner_folder/artificial_folder/type-1.json +11 -0
  585. datamodel_code_generator-0.27.0/tests/data/jsonschema/discriminator_with_external_reference/inner_folder/schema.json +52 -0
  586. datamodel_code_generator-0.27.0/tests/data/jsonschema/discriminator_with_external_reference/inner_folder/type-2.json +15 -0
  587. datamodel_code_generator-0.27.0/tests/data/jsonschema/discriminator_with_external_reference/subfolder/type-5.json +11 -0
  588. datamodel_code_generator-0.27.0/tests/data/jsonschema/discriminator_with_external_reference/type-4.json +11 -0
  589. datamodel_code_generator-0.27.0/tests/data/jsonschema/duplicate_enum.json +51 -0
  590. datamodel_code_generator-0.27.0/tests/data/jsonschema/duplicate_field_constraints/common.yml +7 -0
  591. datamodel_code_generator-0.27.0/tests/data/jsonschema/duplicate_field_constraints/test.yml +10 -0
  592. datamodel_code_generator-0.27.0/tests/data/jsonschema/duplicate_name/bar.json +12 -0
  593. datamodel_code_generator-0.27.0/tests/data/jsonschema/duplicate_name/foo.json +12 -0
  594. datamodel_code_generator-0.27.0/tests/data/jsonschema/duration.json +15 -0
  595. datamodel_code_generator-0.27.0/tests/data/jsonschema/enum_in_root/enum_in_root.json +17 -0
  596. datamodel_code_generator-0.27.0/tests/data/jsonschema/enum_in_root/schema.json +14 -0
  597. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_child.json +10 -0
  598. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_child.yaml +7 -0
  599. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_child_root.json +13 -0
  600. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_collapse/child.json +4 -0
  601. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_collapse/parent.json +6 -0
  602. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_definitions.json +7 -0
  603. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_definitions_root.json +14 -0
  604. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_files_in_directory/definitions/drink/coffee.json +10 -0
  605. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_files_in_directory/definitions/drink/tea.json +10 -0
  606. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_files_in_directory/definitions/food.json +21 -0
  607. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_files_in_directory/definitions/friends.json +33 -0
  608. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_files_in_directory/definitions/machine/robot.json +21 -0
  609. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_files_in_directory/definitions/relative/animal/fur.json +10 -0
  610. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_files_in_directory/definitions/relative/animal/pet/pet.json +17 -0
  611. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_files_in_directory/person.json +64 -0
  612. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_parent.json +51 -0
  613. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_parent_root.json +13 -0
  614. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_reference/other/ref1.json +9 -0
  615. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_reference/other/ref2.json +7 -0
  616. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_reference/ref0.json +11 -0
  617. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_reference/ref1.json +9 -0
  618. datamodel_code_generator-0.27.0/tests/data/jsonschema/external_reference/ref2.json +6 -0
  619. datamodel_code_generator-0.27.0/tests/data/jsonschema/extra_data_msgspec.json +7 -0
  620. datamodel_code_generator-0.27.0/tests/data/jsonschema/extras.json +33 -0
  621. datamodel_code_generator-0.27.0/tests/data/jsonschema/has_default_value.json +78 -0
  622. datamodel_code_generator-0.27.0/tests/data/jsonschema/id.json +23 -0
  623. datamodel_code_generator-0.27.0/tests/data/jsonschema/ids/ContactPoint.schema.json +29 -0
  624. datamodel_code_generator-0.27.0/tests/data/jsonschema/ids/Organization.schema.json +42 -0
  625. datamodel_code_generator-0.27.0/tests/data/jsonschema/ids/URI.schema.json +8 -0
  626. datamodel_code_generator-0.27.0/tests/data/jsonschema/ids/context.schema.json +7 -0
  627. datamodel_code_generator-0.27.0/tests/data/jsonschema/ids/id.schema.json +7 -0
  628. datamodel_code_generator-0.27.0/tests/data/jsonschema/ids/name.schema.json +7 -0
  629. datamodel_code_generator-0.27.0/tests/data/jsonschema/ids/sameAs.schema.json +7 -0
  630. datamodel_code_generator-0.27.0/tests/data/jsonschema/ids/schema.schema.json +7 -0
  631. datamodel_code_generator-0.27.0/tests/data/jsonschema/ids/type.schema.json +7 -0
  632. datamodel_code_generator-0.27.0/tests/data/jsonschema/imports_correct/schema.json +24 -0
  633. datamodel_code_generator-0.27.0/tests/data/jsonschema/imports_correct/type_1.json +13 -0
  634. datamodel_code_generator-0.27.0/tests/data/jsonschema/inheritance_forward_ref.json +100 -0
  635. datamodel_code_generator-0.27.0/tests/data/jsonschema/invalid_enum_name.json +13 -0
  636. datamodel_code_generator-0.27.0/tests/data/jsonschema/invalid_model_name.json +26 -0
  637. datamodel_code_generator-0.27.0/tests/data/jsonschema/items_boolean.json +9 -0
  638. datamodel_code_generator-0.27.0/tests/data/jsonschema/json_pointer.json +72 -0
  639. datamodel_code_generator-0.27.0/tests/data/jsonschema/json_pointer_array.json +62 -0
  640. datamodel_code_generator-0.27.0/tests/data/jsonschema/long_description.json +19 -0
  641. datamodel_code_generator-0.27.0/tests/data/jsonschema/many_case_enum.json +10 -0
  642. datamodel_code_generator-0.27.0/tests/data/jsonschema/modular_default_enum_member/bar.json +14 -0
  643. datamodel_code_generator-0.27.0/tests/data/jsonschema/modular_default_enum_member/foo.json +20 -0
  644. datamodel_code_generator-0.27.0/tests/data/jsonschema/modular_default_enum_member/nested_bar/bar.json +14 -0
  645. datamodel_code_generator-0.27.0/tests/data/jsonschema/multiple_files/file_a.json +13 -0
  646. datamodel_code_generator-0.27.0/tests/data/jsonschema/multiple_files/file_b.json +13 -0
  647. datamodel_code_generator-0.27.0/tests/data/jsonschema/multiple_files/file_c.json +13 -0
  648. datamodel_code_generator-0.27.0/tests/data/jsonschema/multiple_files/file_d.json +13 -0
  649. datamodel_code_generator-0.27.0/tests/data/jsonschema/multiple_files_json_pointer/file_a.json +24 -0
  650. datamodel_code_generator-0.27.0/tests/data/jsonschema/multiple_files_json_pointer/file_b.json +52 -0
  651. datamodel_code_generator-0.27.0/tests/data/jsonschema/multiple_files_json_pointer/file_c.json +24 -0
  652. datamodel_code_generator-0.27.0/tests/data/jsonschema/multiple_files_self_ref/base_test.json +14 -0
  653. datamodel_code_generator-0.27.0/tests/data/jsonschema/multiple_files_self_ref/test.json +20 -0
  654. datamodel_code_generator-0.27.0/tests/data/jsonschema/nested_all_of.json +40 -0
  655. datamodel_code_generator-0.27.0/tests/data/jsonschema/nested_array.json +35 -0
  656. datamodel_code_generator-0.27.0/tests/data/jsonschema/nested_array.json.snapshot +8 -0
  657. datamodel_code_generator-0.27.0/tests/data/jsonschema/nested_json_pointer.json +142 -0
  658. datamodel_code_generator-0.27.0/tests/data/jsonschema/nested_person.json +42 -0
  659. datamodel_code_generator-0.27.0/tests/data/jsonschema/nested_skip.json +15 -0
  660. datamodel_code_generator-0.27.0/tests/data/jsonschema/not_required_nullable.json +20 -0
  661. datamodel_code_generator-0.27.0/tests/data/jsonschema/null.json +17 -0
  662. datamodel_code_generator-0.27.0/tests/data/jsonschema/null_and_array.json +26 -0
  663. datamodel_code_generator-0.27.0/tests/data/jsonschema/nullable_any_of.json +41 -0
  664. datamodel_code_generator-0.27.0/tests/data/jsonschema/nullable_object.json +41 -0
  665. datamodel_code_generator-0.27.0/tests/data/jsonschema/object_has_one_of.json +82 -0
  666. datamodel_code_generator-0.27.0/tests/data/jsonschema/one_of_with_sub_schema_array_item.json +25 -0
  667. datamodel_code_generator-0.27.0/tests/data/jsonschema/oneof.json +20 -0
  668. datamodel_code_generator-0.27.0/tests/data/jsonschema/oneof.json.snapshot +6 -0
  669. datamodel_code_generator-0.27.0/tests/data/jsonschema/pattern.json +23 -0
  670. datamodel_code_generator-0.27.0/tests/data/jsonschema/pattern_properties.json +28 -0
  671. datamodel_code_generator-0.27.0/tests/data/jsonschema/pattern_properties_by_reference.json +54 -0
  672. datamodel_code_generator-0.27.0/tests/data/jsonschema/person.json +26 -0
  673. datamodel_code_generator-0.27.0/tests/data/jsonschema/require_referenced_field/referenced.json +15 -0
  674. datamodel_code_generator-0.27.0/tests/data/jsonschema/require_referenced_field/required.json +12 -0
  675. datamodel_code_generator-0.27.0/tests/data/jsonschema/root_id.json +24 -0
  676. datamodel_code_generator-0.27.0/tests/data/jsonschema/root_id_absolute_url.json +24 -0
  677. datamodel_code_generator-0.27.0/tests/data/jsonschema/root_id_ref.json +14 -0
  678. datamodel_code_generator-0.27.0/tests/data/jsonschema/root_id_self_ref.json +24 -0
  679. datamodel_code_generator-0.27.0/tests/data/jsonschema/root_model_with_additional_properties.json +127 -0
  680. datamodel_code_generator-0.27.0/tests/data/jsonschema/root_one_of/bar.json +14 -0
  681. datamodel_code_generator-0.27.0/tests/data/jsonschema/root_one_of/foo.json +21 -0
  682. datamodel_code_generator-0.27.0/tests/data/jsonschema/root_one_of/union.json +27 -0
  683. datamodel_code_generator-0.27.0/tests/data/jsonschema/self_reference.json +23 -0
  684. datamodel_code_generator-0.27.0/tests/data/jsonschema/similar_nested_array.json +93 -0
  685. datamodel_code_generator-0.27.0/tests/data/jsonschema/simple_string.json +6 -0
  686. datamodel_code_generator-0.27.0/tests/data/jsonschema/space_field_enum.json +17 -0
  687. datamodel_code_generator-0.27.0/tests/data/jsonschema/special_enum.json +15 -0
  688. datamodel_code_generator-0.27.0/tests/data/jsonschema/special_field_name.json +25 -0
  689. datamodel_code_generator-0.27.0/tests/data/jsonschema/special_field_name_with_inheritance_model.json +51 -0
  690. datamodel_code_generator-0.27.0/tests/data/jsonschema/special_prefix_model.json +19 -0
  691. datamodel_code_generator-0.27.0/tests/data/jsonschema/strict_types.json +50 -0
  692. datamodel_code_generator-0.27.0/tests/data/jsonschema/subclass_enum.json +51 -0
  693. datamodel_code_generator-0.27.0/tests/data/jsonschema/titles.json +91 -0
  694. datamodel_code_generator-0.27.0/tests/data/jsonschema/treat_dot_as_module/complex.directory/api.path.input.json +13 -0
  695. datamodel_code_generator-0.27.0/tests/data/jsonschema/treat_dot_as_module/complex.directory/api.path.output.json +10 -0
  696. datamodel_code_generator-0.27.0/tests/data/jsonschema/treat_dot_as_module/complex.directory/schema.json +10 -0
  697. datamodel_code_generator-0.27.0/tests/data/jsonschema/use_default_with_const.json +10 -0
  698. datamodel_code_generator-0.27.0/tests/data/jsonschema/user.json +33 -0
  699. datamodel_code_generator-0.27.0/tests/data/jsonschema/user_default.json +34 -0
  700. datamodel_code_generator-0.27.0/tests/data/jsonschema/user_defs.json +33 -0
  701. datamodel_code_generator-0.27.0/tests/data/jsonschema/without_titles.json +83 -0
  702. datamodel_code_generator-0.27.0/tests/data/openapi/additional_properties.yaml +203 -0
  703. datamodel_code_generator-0.27.0/tests/data/openapi/alias.yaml +312 -0
  704. datamodel_code_generator-0.27.0/tests/data/openapi/aliases.json +4 -0
  705. datamodel_code_generator-0.27.0/tests/data/openapi/all_of_with_relative_ref/openapi.yaml +19 -0
  706. datamodel_code_generator-0.27.0/tests/data/openapi/all_of_with_relative_ref/schema/animal.yaml +10 -0
  707. datamodel_code_generator-0.27.0/tests/data/openapi/all_of_with_relative_ref/schema/pet.yaml +9 -0
  708. datamodel_code_generator-0.27.0/tests/data/openapi/allof.yaml +225 -0
  709. datamodel_code_generator-0.27.0/tests/data/openapi/allof_required.yaml +30 -0
  710. datamodel_code_generator-0.27.0/tests/data/openapi/allof_same_prefix_with_ref.yaml +30 -0
  711. datamodel_code_generator-0.27.0/tests/data/openapi/any.yaml +34 -0
  712. datamodel_code_generator-0.27.0/tests/data/openapi/anyof.yaml +183 -0
  713. datamodel_code_generator-0.27.0/tests/data/openapi/api.yaml +179 -0
  714. datamodel_code_generator-0.27.0/tests/data/openapi/api_constrained.yaml +229 -0
  715. datamodel_code_generator-0.27.0/tests/data/openapi/api_multiline_docstrings.yaml +179 -0
  716. datamodel_code_generator-0.27.0/tests/data/openapi/api_ordered_required_fields.yaml +182 -0
  717. datamodel_code_generator-0.27.0/tests/data/openapi/array_called_fields_with_oneOf_items.yaml +19 -0
  718. datamodel_code_generator-0.27.0/tests/data/openapi/array_enum.yaml +18 -0
  719. datamodel_code_generator-0.27.0/tests/data/openapi/body_and_parameters.yaml +364 -0
  720. datamodel_code_generator-0.27.0/tests/data/openapi/body_and_parameters_remote_ref.yaml +263 -0
  721. datamodel_code_generator-0.27.0/tests/data/openapi/complex_reference.json +58 -0
  722. datamodel_code_generator-0.27.0/tests/data/openapi/const.json +21 -0
  723. datamodel_code_generator-0.27.0/tests/data/openapi/const.yaml +14 -0
  724. datamodel_code_generator-0.27.0/tests/data/openapi/content_in_parameters.yaml +73 -0
  725. datamodel_code_generator-0.27.0/tests/data/openapi/custom_id.yaml +12 -0
  726. datamodel_code_generator-0.27.0/tests/data/openapi/datetime.yaml +21 -0
  727. datamodel_code_generator-0.27.0/tests/data/openapi/default_object.yaml +81 -0
  728. datamodel_code_generator-0.27.0/tests/data/openapi/definitions.yaml +43 -0
  729. datamodel_code_generator-0.27.0/tests/data/openapi/discriminator.yaml +42 -0
  730. datamodel_code_generator-0.27.0/tests/data/openapi/discriminator_enum.yaml +40 -0
  731. datamodel_code_generator-0.27.0/tests/data/openapi/discriminator_enum_duplicate.yaml +64 -0
  732. datamodel_code_generator-0.27.0/tests/data/openapi/discriminator_in_array_anyof.yaml +48 -0
  733. datamodel_code_generator-0.27.0/tests/data/openapi/discriminator_in_array_oneof.yaml +48 -0
  734. datamodel_code_generator-0.27.0/tests/data/openapi/discriminator_with_properties.yaml +46 -0
  735. datamodel_code_generator-0.27.0/tests/data/openapi/discriminator_without_mapping.yaml +38 -0
  736. datamodel_code_generator-0.27.0/tests/data/openapi/duplicate_model_simplify.yaml +17 -0
  737. datamodel_code_generator-0.27.0/tests/data/openapi/duplicate_models.yaml +113 -0
  738. datamodel_code_generator-0.27.0/tests/data/openapi/empty_aliases.json +1 -0
  739. datamodel_code_generator-0.27.0/tests/data/openapi/empty_data.json +1 -0
  740. datamodel_code_generator-0.27.0/tests/data/openapi/enum_models.yaml +154 -0
  741. datamodel_code_generator-0.27.0/tests/data/openapi/example.yaml +176 -0
  742. datamodel_code_generator-0.27.0/tests/data/openapi/exclusive.yaml +42 -0
  743. datamodel_code_generator-0.27.0/tests/data/openapi/external_relative_ref/model_a/types.openapi.yaml +20 -0
  744. datamodel_code_generator-0.27.0/tests/data/openapi/external_relative_ref/model_b/module.openapi.yaml +12 -0
  745. datamodel_code_generator-0.27.0/tests/data/openapi/extra_data.json +6 -0
  746. datamodel_code_generator-0.27.0/tests/data/openapi/extra_data_msgspec.json +7 -0
  747. datamodel_code_generator-0.27.0/tests/data/openapi/flat_type.jsonschema +16 -0
  748. datamodel_code_generator-0.27.0/tests/data/openapi/inheritance.yaml +28 -0
  749. datamodel_code_generator-0.27.0/tests/data/openapi/invalid.yaml +2 -0
  750. datamodel_code_generator-0.27.0/tests/data/openapi/json_pointer.yaml +5 -0
  751. datamodel_code_generator-0.27.0/tests/data/openapi/lazy_resolved_models.yaml +95 -0
  752. datamodel_code_generator-0.27.0/tests/data/openapi/list.json +1 -0
  753. datamodel_code_generator-0.27.0/tests/data/openapi/max_items_enum.yaml +17 -0
  754. datamodel_code_generator-0.27.0/tests/data/openapi/max_min_number.yaml +30 -0
  755. datamodel_code_generator-0.27.0/tests/data/openapi/modular.yaml +287 -0
  756. datamodel_code_generator-0.27.0/tests/data/openapi/multiple_required_any_of.yaml +21 -0
  757. datamodel_code_generator-0.27.0/tests/data/openapi/nested_anyof.yaml +27 -0
  758. datamodel_code_generator-0.27.0/tests/data/openapi/nested_enum.json +63 -0
  759. datamodel_code_generator-0.27.0/tests/data/openapi/nested_oneof.yaml +27 -0
  760. datamodel_code_generator-0.27.0/tests/data/openapi/no_components.yaml +99 -0
  761. datamodel_code_generator-0.27.0/tests/data/openapi/not.json +1 -0
  762. datamodel_code_generator-0.27.0/tests/data/openapi/not_real_string.json +61 -0
  763. datamodel_code_generator-0.27.0/tests/data/openapi/nullable.yaml +122 -0
  764. datamodel_code_generator-0.27.0/tests/data/openapi/nullable_31.yaml +23 -0
  765. datamodel_code_generator-0.27.0/tests/data/openapi/oas_response_reference.yaml +75 -0
  766. datamodel_code_generator-0.27.0/tests/data/openapi/oneof.yaml +183 -0
  767. datamodel_code_generator-0.27.0/tests/data/openapi/override_required_all_of.yaml +41 -0
  768. datamodel_code_generator-0.27.0/tests/data/openapi/pattern.yaml +25 -0
  769. datamodel_code_generator-0.27.0/tests/data/openapi/pattern_lookaround.yaml +16 -0
  770. datamodel_code_generator-0.27.0/tests/data/openapi/query_parameters.yaml +173 -0
  771. datamodel_code_generator-0.27.0/tests/data/openapi/reference_same_hierarchy_directory/common/cat.yaml +24 -0
  772. datamodel_code_generator-0.27.0/tests/data/openapi/reference_same_hierarchy_directory/public/entities.yaml +9 -0
  773. datamodel_code_generator-0.27.0/tests/data/openapi/reference_to_object_properties.yaml +38 -0
  774. datamodel_code_generator-0.27.0/tests/data/openapi/refs.yaml +5 -0
  775. datamodel_code_generator-0.27.0/tests/data/openapi/resolved_models.yaml +82 -0
  776. datamodel_code_generator-0.27.0/tests/data/openapi/root_model.yaml +15 -0
  777. datamodel_code_generator-0.27.0/tests/data/openapi/special_yaml_keywords.yaml +44 -0
  778. datamodel_code_generator-0.27.0/tests/data/openapi/subclass_enum.json +37 -0
  779. datamodel_code_generator-0.27.0/tests/data/openapi/unsorted_optional_fields.yaml +19 -0
  780. datamodel_code_generator-0.27.0/tests/data/openapi/x_enum_varnames.yaml +61 -0
  781. datamodel_code_generator-0.27.0/tests/data/project/pyproject.toml +16 -0
  782. datamodel_code_generator-0.27.0/tests/data/pyproject.toml +10 -0
  783. datamodel_code_generator-0.27.0/tests/data/python/custom_formatters/add_comment.py +7 -0
  784. datamodel_code_generator-0.27.0/tests/data/python/custom_formatters/add_license.py +24 -0
  785. datamodel_code_generator-0.27.0/tests/data/python/custom_formatters/license_example.txt +3 -0
  786. datamodel_code_generator-0.27.0/tests/data/python/custom_formatters/not_subclass.py +3 -0
  787. datamodel_code_generator-0.27.0/tests/data/python/custom_formatters/wrong.py +7 -0
  788. datamodel_code_generator-0.27.0/tests/data/python/space_and_special_characters_dict.py +26 -0
  789. datamodel_code_generator-0.27.0/tests/data/templates/pydantic/BaseModel.jinja2 +19 -0
  790. datamodel_code_generator-0.27.0/tests/data/templates_old_style/BaseModel.jinja2 +19 -0
  791. datamodel_code_generator-0.27.0/tests/data/yaml/pet.yaml +3 -0
  792. datamodel_code_generator-0.27.0/tests/main/__init__.py +0 -0
  793. datamodel_code_generator-0.27.0/tests/main/graphql/__init__.py +0 -0
  794. datamodel_code_generator-0.27.0/tests/main/graphql/test_annotated.py +150 -0
  795. datamodel_code_generator-0.27.0/tests/main/graphql/test_main_graphql.py +329 -0
  796. datamodel_code_generator-0.27.0/tests/main/jsonschema/__init__.py +0 -0
  797. datamodel_code_generator-0.27.0/tests/main/jsonschema/test_main_jsonschema.py +3705 -0
  798. datamodel_code_generator-0.27.0/tests/main/openapi/__init__.py +0 -0
  799. datamodel_code_generator-0.27.0/tests/main/openapi/test_main_openapi.py +3138 -0
  800. datamodel_code_generator-0.27.0/tests/main/test_main_csv.py +62 -0
  801. datamodel_code_generator-0.27.0/tests/main/test_main_general.py +109 -0
  802. datamodel_code_generator-0.27.0/tests/main/test_main_json.py +249 -0
  803. datamodel_code_generator-0.27.0/tests/main/test_main_yaml.py +39 -0
  804. datamodel_code_generator-0.27.0/tests/main/test_types.py +67 -0
  805. datamodel_code_generator-0.27.0/tests/model/__init__.py +0 -0
  806. datamodel_code_generator-0.27.0/tests/model/pydantic/__init__.py +0 -0
  807. datamodel_code_generator-0.27.0/tests/model/pydantic/test_base_model.py +153 -0
  808. datamodel_code_generator-0.27.0/tests/model/pydantic/test_constraint.py +21 -0
  809. datamodel_code_generator-0.27.0/tests/model/pydantic/test_custom_root_type.py +81 -0
  810. datamodel_code_generator-0.27.0/tests/model/pydantic/test_data_class.py +57 -0
  811. datamodel_code_generator-0.27.0/tests/model/pydantic/test_types.py +445 -0
  812. datamodel_code_generator-0.27.0/tests/model/pydantic_v2/__init__.py +0 -0
  813. datamodel_code_generator-0.27.0/tests/model/pydantic_v2/test_root_model.py +71 -0
  814. datamodel_code_generator-0.27.0/tests/model/test_base.py +287 -0
  815. datamodel_code_generator-0.27.0/tests/parser/__init__.py +0 -0
  816. datamodel_code_generator-0.27.0/tests/parser/test_base.py +449 -0
  817. datamodel_code_generator-0.27.0/tests/parser/test_jsonschema.py +553 -0
  818. datamodel_code_generator-0.27.0/tests/parser/test_openapi.py +847 -0
  819. datamodel_code_generator-0.27.0/tests/root_id.json +24 -0
  820. datamodel_code_generator-0.27.0/tests/test_format.py +135 -0
  821. datamodel_code_generator-0.27.0/tests/test_imports.py +26 -0
  822. datamodel_code_generator-0.27.0/tests/test_infer_input_type.py +56 -0
  823. datamodel_code_generator-0.27.0/tests/test_main_kr.py +296 -0
  824. datamodel_code_generator-0.27.0/tests/test_reference.py +69 -0
  825. datamodel_code_generator-0.27.0/tests/test_resolver.py +16 -0
  826. datamodel_code_generator-0.27.0/tests/test_types.py +41 -0
  827. datamodel_code_generator-0.26.5/datamodel_code_generator/version.py +0 -1
  828. datamodel_code_generator-0.26.5/pyproject.toml +0 -164
  829. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/LICENSE +0 -0
  830. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/arguments.py +0 -0
  831. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/format.py +0 -0
  832. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/dataclass.py +0 -0
  833. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/imports.py +0 -0
  834. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/msgspec.py +0 -0
  835. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic/__init__.py +0 -0
  836. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic/custom_root_type.py +0 -0
  837. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic/dataclass.py +0 -0
  838. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic/imports.py +0 -0
  839. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic_v2/__init__.py +0 -0
  840. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic_v2/imports.py +0 -0
  841. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/pydantic_v2/root_model.py +0 -0
  842. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/rootmodel.py +0 -0
  843. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/scalar.py +0 -0
  844. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/Enum.jinja2 +0 -0
  845. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/Scalar.jinja2 +0 -0
  846. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/TypedDict.jinja2 +0 -0
  847. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/TypedDictClass.jinja2 +0 -0
  848. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/TypedDictFunction.jinja2 +0 -0
  849. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/Union.jinja2 +0 -0
  850. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/dataclass.jinja2 +0 -0
  851. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/msgspec.jinja2 +0 -0
  852. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/pydantic/BaseModel.jinja2 +0 -0
  853. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/pydantic/BaseModel_root.jinja2 +0 -0
  854. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/pydantic/Config.jinja2 +0 -0
  855. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/pydantic/dataclass.jinja2 +0 -0
  856. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/pydantic_v2/BaseModel.jinja2 +0 -0
  857. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/pydantic_v2/ConfigDict.jinja2 +0 -0
  858. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/pydantic_v2/RootModel.jinja2 +0 -0
  859. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/template/root.jinja2 +0 -0
  860. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/typed_dict.py +0 -0
  861. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/types.py +0 -0
  862. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/model/union.py +0 -0
  863. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/parser/__init__.py +0 -0
  864. {datamodel_code_generator-0.26.5 → datamodel_code_generator-0.27.0}/datamodel_code_generator/py.typed +0 -0
@@ -0,0 +1,4 @@
1
+ .tox/
2
+ .*_cache
3
+ __pycache__
4
+ coverage.xml
@@ -1,16 +1,16 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: datamodel-code-generator
3
- Version: 0.26.5
3
+ Version: 0.27.0
4
4
  Summary: Datamodel Code Generator
5
- Home-page: https://github.com/koxudaxi/datamodel-code-generator
6
- License: MIT
7
- Author: Koudai Aono
8
- Author-email: koxudaxi@gmail.com
9
- Requires-Python: >=3.8,<4.0
5
+ Project-URL: Homepage, https://github.com/koxudaxi/datamodel-code-generator
6
+ Project-URL: Source, https://github.com/koxudaxi/datamodel-code-generator
7
+ Author-email: Koudai Aono <koxudaxi@gmail.com>
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
10
  Classifier: Development Status :: 4 - Beta
11
11
  Classifier: License :: OSI Approved :: MIT License
12
12
  Classifier: Natural Language :: English
13
- Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
14
  Classifier: Programming Language :: Python :: 3.8
15
15
  Classifier: Programming Language :: Python :: 3.9
16
16
  Classifier: Programming Language :: Python :: 3.10
@@ -18,29 +18,31 @@ Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Programming Language :: Python :: 3.13
20
20
  Classifier: Programming Language :: Python :: Implementation :: CPython
21
+ Requires-Python: >=3.8
22
+ Requires-Dist: argcomplete<4,>=2.10.1
23
+ Requires-Dist: black>=19.10b0
24
+ Requires-Dist: genson<2,>=1.2.1
25
+ Requires-Dist: graphql-core>=3.2.3
26
+ Requires-Dist: httpx>=0.24.1
27
+ Requires-Dist: inflect<6,>=4.1
28
+ Requires-Dist: isort<6,>=4.3.21
29
+ Requires-Dist: jinja2<4,>=2.10.1
30
+ Requires-Dist: openapi-spec-validator<0.7,>=0.2.8
31
+ Requires-Dist: packaging
32
+ Requires-Dist: prance>=0.18.2
33
+ Requires-Dist: pydantic>=1.5
34
+ Requires-Dist: pysnooper<2,>=0.4.1
35
+ Requires-Dist: pyyaml>=6.0.1
36
+ Requires-Dist: tomli<3,>=2.2.1; python_version <= '3.11'
21
37
  Provides-Extra: debug
38
+ Requires-Dist: pysnooper; extra == 'debug'
22
39
  Provides-Extra: graphql
40
+ Requires-Dist: graphql-core; extra == 'graphql'
23
41
  Provides-Extra: http
42
+ Requires-Dist: httpx; extra == 'http'
24
43
  Provides-Extra: validation
25
- Requires-Dist: PySnooper (>=0.4.1,<2.0.0) ; extra == "debug"
26
- Requires-Dist: argcomplete (>=1.10,<4.0)
27
- Requires-Dist: black (>=19.10b0)
28
- Requires-Dist: genson (>=1.2.1,<2.0)
29
- Requires-Dist: graphql-core (>=3.2.3,<4.0.0) ; extra == "graphql"
30
- Requires-Dist: httpx ; extra == "http"
31
- Requires-Dist: inflect (>=4.1.0,<6.0)
32
- Requires-Dist: isort (>=4.3.21,<6.0)
33
- Requires-Dist: jinja2 (>=2.10.1,<4.0)
34
- Requires-Dist: openapi-spec-validator (>=0.2.8,<0.7.0) ; extra == "validation"
35
- Requires-Dist: packaging
36
- Requires-Dist: prance (>=0.18.2) ; extra == "validation"
37
- Requires-Dist: pydantic[email] (>=1.10.0,!=2.0.0,!=2.0.1,<3.0,!=2.4.0) ; python_version >= "3.12" and python_version < "4.0"
38
- Requires-Dist: pydantic[email] (>=1.10.0,<3.0,!=2.4.0) ; python_version >= "3.11" and python_version < "4.0"
39
- Requires-Dist: pydantic[email] (>=1.5.1,<3.0,!=2.4.0) ; python_version < "3.10"
40
- Requires-Dist: pydantic[email] (>=1.9.0,<3.0,!=2.4.0) ; python_version >= "3.10" and python_version < "3.11"
41
- Requires-Dist: pyyaml (>=6.0.1)
42
- Requires-Dist: toml (>=0.10.0,<1.0.0) ; python_version < "3.11"
43
- Project-URL: Repository, https://github.com/koxudaxi/datamodel-code-generator
44
+ Requires-Dist: openapi-spec-validator; extra == 'validation'
45
+ Requires-Dist: prance; extra == 'validation'
44
46
  Description-Content-Type: text/markdown
45
47
 
46
48
  # datamodel-code-generator
@@ -331,6 +333,8 @@ See the following linked projects for real world examples and inspiration.
331
333
  - *[`Makefile`](https://github.com/argoproj-labs/hera/blob/c8cbf0c7a676de57469ca3d6aeacde7a5e84f8b7/Makefile#L53-L62)*
332
334
  - [awslabs/aws-lambda-powertools-python](https://github.com/awslabs/aws-lambda-powertools-python)
333
335
  - *Recommended for [advanced-use-cases](https://awslabs.github.io/aws-lambda-powertools-python/2.6.0/utilities/parser/#advanced-use-cases) in the official documentation*
336
+ - [cloudcoil/cloudcoil](https://github.com/cloudcoil/cloudcoil)
337
+ - *[Cloudcoil - Model generation](https://github.com/cloudcoil/cloudcoil#%EF%B8%8F-model-generation)
334
338
  - [DataDog/integrations-core](https://github.com/DataDog/integrations-core)
335
339
  - *[Config models](https://github.com/DataDog/integrations-core/blob/master/docs/developer/meta/config-models.md)*
336
340
  - [hashintel/hash](https://github.com/hashintel/hash)
@@ -577,4 +581,3 @@ See `docs/development-contributing.md` for how to get started!
577
581
  ## License
578
582
 
579
583
  datamodel-code-generator is released under the MIT License. http://www.opensource.org/licenses/mit-license
580
-
@@ -286,6 +286,8 @@ See the following linked projects for real world examples and inspiration.
286
286
  - *[`Makefile`](https://github.com/argoproj-labs/hera/blob/c8cbf0c7a676de57469ca3d6aeacde7a5e84f8b7/Makefile#L53-L62)*
287
287
  - [awslabs/aws-lambda-powertools-python](https://github.com/awslabs/aws-lambda-powertools-python)
288
288
  - *Recommended for [advanced-use-cases](https://awslabs.github.io/aws-lambda-powertools-python/2.6.0/utilities/parser/#advanced-use-cases) in the official documentation*
289
+ - [cloudcoil/cloudcoil](https://github.com/cloudcoil/cloudcoil)
290
+ - *[Cloudcoil - Model generation](https://github.com/cloudcoil/cloudcoil#%EF%B8%8F-model-generation)
289
291
  - [DataDog/integrations-core](https://github.com/DataDog/integrations-core)
290
292
  - *[Config models](https://github.com/DataDog/integrations-core/blob/master/docs/developer/meta/config-models.md)*
291
293
  - [hashintel/hash](https://github.com/hashintel/hash)
@@ -81,6 +81,9 @@ def enable_debug_message() -> None: # pragma: no cover
81
81
  pysnooper.tracer.DISABLED = False
82
82
 
83
83
 
84
+ DEFAULT_MAX_VARIABLE_LENGTH: int = 100
85
+
86
+
84
87
  def snooper_to_methods( # type: ignore
85
88
  output=None,
86
89
  watch=(),
@@ -90,7 +93,7 @@ def snooper_to_methods( # type: ignore
90
93
  overwrite=False,
91
94
  thread_info=False,
92
95
  custom_repr=(),
93
- max_variable_length=100,
96
+ max_variable_length: Optional[int] = DEFAULT_MAX_VARIABLE_LENGTH,
94
97
  ) -> Callable[..., Any]:
95
98
  def inner(cls: Type[T]) -> Type[T]:
96
99
  if not pysnooper:
@@ -108,7 +111,9 @@ def snooper_to_methods( # type: ignore
108
111
  overwrite,
109
112
  thread_info,
110
113
  custom_repr,
111
- max_variable_length,
114
+ max_variable_length
115
+ if max_variable_length is not None
116
+ else DEFAULT_MAX_VARIABLE_LENGTH,
112
117
  )(method)
113
118
  setattr(cls, name, snooper_method)
114
119
  return cls
@@ -424,8 +429,10 @@ def generate(
424
429
  data_model_types = get_data_model_types(
425
430
  output_model_type, target_python_version, output_datetime_class
426
431
  )
432
+ source = input_text or input_
433
+ assert not isinstance(source, Mapping)
427
434
  parser = parser_class(
428
- source=input_text or input_,
435
+ source=source,
429
436
  data_model_type=data_model_types.data_model,
430
437
  data_model_root_type=data_model_types.root_model,
431
438
  data_model_field_type=data_model_types.field_model,
@@ -514,6 +521,7 @@ def generate(
514
521
  # input_ might be a dict object provided directly, and missing a name field
515
522
  input_filename = getattr(input_, 'name', '<dict>')
516
523
  else:
524
+ assert isinstance(input_, Path)
517
525
  input_filename = input_.name
518
526
  if not results:
519
527
  raise Error('Models not found in the input data')
@@ -85,7 +85,7 @@ signal.signal(signal.SIGINT, sig_int_handler)
85
85
 
86
86
  class Config(BaseModel):
87
87
  if PYDANTIC_V2:
88
- model_config = ConfigDict(arbitrary_types_allowed=True)
88
+ model_config = ConfigDict(arbitrary_types_allowed=True) # pyright: ignore [reportAssignmentType]
89
89
 
90
90
  def get(self, item: str) -> Any:
91
91
  return getattr(self, item)
@@ -185,8 +185,8 @@ class Config(BaseModel):
185
185
 
186
186
  @model_validator(mode='after')
187
187
  def validate_keyword_only(cls, values: Dict[str, Any]) -> Dict[str, Any]:
188
- output_model_type: DataModelType = values.get('output_model_type')
189
- python_target: PythonVersion = values.get('target_python_version')
188
+ output_model_type: DataModelType = values.get('output_model_type') # pyright: ignore [reportAssignmentType]
189
+ python_target: PythonVersion = values.get('target_python_version') # pyright: ignore [reportAssignmentType]
190
190
  if (
191
191
  values.get('keyword_only')
192
192
  and output_model_type == DataModelType.DataclassesDataclass
@@ -219,7 +219,7 @@ class Config(BaseModel):
219
219
  def validate_each_item(each_item: Any) -> Tuple[str, str]:
220
220
  if isinstance(each_item, str): # pragma: no cover
221
221
  try:
222
- field_name, field_value = each_item.split(':', maxsplit=1) # type: str, str
222
+ field_name, field_value = each_item.split(':', maxsplit=1)
223
223
  return field_name, field_value.lstrip()
224
224
  except ValueError:
225
225
  raise Error(f'Invalid http header: {each_item!r}')
@@ -236,7 +236,7 @@ class Config(BaseModel):
236
236
  def validate_each_item(each_item: Any) -> Tuple[str, str]:
237
237
  if isinstance(each_item, str): # pragma: no cover
238
238
  try:
239
- field_name, field_value = each_item.split('=', maxsplit=1) # type: str, str
239
+ field_name, field_value = each_item.split('=', maxsplit=1)
240
240
  return field_name, field_value.lstrip()
241
241
  except ValueError:
242
242
  raise Error(f'Invalid http query parameter: {each_item!r}')
@@ -248,14 +248,16 @@ class Config(BaseModel):
248
248
 
249
249
  @model_validator(mode='before')
250
250
  def validate_additional_imports(cls, values: Dict[str, Any]) -> Dict[str, Any]:
251
- if values.get('additional_imports') is not None:
252
- values['additional_imports'] = values.get('additional_imports').split(',')
251
+ additional_imports = values.get('additional_imports')
252
+ if additional_imports is not None:
253
+ values['additional_imports'] = additional_imports.split(',')
253
254
  return values
254
255
 
255
256
  @model_validator(mode='before')
256
257
  def validate_custom_formatters(cls, values: Dict[str, Any]) -> Dict[str, Any]:
257
- if values.get('custom_formatters') is not None:
258
- values['custom_formatters'] = values.get('custom_formatters').split(',')
258
+ custom_formatters = values.get('custom_formatters')
259
+ if custom_formatters is not None:
260
+ values['custom_formatters'] = custom_formatters.split(',')
259
261
  return values
260
262
 
261
263
  if PYDANTIC_V2:
@@ -282,7 +284,7 @@ class Config(BaseModel):
282
284
  disable_warnings: bool = False
283
285
  target_python_version: PythonVersion = PythonVersion.PY_38
284
286
  base_class: str = ''
285
- additional_imports: Optional[List[str]] = (None,)
287
+ additional_imports: Optional[List[str]] = None
286
288
  custom_template_dir: Optional[Path] = None
287
289
  extra_template_data: Optional[TextIOBase] = None
288
290
  validation: bool = False
@@ -21,7 +21,8 @@ def get_body(
21
21
  headers=headers,
22
22
  verify=not ignore_tls,
23
23
  follow_redirects=True,
24
- params=query_parameters,
24
+ params=query_parameters, # pyright: ignore [reportArgumentType]
25
+ # TODO: Improve params type
25
26
  ).text
26
27
 
27
28
 
@@ -14,7 +14,7 @@ class Import(BaseModel):
14
14
  reference_path: Optional[str] = None
15
15
 
16
16
  @classmethod
17
- @lru_cache()
17
+ @lru_cache
18
18
  def from_full_path(cls, class_path: str) -> Import:
19
19
  split_class_path: List[str] = class_path.split('.')
20
20
  return Import(
@@ -28,12 +28,14 @@ class DataModelSet(NamedTuple):
28
28
  def get_data_model_types(
29
29
  data_model_type: DataModelType,
30
30
  target_python_version: PythonVersion = DEFAULT_TARGET_PYTHON_VERSION,
31
- target_datetime_class: DatetimeClassType = DEFAULT_TARGET_DATETIME_CLASS,
31
+ target_datetime_class: Optional[DatetimeClassType] = None,
32
32
  ) -> DataModelSet:
33
33
  from .. import DataModelType
34
34
  from . import dataclass, msgspec, pydantic, pydantic_v2, rootmodel, typed_dict
35
35
  from .types import DataTypeManager
36
36
 
37
+ if target_datetime_class is None:
38
+ target_datetime_class = DEFAULT_TARGET_DATETIME_CLASS
37
39
  if data_model_type == DataModelType.PydanticBaseModel:
38
40
  return DataModelSet(
39
41
  data_model=pydantic.BaseModel,
@@ -53,7 +53,7 @@ class ConstraintsBase(_BaseModel):
53
53
  unique_items: Optional[bool] = Field(None, alias='uniqueItems')
54
54
  _exclude_fields: ClassVar[Set[str]] = {'has_constraints'}
55
55
  if PYDANTIC_V2:
56
- model_config = ConfigDict(
56
+ model_config = ConfigDict( # pyright: ignore [reportAssignmentType]
57
57
  arbitrary_types_allowed=True, ignored_types=(cached_property,)
58
58
  )
59
59
  else:
@@ -87,7 +87,9 @@ class ConstraintsBase(_BaseModel):
87
87
  else:
88
88
  model_field_constraints = {}
89
89
 
90
- if not issubclass(constraints_class, ConstraintsBase): # pragma: no cover
90
+ if constraints_class is None or not issubclass(
91
+ constraints_class, ConstraintsBase
92
+ ): # pragma: no cover
91
93
  return None
92
94
 
93
95
  return constraints_class.parse_obj(
@@ -165,7 +167,7 @@ class DataModelFieldBase(_BaseModel):
165
167
  type_hint = self.type_hint
166
168
  has_union = not self.data_type.use_union_operator and UNION_PREFIX in type_hint
167
169
  imports: List[Union[Tuple[Import], Iterator[Import]]] = [
168
- (
170
+ iter(
169
171
  i
170
172
  for i in self.data_type.all_imports
171
173
  if not (not has_union and i == IMPORT_UNION)
@@ -229,7 +231,7 @@ class DataModelFieldBase(_BaseModel):
229
231
  return True
230
232
 
231
233
 
232
- @lru_cache()
234
+ @lru_cache
233
235
  def get_template(template_file_path: Path) -> Template:
234
236
  loader = FileSystemLoader(str(TEMPLATE_DIR / template_file_path.parent))
235
237
  environment: Environment = Environment(loader=loader)
@@ -251,7 +253,7 @@ def get_module_name(name: str, file_path: Optional[Path]) -> str:
251
253
 
252
254
 
253
255
  class TemplateBase(ABC):
254
- @property
256
+ @cached_property
255
257
  @abstractmethod
256
258
  def template_file_path(self) -> Path:
257
259
  raise NotImplementedError
@@ -87,7 +87,7 @@ class Enum(DataModel):
87
87
 
88
88
  for field in self.fields:
89
89
  # Remove surrounding quotes from field default value
90
- field_default = field.default.strip('\'"')
90
+ field_default = (field.default or '').strip('\'"')
91
91
 
92
92
  # Compare values after removing quotes
93
93
  if field_default == str_value:
@@ -322,4 +322,4 @@ class BaseModel(BaseModelBase):
322
322
  if config_parameters:
323
323
  from datamodel_code_generator.model.pydantic import Config
324
324
 
325
- self.extra_template_data['config'] = Config.parse_obj(config_parameters)
325
+ self.extra_template_data['config'] = Config.parse_obj(config_parameters) # pyright: ignore [reportArgumentType]
@@ -180,7 +180,7 @@ class DataTypeManager(_DataTypeManager):
180
180
  self.data_type,
181
181
  strict_types=self.strict_types,
182
182
  pattern_key=self.PATTERN_KEY,
183
- target_datetime_class=target_datetime_class,
183
+ target_datetime_class=self.target_datetime_class,
184
184
  )
185
185
  self.strict_type_map: Dict[StrictTypes, DataType] = strict_type_map_factory(
186
186
  self.data_type,
@@ -98,7 +98,7 @@ class DataModelField(DataModelFieldV1):
98
98
  'max_length',
99
99
  'union_mode',
100
100
  }
101
- constraints: Optional[Constraints] = None
101
+ constraints: Optional[Constraints] = None # pyright: ignore [reportIncompatibleVariableOverride]
102
102
  _PARSE_METHOD: ClassVar[str] = 'model_validate'
103
103
  can_have_extra_keys: ClassVar[bool] = False
104
104
 
@@ -234,7 +234,7 @@ class BaseModel(BaseModelBase):
234
234
  if config_parameters:
235
235
  from datamodel_code_generator.model.pydantic_v2 import ConfigDict
236
236
 
237
- self.extra_template_data['config'] = ConfigDict.parse_obj(config_parameters)
237
+ self.extra_template_data['config'] = ConfigDict.parse_obj(config_parameters) # pyright: ignore [reportArgumentType]
238
238
  self._additional_imports.append(IMPORT_CONFIG_DICT)
239
239
 
240
240
  def _get_config_extra(self) -> Optional[Literal["'allow'", "'forbid'"]]:
@@ -24,7 +24,10 @@ class DataTypeManager(_DataTypeManager):
24
24
  ) -> Dict[Types, DataType]:
25
25
  result = {
26
26
  **super().type_map_factory(
27
- data_type, strict_types, pattern_key, target_datetime_class
27
+ data_type,
28
+ strict_types,
29
+ pattern_key,
30
+ target_datetime_class or DatetimeClassType.Datetime,
28
31
  ),
29
32
  Types.hostname: self.data_type.from_import(
30
33
  IMPORT_CONSTR,
@@ -411,7 +411,7 @@ class Parser(ABC):
411
411
  treat_dots_as_module: bool = False,
412
412
  use_exact_imports: bool = False,
413
413
  default_field_extras: Optional[Dict[str, Any]] = None,
414
- target_datetime_class: DatetimeClassType = DatetimeClassType.Datetime,
414
+ target_datetime_class: Optional[DatetimeClassType] = DatetimeClassType.Datetime,
415
415
  keyword_only: bool = False,
416
416
  no_alias: bool = False,
417
417
  ) -> None:
@@ -668,7 +668,16 @@ class Parser(ABC):
668
668
  for model, duplicate_models in model_to_duplicate_models.items():
669
669
  for duplicate_model in duplicate_models:
670
670
  for child in duplicate_model.reference.children[:]:
671
- child.replace_reference(model.reference)
671
+ if isinstance(child, DataType):
672
+ child.replace_reference(model.reference)
673
+ # simplify if introduce duplicate base classes
674
+ if isinstance(child, DataModel):
675
+ child.base_classes = list(
676
+ {
677
+ f'{c.module_name}.{c.type_hint}': c
678
+ for c in child.base_classes
679
+ }.values()
680
+ )
672
681
  models.remove(duplicate_model)
673
682
 
674
683
  @classmethod
@@ -849,12 +858,12 @@ class Parser(ABC):
849
858
 
850
859
  # Check the main discriminator model path
851
860
  if mapping:
852
- check_paths(discriminator_model, mapping)
861
+ check_paths(discriminator_model, mapping) # pyright: ignore [reportArgumentType]
853
862
 
854
863
  # Check the base_classes if they exist
855
864
  if len(type_names) == 0:
856
865
  for base_class in discriminator_model.base_classes:
857
- check_paths(base_class.reference, mapping)
866
+ check_paths(base_class.reference, mapping) # pyright: ignore [reportArgumentType]
858
867
  else:
859
868
  type_names = [discriminator_model.path.split('/')[-1]]
860
869
  if not type_names: # pragma: no cover
@@ -1038,7 +1047,7 @@ class Parser(ABC):
1038
1047
  and any(
1039
1048
  d
1040
1049
  for d in model_field.data_type.all_data_types
1041
- if d.is_dict or d.is_union
1050
+ if d.is_dict or d.is_union or d.is_list
1042
1051
  )
1043
1052
  ):
1044
1053
  continue # pragma: no cover
@@ -1061,7 +1070,7 @@ class Parser(ABC):
1061
1070
 
1062
1071
  data_type.parent.data_type = copied_data_type
1063
1072
 
1064
- elif data_type.parent.is_list:
1073
+ elif data_type.parent is not None and data_type.parent.is_list:
1065
1074
  if self.field_constraints:
1066
1075
  model_field.constraints = ConstraintsBase.merge_constraints(
1067
1076
  root_type_field.constraints, model_field.constraints
@@ -1073,6 +1082,7 @@ class Parser(ABC):
1073
1082
  discriminator = root_type_field.extras.get('discriminator')
1074
1083
  if discriminator:
1075
1084
  model_field.extras['discriminator'] = discriminator
1085
+ assert isinstance(data_type.parent, DataType)
1076
1086
  data_type.parent.data_types.remove(
1077
1087
  data_type
1078
1088
  ) # pragma: no cover
@@ -1358,7 +1368,7 @@ class Parser(ABC):
1358
1368
  module_to_import: Dict[Tuple[str, ...], Imports] = {}
1359
1369
 
1360
1370
  previous_module = () # type: Tuple[str, ...]
1361
- for module, models in ((k, [*v]) for k, v in grouped_models): # type: Tuple[str, ...], List[DataModel]
1371
+ for module, models in ((k, [*v]) for k, v in grouped_models):
1362
1372
  for model in models:
1363
1373
  model_to_module_models[model] = module, models
1364
1374
  self.__delete_duplicate_models(models)
@@ -373,7 +373,7 @@ class GraphQLParser(Parser):
373
373
  def parse_field(
374
374
  self,
375
375
  field_name: str,
376
- alias: str,
376
+ alias: Optional[str],
377
377
  field: Union[graphql.GraphQLField, graphql.GraphQLInputField],
378
378
  ) -> DataModelFieldBase:
379
379
  final_data_type = DataType(
@@ -399,9 +399,9 @@ class GraphQLParser(Parser):
399
399
  elif graphql.is_non_null_type(obj): # pragma: no cover
400
400
  data_type.is_optional = False
401
401
 
402
- obj = obj.of_type
402
+ obj = obj.of_type # pyright: ignore [reportAttributeAccessIssue]
403
403
 
404
- data_type.type = obj.name
404
+ data_type.type = obj.name # pyright: ignore [reportAttributeAccessIssue]
405
405
 
406
406
  required = (not self.force_optional_for_required_fields) and (
407
407
  not final_data_type.is_optional
@@ -456,7 +456,7 @@ class GraphQLParser(Parser):
456
456
 
457
457
  base_classes = []
458
458
  if hasattr(obj, 'interfaces'): # pragma: no cover
459
- base_classes = [self.references[i.name] for i in obj.interfaces]
459
+ base_classes = [self.references[i.name] for i in obj.interfaces] # pyright: ignore [reportAttributeAccessIssue]
460
460
 
461
461
  data_model_type = self.data_model_type(
462
462
  reference=self.references[obj.name],
@@ -258,7 +258,7 @@ class JsonSchemaObject(BaseModel):
258
258
  extras: Dict[str, Any] = Field(alias=__extra_key__, default_factory=dict)
259
259
  discriminator: Union[Discriminator, str, None] = None
260
260
  if PYDANTIC_V2:
261
- model_config = ConfigDict(
261
+ model_config = ConfigDict( # pyright: ignore [reportPossiblyUnboundVariable]
262
262
  arbitrary_types_allowed=True,
263
263
  ignored_types=(cached_property,),
264
264
  )
@@ -320,7 +320,7 @@ class JsonSchemaObject(BaseModel):
320
320
  return isinstance(self.type, list) and 'null' in self.type
321
321
 
322
322
 
323
- @lru_cache()
323
+ @lru_cache
324
324
  def get_ref_type(ref: str) -> JSONReference:
325
325
  if ref[0] == '#':
326
326
  return JSONReference.LOCAL
@@ -360,7 +360,7 @@ EXCLUDE_FIELD_KEYS_IN_JSON_SCHEMA: Set[str] = {
360
360
  }
361
361
 
362
362
  EXCLUDE_FIELD_KEYS = (
363
- set(JsonSchemaObject.get_fields())
363
+ set(JsonSchemaObject.get_fields()) # pyright: ignore [reportAttributeAccessIssue]
364
364
  - DEFAULT_FIELD_KEYS
365
365
  - EXCLUDE_FIELD_KEYS_IN_JSON_SCHEMA
366
366
  ) | {
@@ -528,7 +528,7 @@ class JsonSchemaParser(Parser):
528
528
  self.raw_obj: Dict[Any, Any] = {}
529
529
  self._root_id: Optional[str] = None
530
530
  self._root_id_base_path: Optional[str] = None
531
- self.reserved_refs: DefaultDict[Tuple[str], Set[str]] = defaultdict(set)
531
+ self.reserved_refs: DefaultDict[Tuple[str, ...], Set[str]] = defaultdict(set)
532
532
  self.field_keys: Set[str] = {
533
533
  *DEFAULT_FIELD_KEYS,
534
534
  *self.field_extra_keys,
@@ -1798,6 +1798,7 @@ class JsonSchemaParser(Parser):
1798
1798
  root_obj = self.SCHEMA_OBJECT_TYPE.parse_obj(raw)
1799
1799
  self.parse_id(root_obj, path_parts)
1800
1800
  definitions: Optional[Dict[Any, Any]] = None
1801
+ schema_path = ''
1801
1802
  for schema_path, split_schema_path in self.schema_paths:
1802
1803
  try:
1803
1804
  definitions = get_model_by_path(raw, split_schema_path)
@@ -367,7 +367,7 @@ class OpenAPIParser(JsonSchemaParser):
367
367
  for (
368
368
  media_type,
369
369
  media_obj,
370
- ) in request_body.content.items(): # type: str, MediaObject
370
+ ) in request_body.content.items():
371
371
  if isinstance(media_obj.schema_, JsonSchemaObject):
372
372
  self.parse_schema(name, media_obj.schema_, [*path, media_type])
373
373
 
@@ -400,11 +400,13 @@ class OpenAPIParser(JsonSchemaParser):
400
400
  if not object_schema: # pragma: no cover
401
401
  continue
402
402
  if isinstance(object_schema, JsonSchemaObject):
403
- data_types[status_code][content_type] = self.parse_schema(
404
- name, object_schema, [*path, str(status_code), content_type]
403
+ data_types[status_code][content_type] = self.parse_schema( # pyright: ignore [reportArgumentType]
404
+ name,
405
+ object_schema,
406
+ [*path, str(status_code), content_type], # pyright: ignore [reportArgumentType]
405
407
  )
406
408
  else:
407
- data_types[status_code][content_type] = self.get_ref_data_type(
409
+ data_types[status_code][content_type] = self.get_ref_data_type( # pyright: ignore [reportArgumentType]
408
410
  object_schema.ref
409
411
  )
410
412
 
@@ -604,7 +606,7 @@ class OpenAPIParser(JsonSchemaParser):
604
606
  for (
605
607
  obj_name,
606
608
  raw_obj,
607
- ) in schemas.items(): # type: str, Dict[Any, Any]
609
+ ) in schemas.items():
608
610
  self.parse_raw_obj(
609
611
  obj_name,
610
612
  raw_obj,
@@ -19,4 +19,4 @@ def patched_evaluate_forwardref(
19
19
 
20
20
  # Patch only Python3.12
21
21
  if sys.version_info >= (3, 12):
22
- pydantic.typing.evaluate_forwardref = patched_evaluate_forwardref
22
+ pydantic.typing.evaluate_forwardref = patched_evaluate_forwardref # pyright: ignore [reportAttributeAccessIssue]
@@ -138,7 +138,7 @@ class Reference(_BaseModel):
138
138
  if PYDANTIC_V2:
139
139
  # TODO[pydantic]: The following keys were removed: `copy_on_model_validation`.
140
140
  # Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-config for more information.
141
- model_config = ConfigDict(
141
+ model_config = ConfigDict( # pyright: ignore [reportAssignmentType]
142
142
  arbitrary_types_allowed=True,
143
143
  ignored_types=(cached_property,),
144
144
  revalidate_instances='never',
@@ -182,7 +182,7 @@ _UNDER_SCORE_1: Pattern[str] = re.compile(r'([^_])([A-Z][a-z]+)')
182
182
  _UNDER_SCORE_2: Pattern[str] = re.compile('([a-z0-9])([A-Z])')
183
183
 
184
184
 
185
- @lru_cache()
185
+ @lru_cache
186
186
  def camel_to_snake(string: str) -> str:
187
187
  subbed = _UNDER_SCORE_1.sub(r'\1_\2', string)
188
188
  return _UNDER_SCORE_2.sub(r'\1_\2', subbed).lower()
@@ -750,15 +750,15 @@ class ModelResolver:
750
750
  )
751
751
 
752
752
 
753
- @lru_cache()
753
+ @lru_cache
754
754
  def get_singular_name(name: str, suffix: str = SINGULAR_NAME_SUFFIX) -> str:
755
755
  singular_name = inflect_engine.singular_noun(name)
756
756
  if singular_name is False:
757
757
  singular_name = f'{name}{suffix}'
758
- return singular_name
758
+ return singular_name # pyright: ignore [reportReturnType]
759
759
 
760
760
 
761
- @lru_cache()
761
+ @lru_cache
762
762
  def snake_to_upper_camel(word: str, delimiter: str = '_') -> str:
763
763
  prefix = ''
764
764
  if word.startswith(delimiter):