Skip to content

[python] Fix deserialization of UUID JSON type in template #23295

Merged
wing328 merged 1 commit intoOpenAPITools:masterfrom
Silver-Fullbuster:python_uuid_deserialize
Mar 21, 2026
Merged

[python] Fix deserialization of UUID JSON type in template #23295
wing328 merged 1 commit intoOpenAPITools:masterfrom
Silver-Fullbuster:python_uuid_deserialize

Conversation

@Silver-Fullbuster
Copy link
Copy Markdown
Contributor

@Silver-Fullbuster Silver-Fullbuster commented Mar 19, 2026

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package || exit
    ./bin/generate-samples.sh ./bin/configs/*.yaml || exit
    ./bin/utils/export_docs_generators.sh || exit
    
    (For Windows users, please run the script in WSL)
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
  • File the PR against the correct branch: master (upcoming 7.x.0 minor release - breaking changes with fallbacks), 8.0.x (breaking changes without fallbacks)
  • If your PR solves a reported issue, reference it using GitHub's linking syntax (e.g., having "fixes #123" present in the PR description)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

Fixes #23281
See issue for reproduction steps.

UUID deserialization fails for OpenAPI schema that returns a UUID type in response body.
It attempts to find the type as a model from the client, even though it's one of the native types.

This PR adds it to the known native types and creates the UUID object accordingly

@wing328 @cbornet @tomplus @krjakbrjak @fa0311 @multani


Summary by cubic

Fix UUID JSON responses in Python clients by adding UUID to the native type map and deserializing to uuid.UUID in the Python template, with samples regenerated. Fixes #23281.

Written for commit 53d70c4. Summary will update on new commits.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file


Since this is your first cubic review, here's how it works:

  • cubic automatically reviews your code and comments on bugs and improvements
  • Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
  • Add one-off context when rerunning by tagging @cubic-dev-ai with guidance or docs links (including llms.txt)
  • Ask questions if you need clarification on any suggestion

@Silver-Fullbuster
Copy link
Copy Markdown
Contributor Author

I've been unable to generate the samples on Windows. I'll generate it tomorrow on a Linux system

@wing328
Copy link
Copy Markdown
Member

wing328 commented Mar 20, 2026

I've been unable to generate the samples on Windows.

are you using WSL? that's what we recommend for Windows developers to update the samples.

@Silver-Fullbuster
Copy link
Copy Markdown
Contributor Author

are you using WSL? that's what we recommend for Windows developers to update the samples.

I did, but it errored out on Jacaco report generation after an hour. I'm guessing the repository being on a Windows filesystem could be the issue.

I plan to clone the repo on the WSL filesystem, hopefully that fixes it.

@Silver-Fullbuster Silver-Fullbuster force-pushed the python_uuid_deserialize branch from 6f9ac86 to ccaa9da Compare March 21, 2026 04:48
@Silver-Fullbuster Silver-Fullbuster force-pushed the python_uuid_deserialize branch from ccaa9da to 53d70c4 Compare March 21, 2026 04:57
@Silver-Fullbuster
Copy link
Copy Markdown
Contributor Author

Generated samples and rebased to master

@wing328 wing328 added this to the 7.21.0 milestone Mar 21, 2026
@wing328 wing328 merged commit f88a0d6 into OpenAPITools:master Mar 21, 2026
46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] [PYTHON] Deserializing UUID type from API endpoints causes exception

2 participants