Skip to content

chore(deps-dev): bump datamodel-code-generator from 0.64.0 to 0.81.0 in /packages/code-interpreter-python in the uv group across 1 directory - #1975

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/packages/code-interpreter-python/uv-3918a41a67
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/packages/code-interpreter-python/uv-3918a41a67

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the uv group with 1 update in the /packages/code-interpreter-python directory: datamodel-code-generator.

Updates datamodel-code-generator from 0.64.0 to 0.81.0

Release notes

Sourced from datamodel-code-generator's releases.

0.81.0

Breaking Changes

Code Generation Changes

  • Undeclared required keys now retained in variant runtime validation - When combining --read-only-write-only-model-type request/response variants with --schema-validator-type runtime validators, generated models now keep runtime validation rules for required keys that are not declared as properties (for example keys required via additionalProperties or if/then/else), whereas these rules were previously dropped from the variant models. Regenerated Request and Response models therefore enforce stricter validation and may reject payloads that the previously generated validators accepted (#4055)

What's Changed

Full Changelog: datamodel-code-generator/datamodel-code-generator@0.80.0...0.81.0

0.80.0

Breaking Changes

Code Generation Changes

  • Python union annotations preserve unsupported member types - When generating from Python input models, unions containing members such as Callable retain each member type and the original union order instead of repeating the first non-null type. Regenerated annotations change for the affected unions and nested containers. (#3947)
  • Optional nested factories require a callable empty constructor - With --use-default-factory-for-optional-nested-models, an optional child with required constructor fields, including inherited fields, keeps its normal None or UNSET default instead of receiving a factory that fails when called without arguments. (#3953)
  • Safe frozen set items use native Pydantic hash generation - Safely hashable frozen Pydantic v2 models used as set or frozenset items rely on the native hash in place of the explicit identity-hash assignment. Mutable models and models outside the supported safe cases retain the previous generated hash behavior. (#4025)
  • GraphQL msgspec typename fields retain separate inherited slots - For affected GraphQL inheritance collisions, generated models keep inherited synthetic typename slots separate from colliding child user fields, which receive distinct Python names while retaining their wire aliases. Python attribute names in these affected hierarchies can differ from earlier output. (#4045)
  • Constrained root aliases retain their validation - With --use-root-model-type-alias, constraints are retained in the alias where supported; affected roots otherwise use a RootModel class instead of an unconstrained alias. Unconstrained aliases retain their prior form, and an existing custom root-alias template keeps its selection and remains responsible for its own constraints. (#3962)
  • Eligible compound property names use string key types - Eligible string alternatives in propertyNames generate inline constrained string key types instead of nested-model keys. This changes ordinary key annotations for affected schemas; custom schema runtime validators remain conditional on --schema-validator-type pydantic-v2. (#3970)
  • Opt-in schema validators enforce undeclared required names - With --schema-validator-type pydantic-v2, required property names absent from generated fields are checked against the raw object input, including applicable pattern intersections. Payloads missing those required names are rejected where the previous validators accepted them; this fix does not add a validator when the option is disabled. (#3988)
  • Mapped allOf roots retain compatible constraints - For affected allOf roots with an outer format or type mapping, compatible numeric or string constraints are preserved while constraints incompatible with the mapped runtime type are omitted. Regenerated annotations change for these roots and avoid applying incompatible constraints to date, UUID, or other mapped values. (#4043)

... (truncated)

Changelog

Sourced from datamodel-code-generator's changelog.

0.81.0 - 2026-09-14

Breaking Changes

Code Generation Changes

  • Undeclared required keys now retained in variant runtime validation - When combining --read-only-write-only-model-type request/response variants with --schema-validator-type runtime validators, generated models now keep runtime validation rules for required keys that are not declared as properties (for example keys required via additionalProperties or if/then/else), whereas these rules were previously dropped from the variant models. Regenerated Request and Response models therefore enforce stricter validation and may reject payloads that the previously generated validators accepted (#4055)

What's Changed

Full Changelog: datamodel-code-generator/datamodel-code-generator@0.80.0...0.81.0


0.80.0 - 2026-09-12

Breaking Changes

Code Generation Changes

  • Python union annotations preserve unsupported member types - When generating from Python input models, unions containing members such as Callable retain each member type and the original union order instead of repeating the first non-null type. Regenerated annotations change for the affected unions and nested containers. (#3947)
  • Optional nested factories require a callable empty constructor - With --use-default-factory-for-optional-nested-models, an optional child with required constructor fields, including inherited fields, keeps its normal None or UNSET default instead of receiving a factory that fails when called without arguments. (#3953)
  • Safe frozen set items use native Pydantic hash generation - Safely hashable frozen Pydantic v2 models used as set or frozenset items rely on the native hash in place of the explicit identity-hash assignment. Mutable models and models outside the supported safe cases retain the previous generated hash behavior. (#4025)
  • GraphQL msgspec typename fields retain separate inherited slots - For affected GraphQL inheritance collisions, generated models keep inherited synthetic typename slots separate from colliding child user fields, which receive distinct Python names while retaining their wire aliases. Python attribute names in these affected hierarchies can differ from earlier output. (#4045)
  • Constrained root aliases retain their validation - With --use-root-model-type-alias, constraints are retained in the alias where supported; affected roots otherwise use a RootModel class instead of an unconstrained alias. Unconstrained aliases retain their prior form, and an existing custom root-alias template keeps its selection and remains responsible for its own constraints. (#3962)
  • Eligible compound property names use string key types - Eligible string alternatives in propertyNames generate inline constrained string key types instead of nested-model keys. This changes ordinary key annotations for affected schemas; custom schema runtime validators remain conditional on --schema-validator-type pydantic-v2. (#3970)
  • Opt-in schema validators enforce undeclared required names - With --schema-validator-type pydantic-v2, required property names absent from generated fields are checked against the raw object input, including applicable pattern intersections. Payloads missing those required names are rejected where the previous validators accepted them; this fix does not add a validator when the option is disabled. (#3988)
  • Mapped allOf roots retain compatible constraints - For affected allOf roots with an outer format or type mapping, compatible numeric or string constraints are preserved while constraints incompatible with the mapped runtime type are omitted. Regenerated annotations change for these roots and avoid applying incompatible constraints to date, UUID, or other mapped values. (#4043)
  • Eligible property-name alternatives use constrained string keys - For supported propertyNames alternatives combining ordinary string constraints with non-string-only branches, generated dictionary keys use the applicable constrained string type instead of retaining the non-string alternatives. References, complex patterns, and unsupported cases retain the existing fallback. (#4046)

... (truncated)

Commits

@dependabot
dependabot Bot requested a review from mishushakov as a code owner October 12, 2026 15:50
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Oct 12, 2026
@cla-bot cla-bot Bot added the cla-signed label Oct 12, 2026
@changeset-bot

changeset-bot Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: d9e7eb0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-12T15:53:09.749405Z 69b3827 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Package Artifacts

Built from f71965f. Download artifacts from this workflow run.

JS SDK (e2b@2.56.1-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0, with @e2b/dockerfile-utils@0.1.2-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0):

npm install ./e2b-dockerfile-utils-0.1.2-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0.tgz ./e2b-2.56.1-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0.tgz

CLI (@e2b/cli@2.22.1-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0):

npm install ./e2b-cli-2.22.1-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0.tgz

Code Interpreter JS SDK (@e2b/code-interpreter@2.9.1-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0):

npm install ./e2b-code-interpreter-2.9.1-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0.tgz

Desktop JS SDK (@e2b/desktop@2.5.1-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0):

npm install ./e2b-desktop-2.5.1-dependabot-uv-packages-code-interpreter-python-uv-3918a41a67.0.tgz

Python SDK (e2b==2.56.0+dependabot.uv.packages.code.interpreter.python.uv.3918a41a67, with e2b-dockerfile-utils==0.1.1+dependabot.uv.packages.code.interpreter.python.uv.3918a41a67):

pip install ./e2b_dockerfile_utils-0.1.1+dependabot.uv.packages.code.interpreter.python.uv.3918a41a67-py3-none-any.whl ./e2b-2.56.0+dependabot.uv.packages.code.interpreter.python.uv.3918a41a67-py3-none-any.whl

Code Interpreter Python SDK (e2b-code-interpreter==2.11.0+dependabot.uv.packages.code.interpreter.python.uv.3918a41a67):

pip install ./e2b_code_interpreter-2.11.0+dependabot.uv.packages.code.interpreter.python.uv.3918a41a67-py3-none-any.whl

Desktop Python SDK (e2b-desktop==2.7.0+dependabot.uv.packages.code.interpreter.python.uv.3918a41a67):

pip install ./e2b_desktop-2.7.0+dependabot.uv.packages.code.interpreter.python.uv.3918a41a67-py3-none-any.whl

"black==26.3.1",
"e2b-openapi-python-client==0.26.2",
"datamodel-code-generator==0.64.0",
"datamodel-code-generator==0.81.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 Python SDK, lint and typecheck CI jobs will fail at install after merge. The codegen pin is now ==0.81.0, but two lockfiles still record ==0.64.0. Those are packages/python-sdk/uv.lock:211 and packages/desktop-python/uv.lock:367, so uv sync --locked reports them out of date. Fix: run uv lock in packages/python-sdk and packages/desktop-python so every lockfile that resolves the python-sdk project records datamodel-code-generator 0.81.0. Only packages/code-interpreter-python/uv.lock was regenerated.

Why this was flagged

packages/python-sdk/pyproject.toml:51 now pins "datamodel-code-generator==0.81.0". packages/python-sdk/uv.lock:211 still has specifier = "==0.64.0" and locks 0.64.0 at lines 136-151. packages/desktop-python/uv.lock:367 also embeds the python-sdk metadata with ==0.64.0. When the metadata no longer matches the lock, uv sync --locked exits with an error saying the lockfile needs updating. That command runs in .github/workflows/python_sdk_tests.yml:48, typecheck.yml:78 and lint.yml:82 (all with working-directory packages/python-sdk), and in desktop_python_tests.yml:48. On the base branch the pins and locks agree, so those jobs install normally. Developers running make generate-mcp locally also get 0.64.0 from the stale python-sdk lock instead of the pinned 0.81.0.

Verification: Trigger: any CI run of the python-sdk or desktop-python jobs on the merged tree. The diff changes packages/python-sdk/pyproject.toml:51 to "datamodel-code-generator==0.81.0", but packages/python-sdk/uv.lock:211 and packages/desktop-python/uv.lock:367 still record specifier = "==0.64.0". So uv sync --locked fails with "lockfile needs to be updated" at .github/workflows/python_sdk_tests.yml:48.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 69b38274ea

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

"black==26.3.1",
"e2b-openapi-python-client==0.26.2",
"datamodel-code-generator==0.64.0",
"datamodel-code-generator==0.81.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Regenerate the Python SDK lockfile

The corresponding packages/python-sdk/uv.lock still records both the package and e2b:codegen requirement as 0.64.0. The Python SDK test, lint, and typecheck workflows run uv sync --locked from this directory; uv sync --help defines --locked as asserting that uv.lock remains unchanged, so these jobs will fail when uv detects that resolving this new pin would alter the lockfile. Regenerate the Python SDK's own lockfile rather than only the code-interpreter workspace lock.

AGENTS.md reference: AGENTS.md:L1-L1

Useful? React with 👍 / 👎.

"black==26.3.1",
"e2b-openapi-python-client==0.26.2",
"datamodel-code-generator==0.64.0",
"datamodel-code-generator==0.81.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Update the Docker codegen pin too

The canonical make codegen path, including .github/workflows/generated_files.yml, builds codegen.Dockerfile, which still installs datamodel-code-generator==0.64.0. Consequently the generated-files check does not exercise 0.81.0 and any fixes from this upgrade are absent from normal repository code generation, while developers using the documented make init path receive 0.81.0. Keep the Docker pin synchronized with this local codegen pin as the surrounding comment requires.

Useful? React with 👍 / 👎.

@mishushakov

Copy link
Copy Markdown
Member

@devin-ai-integration can you jump on the above ^

@mishushakov

Copy link
Copy Markdown
Member

@claude maybe you do the job

Bumps the uv group with 1 update in the /packages/code-interpreter-python directory: [datamodel-code-generator](https://github.com/datamodel-code-generator/datamodel-code-generator).


Updates `datamodel-code-generator` from 0.64.0 to 0.81.0
- [Release notes](https://github.com/datamodel-code-generator/datamodel-code-generator/releases)
- [Changelog](https://github.com/datamodel-code-generator/datamodel-code-generator/blob/main/CHANGELOG.md)
- [Commits](datamodel-code-generator/datamodel-code-generator@0.64.0...0.81.0)

---
updated-dependencies:
- dependency-name: datamodel-code-generator
  dependency-version: 0.81.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/packages/code-interpreter-python/uv-3918a41a67 branch from 69b3827 to d9e7eb0 Compare October 20, 2026 13:54

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Devin Review found 2 potential issues.

1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)

Devin Review

"black==26.3.1",
"e2b-openapi-python-client==0.26.2",
"datamodel-code-generator==0.64.0",
"datamodel-code-generator==0.81.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔴 Python SDK locked installs fail

After codegen pins 0.81.0, uv sync --locked rejects the SDK's unchanged lockfile, which still pins 0.64.0. Python SDK test, lint, and typecheck jobs stop during dependency installation.

Learn more

The Python SDK has its own lockfile, separate from the code interpreter workspace lockfile. The manifest now requires 0.81.0, while codegen metadata still requires 0.64.0. The Python SDK test workflow uses uv sync --locked, which refuses to update a stale lockfile; lint and typecheck use the same command.

Example: On this branch, a fresh Python SDK checkout runs uv sync --locked: the manifest requests 0.81.0 but its lockfile requests 0.64.0, so installation ends before tests start.

Recommended fix: Regenerate and commit packages/python-sdk/uv.lock with uv lock from the Python SDK directory. Verify uv sync --locked succeeds there.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

"black==26.3.1",
"e2b-openapi-python-client==0.26.2",
"datamodel-code-generator==0.64.0",
"datamodel-code-generator==0.81.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Local and CI generators use different versions

After make init, local generate-mcp uses 0.81.0 while the CI generator uses 0.64.0. Regenerated MCP models no longer share a pinned toolchain across environments.

Learn more

The Python SDK's codegen group supplies the datamodel-codegen executable for local generation. The generate-mcp target runs it against the tracked MCP schema, while make codegen runs the same target inside an image still pinned to 0.64.0. The repository explicitly keeps those pins aligned so that local generated files match CI; generator releases can change emitted models.

Example: A contributor runs make init and uv run make generate-mcp locally with 0.81.0, then CI runs make codegen with 0.64.0 against the same schema. The two generated files can differ even when the schema has not changed.

Recommended fix: Upgrade the datamodel-code-generator pin in codegen.Dockerfile to 0.81.0 alongside the SDK manifest, regenerate the MCP model with the common toolchain, and verify the generated-files check.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant