Skip to content

Bump the python-dependencies group across 1 directory with 3 updates - #8

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/python-dependencies-b2b38a386e
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/python-dependencies-b2b38a386e

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps the python-dependencies group with 3 updates in the / directory: ruff, mypy and datamodel-code-generator.

Updates ruff from 0.16.8 to 0.17.2

Release notes

Sourced from ruff's releases.

0.17.2

Release Notes

Released on 2026-10-22.

Preview features

  • [complexity] Add unnecessary-regular-expression-compile (#25533)

Bug fixes

  • Avoid syntax errors for type variables with starred constraints (UP040, UP046, UP047, RUF053) (#28362)
  • [pydocstyle] Treat backslash-escaped *args and **kwargs as documented (D417) (#29536)
  • [pylint] Avoid false positive on starred elements (PLE0643) (#29483)
  • [pylint] Mark fixes unsafe when deleting comments (PLR5501, PLW0120) (#29414)
  • [pyupgrade] Mark fix unsafe when deleting comments (UP035) (#29413)

Performance

  • Avoid intermediate names in lint name resolution (#29506)
  • Prefilter bidirectional Unicode checks by UTF-8 leading bytes (#29561)
  • Share postfix parsing and reduce expression copies (#29480)

Configuration

  • [pylint] Add a configurable allowlist for magic-value-comparison (PLR2004) (#18961)

Documentation

  • Clarify documentation and correct stale guidance (#29374)
  • [pyupgrade] Remove mentions of variance related to fix safety (UP040, UP047) (#29592)

Contributors

Install ruff 0.17.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.17.2/ruff-installer.sh | sh
</tr></table> 

... (truncated)

Changelog

Sourced from ruff's changelog.

0.17.2

Released on 2026-10-22.

Preview features

  • [complexity] Add unnecessary-regular-expression-compile (#25533)

Bug fixes

  • Avoid syntax errors for type variables with starred constraints (UP040, UP046, UP047, RUF053) (#28362)
  • [pydocstyle] Treat backslash-escaped *args and **kwargs as documented (D417) (#29536)
  • [pylint] Avoid false positive on starred elements (PLE0643) (#29483)
  • [pylint] Mark fixes unsafe when deleting comments (PLR5501, PLW0120) (#29414)
  • [pyupgrade] Mark fix unsafe when deleting comments (UP035) (#29413)

Performance

  • Avoid intermediate names in lint name resolution (#29506)
  • Prefilter bidirectional Unicode checks by UTF-8 leading bytes (#29561)
  • Share postfix parsing and reduce expression copies (#29480)

Configuration

  • [pylint] Add a configurable allowlist for magic-value-comparison (PLR2004) (#18961)

Documentation

  • Clarify documentation and correct stale guidance (#29374)
  • [pyupgrade] Remove mentions of variance related to fix safety (UP040, UP047) (#29592)

Contributors

0.17.1

Released on 2026-10-15.

Preview features

  • [pycodestyle] Don't treat None, True, or False as keywords (E271-E274) (#29322)

... (truncated)

Commits
  • 30516b4 Bump version to 0.17.2 (#29637)
  • 59a9e85 [ty] Generalize nested types in inferred return types (#29488)
  • 0d562aa [ty] Check inherited attribute conflicts (#28559)
  • 48dcdd0 [ty] Restrict range implications from gradual equivalence (#29577)
  • 734d75a [ty] Check for unsatisfiable bodies before existentially quantifying (#29504)
  • b0f9526 [ty] Preserve checks for recursive descriptor setter types (#29148)
  • 32869b4 Avoid creating deployments for automation jobs (#29626)
  • ec891ba Link the commit in pull request report footers (#29621)
  • 8958748 [ty] Publish ecosystem reports from GitHub Actions (#29609)
  • 01f5394 [ty] Publish typing conformance reports from GitHub Actions (#29608)
  • Additional commits viewable in compare view

Updates mypy from 2.3.1 to 2.4.0

Changelog

Sourced from mypy's changelog.

Mypy Release Notes

Next Release

Mypy 2.4

We've just uploaded mypy 2.4.0 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:

python3 -m pip install -U mypy

You can read the full documentation for this release on Read the Docs.

Python 3.15 Support

Mypy 2.4 supports running on Python 3.15 and type checking most Python 3.15 features. This includes the new builtin sentinel type for sentinel values (PEP 661), which mypy now supports (see below for details). Lazy imports (PEP 810) and unpacking in comprehensions (PEP 798) are also supported. Closed TypedDicts (PEP 728) have been supported since mypy 2.2, but the extra_items TypedDict argument, also introduced in PEP 728, is still unsupported. Support for extra_items will be added in a future mypy release.

Native Parser Enabled by Default

Mypy now uses the new native parser by default. It's based on the Ruff parser, and it's significantly faster than the legacy parser, which uses the stdlib ast module. The native parser also has other benefits:

  • You can target newer Python versions and use recent Python syntax even when running mypy on an older Python version. For example, you can use --python-version 3.15 when running mypy on Python 3.14.
  • Stub files can use syntax that is newer than the target Python version. For example, stubs can use the PEP 695 generic class syntax (class Box[T]: ...) when running on or targeting Python 3.10.
  • Parallel type checking requires the native parser.

The legacy parser is still available through --no-native-parser, or native_parser = False in the config file (native_parser = false under [tool.mypy] in pyproject.toml). We are planning to remove the legacy parser in early 2027. If you run into a problem with the native parser, please report it on the issue tracker.

Unlike the legacy parser, the native parser doesn't support type comments for variables defined by for and with statements. These type comments are silently ignored, and the types of the variables are

... (truncated)

Commits

Updates datamodel-code-generator from 0.82.0 to 0.86.0

Release notes

Sourced from datamodel-code-generator's releases.

0.86.0

Breaking Changes

Code Generation Changes

  • Base64 bytes with length constraints now use EncodedBytes - With --type-mappings string+byte=binary, a format: byte string with minLength or maxLength used to generate conbytes(...), which did not decode base64. With --field-constraints it used to generate Base64Bytes with a Field(max_length=...). It now generates Annotated[bytes, Field(max_length=8), EncodedBytes(encoder=Base64Encoder)], which decodes the base64 text and checks the lengths on the encoded text, as JSON Schema counts them. Field values are now the decoded bytes instead of the raw text. Under --field-constraints, inputs whose base64 text is longer than the limit are now rejected, even when the decoded bytes fit. Generated modules now import Annotated, Field, EncodedBytes and Base64Encoder. Pydantic checks these lengths on the text only from 2.10 on, and an explicit --target-pydantic-version 2 now warns about each such field (#4798)
  • Strict bytes no longer skip base64 decoding for mapped byte strings - With --type-mappings string+byte=binary and --strict-types bytes, format: byte fields used to generate StrictBytes, or conbytes(..., strict=True) when they had lengths, and held the raw text. They now generate Base64Bytes, or the EncodedBytes form when they have lengths, and decode the base64 text, so validated values change. FastAPI path, query, header and cookie parameters with this combination no longer stop generation with an error (#4798)
  • Mapped byte formats now decode base64 when mapped without constraints - With --type-mappings string+byte=binary, code paths that map a type and format without constraints now pass base64 decoding through. For example, a format: byte string member of a multi-type type list now generates Base64Bytes, as in Base64Bytes | list[int], instead of plain bytes. Its runtime value becomes the decoded bytes (#4798)

Other Output Changes

These change generated output compared with 0.85.0, but only where 0.85.0 output failed or for options that are new in this release.

  • Integer and subclass enums that list null no longer get a None member - An enum with a value type base (the IntEnum written for type: integer, or a --use-subclass-enum class such as (int, Enum)) that lists null used to get a member such as integer_None = None, which made the generated module raise TypeError at import. That member is no longer generated, and an enum whose only value is null becomes a RootModel[None]. Class names and field defaults are unchanged (#4884, #4889)
  • Discriminator tags keep no pattern their values already satisfy - Pydantic discriminator tag fields written with Field() constraints no longer carry a pattern that every tag value satisfies. Such output failed at import in 0.85.0 because the tag was no longer a usable discriminator. Tags whose values contradict their own pattern are unchanged (#4888)
  • Optional one-value Literal discriminator tags default to their value - A tag such as kind: Literal['card'] | None = None is now written as kind: Literal['card'] = 'card'. The discriminated union failed at import before; a standalone model using such a tag now defaults to and dumps 'card' instead of None (#4895)
  • The builtin formatter wraps long Annotated[...] = None assignments like black - Where 0.85.0 put the None default in parentheses on its own lines, the line is now split inside the annotation, as black does. The code is equivalent, but --check runs with a dated preset (which uses the builtin formatter) report the reformatting (#4794)
  • Refinements of options new in this release - --use-tag-as-union-variant-name no longer repeats the key in prefixed names of models inside key-named branches (#4903), and --use-single-value-enum-as-const types nullable single-value unions as Literal[...] | None keeps mixed-type single-value branches apart instead of merging them into one Enum (#4926, #4927), and leaves nullable: true single-value enums as enums so they still accept null (#4944). Both options were added after 0.85.0, so output without them is unchanged

What's Changed

... (truncated)

Changelog

Sourced from datamodel-code-generator's changelog.

0.86.0 - 2026-10-18

Breaking Changes

Code Generation Changes

  • Base64 bytes with length constraints now use EncodedBytes - With --type-mappings string+byte=binary, a format: byte string with minLength or maxLength used to generate conbytes(...), which did not decode base64. With --field-constraints it used to generate Base64Bytes with a Field(max_length=...). It now generates Annotated[bytes, Field(max_length=8), EncodedBytes(encoder=Base64Encoder)], which decodes the base64 text and checks the lengths on the encoded text, as JSON Schema counts them. Field values are now the decoded bytes instead of the raw text. Under --field-constraints, inputs whose base64 text is longer than the limit are now rejected, even when the decoded bytes fit. Generated modules now import Annotated, Field, EncodedBytes and Base64Encoder. Pydantic checks these lengths on the text only from 2.10 on, and an explicit --target-pydantic-version 2 now warns about each such field (#4798)
  • Strict bytes no longer skip base64 decoding for mapped byte strings - With --type-mappings string+byte=binary and --strict-types bytes, format: byte fields used to generate StrictBytes, or conbytes(..., strict=True) when they had lengths, and held the raw text. They now generate Base64Bytes, or the EncodedBytes form when they have lengths, and decode the base64 text, so validated values change. FastAPI path, query, header and cookie parameters with this combination no longer stop generation with an error (#4798)
  • Mapped byte formats now decode base64 when mapped without constraints - With --type-mappings string+byte=binary, code paths that map a type and format without constraints now pass base64 decoding through. For example, a format: byte string member of a multi-type type list now generates Base64Bytes, as in Base64Bytes | list[int], instead of plain bytes. Its runtime value becomes the decoded bytes (#4798)

Other Output Changes

These change generated output compared with 0.85.0, but only where 0.85.0 output failed or for options that are new in this release.

  • Integer and subclass enums that list null no longer get a None member - An enum with a value type base (the IntEnum written for type: integer, or a --use-subclass-enum class such as (int, Enum)) that lists null used to get a member such as integer_None = None, which made the generated module raise TypeError at import. That member is no longer generated, and an enum whose only value is null becomes a RootModel[None]. Class names and field defaults are unchanged (#4884, #4889)
  • Discriminator tags keep no pattern their values already satisfy - Pydantic discriminator tag fields written with Field() constraints no longer carry a pattern that every tag value satisfies. Such output failed at import in 0.85.0 because the tag was no longer a usable discriminator. Tags whose values contradict their own pattern are unchanged (#4888)
  • Optional one-value Literal discriminator tags default to their value - A tag such as kind: Literal['card'] | None = None is now written as kind: Literal['card'] = 'card'. The discriminated union failed at import before; a standalone model using such a tag now defaults to and dumps 'card' instead of None (#4895)
  • The builtin formatter wraps long Annotated[...] = None assignments like black - Where 0.85.0 put the None default in parentheses on its own lines, the line is now split inside the annotation, as black does. The code is equivalent, but --check runs with a dated preset (which uses the builtin formatter) report the reformatting (#4794)
  • Refinements of options new in this release - --use-tag-as-union-variant-name no longer repeats the key in prefixed names of models inside key-named branches (#4903), and --use-single-value-enum-as-const types nullable single-value unions as Literal[...] | None keeps mixed-type single-value branches apart instead of merging them into one Enum (#4926, #4927), and leaves nullable: true single-value enums as enums so they still accept null (#4944). Both options were added after 0.85.0, so output without them is unchanged

What's Changed

... (truncated)

Commits
  • 361e17d Read nullable one-value enums as written under --use-single-value-enum-as-con...
  • 82df26a Count numbered class names over 40 characters as numbered in recommender tria...
  • 1e6adfb Delete the API scope oracle inputs no test reads (#4940)
  • b68d27b Document how to write recommender rules (#4935)
  • 819a18f Fail when an expected file is recorded by no .refs line (#4934)
  • 30474bd Recommend validation options (#4930)
  • 677aeaa Point to the recommender from help, docs, prompt and the agent skill (#4922)
  • 4da46b7 Hint at --recommend-options after generation when names are numbered (#4929)
  • 8ef8a67 Keep one-value branches of different JSON types apart under --use-single-valu...
  • 76e5539 Type a null branch beside one-value enum branches as None under --use-single-...
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Oct 7, 2026
@dependabot
dependabot Bot requested a review from troycorbinz as a code owner October 7, 2026 20:35
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Oct 7, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/python-dependencies-b2b38a386e branch from 78248b5 to 8a4a583 Compare October 14, 2026 21:52
@dependabot dependabot Bot changed the title chore(deps-dev): Bump the python-dependencies group across 1 directory with 3 updates Bump the python-dependencies group across 1 directory with 3 updates Oct 21, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/python-dependencies-b2b38a386e branch from 8a4a583 to 0907ab4 Compare October 21, 2026 20:34
Bumps the python-dependencies group with 3 updates in the / directory: [ruff](https://github.com/astral-sh/ruff), [mypy](https://github.com/python/mypy) and [datamodel-code-generator](https://github.com/datamodel-code-generator/datamodel-code-generator).


Updates `ruff` from 0.16.8 to 0.17.2
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.16.8...0.17.2)

Updates `mypy` from 2.3.1 to 2.4.0
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v2.3.1...v2.4.0)

Updates `datamodel-code-generator` from 0.82.0 to 0.86.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.82.0...0.86.0)

---
updated-dependencies:
- dependency-name: datamodel-code-generator
  dependency-version: 0.83.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: mypy
  dependency-version: 2.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: ruff
  dependency-version: 0.16.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/python-dependencies-b2b38a386e branch from 0907ab4 to 2c0f9e3 Compare October 28, 2026 20:35
@dependabot @github

dependabot Bot commented on behalf of github Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Nov 4, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/python-dependencies-b2b38a386e branch November 4, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants