Skip to content

Bump mypy from 1.4.1 to 1.7.0

Ronan Amicel requested to merge dependabot-pip-mypy-1.7.0 into main

Bumps mypy from 1.4.1 to 1.7.0.

Changelog

Sourced from mypy's changelog.

Mypy Release Notes

Next release

Stubgen will now include __all__ in its output if it is in the input file (PR 16356).

Mypy 1.7

We’ve just uploaded mypy 1.7 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.

Using TypedDict for **kwargs Typing

Mypy now has support for using Unpack[...] with a TypedDict type to annotate **kwargs arguments enabled by default. Example:

# Or 'from typing_extensions import ...'
from typing import TypedDict, Unpack
class Person(TypedDict):
name: str
age: int
def foo(**kwargs: Unpack[Person]) -> None:
...
foo(name="x", age=1)  # Ok
foo(name=1)  # Error

The definition of foo above is equivalent to the one below, with keyword-only arguments name and age:

def foo(*, name: str, age: int) -> None:
    ...

Refer to PEP 692 for more information. Note that unlike in the current version of the PEP, mypy always treats signatures with Unpack[SomeTypedDict] as equivalent to their expanded forms with explicit keyword arguments, and there aren't special type checking rules for TypedDict arguments.

This was contributed by Ivan Levkivskyi back in 2022 (PR 13471).

TypeVarTuple Support Enabled (Experimental)

Mypy now has support for variadic generics (TypeVarTuple) enabled by default, as an experimental feature. Refer to PEP 646 for the details.

TypeVarTuple was implemented by Jared Hance and Ivan Levkivskyi over several mypy releases, with help from Jukka Lehtosalo.

... (truncated)

Commits

Merge request reports