Skip to content

chore(deps): update mypy requirement from ==1.19.* to ==2.2.*#303

Closed
dependabot[bot] wants to merge 1 commit into
mainlinefrom
dependabot/pip/mypy-eq-2.1.star
Closed

chore(deps): update mypy requirement from ==1.19.* to ==2.2.*#303
dependabot[bot] wants to merge 1 commit into
mainlinefrom
dependabot/pip/mypy-eq-2.1.star

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 29, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on mypy to permit the latest version.

Changelog

Sourced from mypy's changelog.

Mypy Release Notes

Next Release

Mypy 2.2

We've just uploaded mypy 2.2.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.

Support for Closed TypedDicts (PEP 728)

Mypy now supports closed TypedDicts as specified in PEP 728. A closed TypedDict cannot have extra keys beyond those explicitly defined. This allows the type checker to determine that certain operations are safe when they otherwise wouldn't be due to the potential presence of unknown keys.

You can use the closed keyword argument with TypedDict:

HasName = TypedDict("HasName", {"name": str})
HasOnlyName = TypedDict("HasOnlyName", {"name": str}, closed=True)
Movie = TypedDict("Movie", {"name": str, "year": int})
movie: Movie = {"name": "Nimona", "year": 2023}
has_name: HasName = movie  # OK: HasName is open (default)
has_only_name: HasOnlyName = movie  # Error: HasOnlyName is closed and Movie has extra "year" key

Closed TypedDicts enable more precise type checking because the type checker knows exactly which keys are present. This is particularly useful when working with TypedDict unions or when you want to ensure that a TypedDict conforms to an exact shape.

The closed keyword also enables safe type narrowing with in checks:

Book = TypedDict('Book', {'book': str}, closed=True)
DVD = TypedDict('DVD', {'dvd': str}, closed=True)
type Inventory = Book | DVD
def print_type(inventory: Inventory) -> None:
if "book" in inventory:
# Type is narrowed to Book here - safe because DVD is closed
print(inventory["book"])
else:
# Type is narrowed to DVD here
print(inventory["dvd"])
</tr></table>

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jun 29, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner June 29, 2026 15:14
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jun 29, 2026
github-actions[bot]
github-actions Bot previously approved these changes Jun 29, 2026
Updates the requirements on [mypy](https://github.com/python/mypy) to permit the latest version.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.19.0...v2.2.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 2.1.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title chore(deps): update mypy requirement from ==1.19.* to ==2.1.* chore(deps): update mypy requirement from ==1.19.* to ==2.2.* Jul 8, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/mypy-eq-2.1.star branch from 4189a9f to 09d236b Compare July 8, 2026 22:12
jericht added a commit that referenced this pull request Jul 8, 2026
Update dev dependencies to their latest versions while maintaining
Python 3.9 support via environment markers:

- pytest: 8.4.* -> 9.1.* (Py39 stays on 8.4.*)
- black: 25.* -> 26.* (Py39 stays on 25.*)
- mypy: 1.19.* -> 2.2.* (Py39 stays on 1.19.*)
- hypothesis: ~=6.0 -> ~=6.156 (Py39 gets ~=6.141)

All four packages dropped Python 3.9 support in their latest major
releases. This uses the same conditional pattern as openjd-cli.

Supersedes #300, #301, #302, #303.

Signed-off-by: Jericho Tolentino <68654047+jericht@users.noreply.github.com>
jericht added a commit that referenced this pull request Jul 9, 2026
Update dev dependencies to their latest versions while maintaining
Python 3.9 support via environment markers:

- pytest: 8.4.* -> 9.1.* (Py39 stays on 8.4.*)
- black: 25.* -> 26.* (Py39 stays on 25.*)
- mypy: 1.19.* -> 2.2.* (Py39 stays on 1.19.*)
- hypothesis: ~=6.0 -> ~=6.156 (Py39 gets ~=6.141)

All four packages dropped Python 3.9 support in their latest major
releases. This uses the same conditional pattern as openjd-cli.

Supersedes #300, #301, #302, #303.

Signed-off-by: Jericho Tolentino <68654047+jericht@users.noreply.github.com>
jericht added a commit that referenced this pull request Jul 9, 2026
Update dev dependencies to their latest versions while maintaining
Python 3.9 support via environment markers:

- pytest: 8.4.* -> 9.1.* (Py39 stays on 8.4.*)
- black: 25.* -> 26.* (Py39 stays on 25.*)
- mypy: 1.19.* -> 2.2.* (Py39 stays on 1.19.*)
- hypothesis: ~=6.0 -> ~=6.156 (Py39 gets ~=6.141)

All four packages dropped Python 3.9 support in their latest major
releases. This uses the same conditional pattern as openjd-cli.

Supersedes #300, #301, #302, #303.

Signed-off-by: Jericho Tolentino <68654047+jericht@users.noreply.github.com>
jericht added a commit that referenced this pull request Jul 9, 2026
Update dev dependencies to their latest versions while maintaining
Python 3.9 support via environment markers:

- pytest: 8.4.* -> 9.1.* (Py39 stays on 8.4.*)
- black: 25.* -> 26.* (Py39 stays on 25.*)
- mypy: 1.19.* -> 2.2.* (Py39 stays on 1.19.*)
- hypothesis: ~=6.0 -> ~=6.156 (Py39 gets ~=6.141)

All four packages dropped Python 3.9 support in their latest major
releases. This uses the same conditional pattern as openjd-cli.

Supersedes #300, #301, #302, #303.

Signed-off-by: Jericho Tolentino <68654047+jericht@users.noreply.github.com>
jericht added a commit that referenced this pull request Jul 9, 2026
)

Update dev dependencies to their latest versions while maintaining
Python 3.9 support via environment markers:

- pytest: 8.4.* -> 9.1.* (Py39 stays on 8.4.*)
- black: 25.* -> 26.* (Py39 stays on 25.*)
- mypy: 1.19.* -> 2.2.* (Py39 stays on 1.19.*)
- hypothesis: ~=6.0 -> ~=6.156 (Py39 gets ~=6.141)

All four packages dropped Python 3.9 support in their latest major
releases. This uses the same conditional pattern as openjd-cli.

Supersedes #300, #301, #302, #303.

Signed-off-by: Jericho Tolentino <68654047+jericht@users.noreply.github.com>
@dependabot @github

dependabot Bot commented on behalf of github Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Looks like mypy is no longer updatable, so this is no longer needed.

@dependabot dependabot Bot closed this Jul 9, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/mypy-eq-2.1.star branch July 9, 2026 00: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 waiting-on-maintainers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants