Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: koxudaxi/datamodel-code-generator
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.27.2
Choose a base ref
...
head repository: koxudaxi/datamodel-code-generator
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.27.3
Choose a head ref
  • 6 commits
  • 116 files changed
  • 2 contributors

Commits on Feb 7, 2025

  1. Reuse extras instead of dependency groups (#2307)

    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    gaborbernat authored Feb 7, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    ba52cea View commit details
  2. Set line length to 120 charachters (#2310)

    This deletes ~ 1700 lines.
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    gaborbernat authored Feb 7, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    dea7b4b View commit details
  3. Use src layout (#2311)

    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    gaborbernat authored Feb 7, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    19134de View commit details

Commits on Feb 10, 2025

  1. [pre-commit.ci] pre-commit autoupdate (#2316)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.9.4 → v0.9.6](astral-sh/ruff-pre-commit@v0.9.4...v0.9.6)
    
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    pre-commit-ci[bot] authored Feb 10, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    288ef1f View commit details
  2. YML to YAML (#2317)

    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    gaborbernat authored Feb 10, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    66e5876 View commit details

Commits on Feb 11, 2025

  1. Add more ruff checks and use defaults (#2318)

    * More ruff
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Handle test suite
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Format tests
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Fix config
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Automatic fixes
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Manual test fixes
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Batch 1 src fixes
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Fix type annotations
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Finish type checks
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Restore 3.8 support
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    * Add future imports
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    
    ---------
    
    Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
    gaborbernat authored Feb 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    1acaa9b View commit details
Showing with 9,881 additions and 12,142 deletions.
  1. 0 .github/{FUNDING.yml → FUNDING.yaml}
  2. 0 .github/{dependabot.yml → dependabot.yaml}
  3. 0 .github/workflows/{codeql.yml → codeql.yaml}
  4. 0 .github/workflows/{codespell.yml → codespell.yaml}
  5. +1 −1 .github/workflows/{codspeed.yml → codspeed.yaml}
  6. 0 .github/workflows/{docs.yml → docs.yaml}
  7. 0 .github/workflows/{publish.yml → publish.yaml}
  8. +5 −8 .github/workflows/{test.yml → test.yaml}
  9. +4 −7 .pre-commit-config.yaml
  10. +0 −526 datamodel_code_generator/arguments.py
  11. +0 −30 datamodel_code_generator/http.py
  12. +0 −127 datamodel_code_generator/imports.py
  13. +0 −13 datamodel_code_generator/model/imports.py
  14. +0 −47 datamodel_code_generator/model/pydantic/__init__.py
  15. +0 −325 datamodel_code_generator/model/pydantic/base_model.py
  16. +0 −35 datamodel_code_generator/model/pydantic/imports.py
  17. +0 −36 datamodel_code_generator/model/pydantic_v2/__init__.py
  18. +0 −247 datamodel_code_generator/model/pydantic_v2/base_model.py
  19. +0 −5 datamodel_code_generator/model/pydantic_v2/imports.py
  20. +0 −33 datamodel_code_generator/parser/__init__.py
  21. +0 −22 datamodel_code_generator/pydantic_patch.py
  22. 0 mkdocs.yml → mkdocs.yaml
  23. +72 −53 pyproject.toml
  24. +26 −27 scripts/update_command_help_on_markdown.py
  25. +159 −190 { → src}/datamodel_code_generator/__init__.py
  26. +151 −173 { → src}/datamodel_code_generator/__main__.py
  27. +523 −0 src/datamodel_code_generator/arguments.py
  28. +77 −99 { → src}/datamodel_code_generator/format.py
  29. +29 −0 src/datamodel_code_generator/http.py
  30. +120 −0 src/datamodel_code_generator/imports.py
  31. +26 −31 { → src}/datamodel_code_generator/model/__init__.py
  32. +94 −127 { → src}/datamodel_code_generator/model/base.py
  33. +58 −59 { → src}/datamodel_code_generator/model/dataclass.py
  34. +34 −30 { → src}/datamodel_code_generator/model/enum.py
  35. +15 −0 src/datamodel_code_generator/model/imports.py
  36. +112 −126 { → src}/datamodel_code_generator/model/msgspec.py
  37. +34 −0 src/datamodel_code_generator/model/pydantic/__init__.py
  38. +306 −0 src/datamodel_code_generator/model/pydantic/base_model.py
  39. +2 −2 { → src}/datamodel_code_generator/model/pydantic/custom_root_type.py
  40. +6 −4 { → src}/datamodel_code_generator/model/pydantic/dataclass.py
  41. +37 −0 src/datamodel_code_generator/model/pydantic/imports.py
  42. +86 −117 { → src}/datamodel_code_generator/model/pydantic/types.py
  43. +36 −0 src/datamodel_code_generator/model/pydantic_v2/__init__.py
  44. +246 −0 src/datamodel_code_generator/model/pydantic_v2/base_model.py
  45. +7 −0 src/datamodel_code_generator/model/pydantic_v2/imports.py
  46. +6 −6 { → src}/datamodel_code_generator/model/pydantic_v2/root_model.py
  47. +8 −7 { → src}/datamodel_code_generator/model/pydantic_v2/types.py
  48. +1 −1 { → src}/datamodel_code_generator/model/rootmodel.py
  49. +33 −32 { → src}/datamodel_code_generator/model/scalar.py
  50. 0 { → src}/datamodel_code_generator/model/template/Enum.jinja2
  51. 0 { → src}/datamodel_code_generator/model/template/Scalar.jinja2
  52. 0 { → src}/datamodel_code_generator/model/template/TypedDict.jinja2
  53. 0 { → src}/datamodel_code_generator/model/template/TypedDictClass.jinja2
  54. 0 { → src}/datamodel_code_generator/model/template/TypedDictFunction.jinja2
  55. 0 { → src}/datamodel_code_generator/model/template/Union.jinja2
  56. 0 { → src}/datamodel_code_generator/model/template/dataclass.jinja2
  57. 0 { → src}/datamodel_code_generator/model/template/msgspec.jinja2
  58. 0 { → src}/datamodel_code_generator/model/template/pydantic/BaseModel.jinja2
  59. 0 { → src}/datamodel_code_generator/model/template/pydantic/BaseModel_root.jinja2
  60. 0 { → src}/datamodel_code_generator/model/template/pydantic/Config.jinja2
  61. 0 { → src}/datamodel_code_generator/model/template/pydantic/dataclass.jinja2
  62. 0 { → src}/datamodel_code_generator/model/template/pydantic_v2/BaseModel.jinja2
  63. 0 { → src}/datamodel_code_generator/model/template/pydantic_v2/ConfigDict.jinja2
  64. 0 { → src}/datamodel_code_generator/model/template/pydantic_v2/RootModel.jinja2
  65. 0 { → src}/datamodel_code_generator/model/template/root.jinja2
  66. +42 −41 { → src}/datamodel_code_generator/model/typed_dict.py
  67. +19 −17 { → src}/datamodel_code_generator/model/types.py
  68. +21 −17 { → src}/datamodel_code_generator/model/union.py
  69. +34 −0 src/datamodel_code_generator/parser/__init__.py
  70. +320 −492 { → src}/datamodel_code_generator/parser/base.py
  71. +80 −111 { → src}/datamodel_code_generator/parser/graphql.py
  72. +422 −580 { → src}/datamodel_code_generator/parser/jsonschema.py
  73. +175 −204 { → src}/datamodel_code_generator/parser/openapi.py
  74. 0 { → src}/datamodel_code_generator/py.typed
  75. +21 −0 src/datamodel_code_generator/pydantic_patch.py
  76. +192 −274 { → src}/datamodel_code_generator/reference.py
  77. +147 −182 { → src}/datamodel_code_generator/types.py
  78. +22 −26 { → src}/datamodel_code_generator/util.py
  79. +2 −2 tests/data/expected/main/jsonschema/custom_formatters.py
  80. +1 −1 tests/data/expected/main/jsonschema/duplicate_field_constraints/common.py
  81. +1 −1 tests/data/expected/main/jsonschema/duplicate_field_constraints/test.py
  82. +1 −1 tests/data/expected/main/jsonschema/duplicate_field_constraints_msgspec/common.py
  83. +1 −1 tests/data/expected/main/jsonschema/duplicate_field_constraints_msgspec/test.py
  84. +1 −1 .../expected/main/jsonschema/duplicate_field_constraints_msgspec_py38_collapse_root_models/common.py
  85. +1 −1 ...ta/expected/main/jsonschema/duplicate_field_constraints_msgspec_py38_collapse_root_models/test.py
  86. +1 −1 tests/data/jsonschema/duplicate_field_constraints/{common.yml → common.yaml}
  87. +2 −2 tests/data/jsonschema/duplicate_field_constraints/{test.yml → test.yaml}
  88. +4 −4 tests/data/python/custom_formatters/add_license.py
  89. +88 −113 tests/main/graphql/test_annotated.py
  90. +176 −227 tests/main/graphql/test_main_graphql.py
  91. +2,135 −2,753 tests/main/jsonschema/test_main_jsonschema.py
  92. +1,811 −2,354 tests/main/openapi/test_main_openapi.py
  93. +30 −40 tests/main/test_main_csv.py
  94. +47 −55 tests/main/test_main_general.py
  95. +140 −177 tests/main/test_main_json.py
  96. +18 −20 tests/main/test_main_yaml.py
  97. +49 −45 tests/main/test_types.py
  98. +59 −71 tests/model/pydantic/test_base_model.py
  99. +3 −3 tests/model/pydantic/test_constraint.py
  100. +29 −41 tests/model/pydantic/test_custom_root_type.py
  101. +19 −21 tests/model/pydantic/test_data_class.py
  102. +186 −192 tests/model/pydantic/test_types.py
  103. +25 −29 tests/model/pydantic_v2/test_root_model.py
  104. +99 −121 tests/model/test_base.py
  105. +153 −157 tests/parser/test_base.py
  106. +236 −277 tests/parser/test_jsonschema.py
  107. +212 −373 tests/parser/test_openapi.py
  108. +29 −37 tests/test_format.py
  109. +12 −10 tests/test_imports.py
  110. +30 −32 tests/test_infer_input_type.py
  111. +127 −181 tests/test_main_kr.py
  112. +36 −40 tests/test_reference.py
  113. +6 −4 tests/test_resolver.py
  114. +24 −22 tests/test_types.py
  115. +13 −10 tox.ini
  116. +265 −232 uv.lock
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ jobs:
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: uv sync
run: uv sync --all-extras
- name: Run benchmarks
uses: CodSpeedHQ/action@v3
with:
File renamed without changes.
File renamed without changes.
13 changes: 5 additions & 8 deletions .github/workflows/test.yml → .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ jobs:
- tox_env: py3.12-black24
- tox_env: py3.12-black23
- tox_env: py3.12-black22
- tox_env: py3.9-black19
- tox_env: py3.8-black19
- tox_env: py3.8-pydantic18
- tox_env: py3.8-isort4
runs-on: ${{ matrix.os == '' && 'ubuntu-24.04' || matrix.os }}
@@ -38,6 +38,9 @@ jobs:
fetch-depth: 0
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-suffix: "${{ matrix.py || matrix.tox_env }}"
- name: Install tox
run: uv tool install --python-preference only-managed --python 3.13 tox --with tox-uv
- name: Setup Python test environment
@@ -71,14 +74,8 @@ jobs:
fetch-depth: 0
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install hatch
- name: Install tox
run: uv tool install --python-preference only-managed --python 3.13 tox --with tox-uv
- name: Build package to generate version
run: uv build --python 3.13 --python-preference only-managed --wheel . --out-dir dist
- name: Setup coverage tool
run: tox run -e coverage --notest
env:
11 changes: 4 additions & 7 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -14,17 +14,14 @@ repos:
hooks:
- id: pyproject-fmt
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: 'v0.9.4'
rev: 'v0.9.6'
hooks:
- id: ruff
files: "^datamodel_code_generator|^tests"
exclude: "^tests/data"
args: [ --fix ]
- id: ruff-format
files: "^datamodel_code_generator|^tests"
exclude: "^tests/data"
- id: ruff
exclude: "^tests/data"
args: ["--exit-non-zero-on-fix"]
- repo: https://github.com/codespell-project/codespell
# Configuration for codespell is in pyproject.toml
rev: v2.4.1
hooks:
- id: codespell
Loading