Skip to content

Commit

Permalink
Bump mypy from 1.6.1 to 1.7.0 (#7833)
Browse files Browse the repository at this point in the history
Bumps [mypy](https://github.com/python/mypy) from 1.6.1 to 1.7.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's
changelog</a>.</em></p>
<blockquote>
<h1>Mypy Release Notes</h1>
<h2>Next release</h2>
<p>Stubgen will now include <code>__all__</code> in its output if it is
in the input file (PR <a
href="https://redirect.github.com/python/mypy/pull/16356">16356</a>).</p>
<h2>Mypy 1.7</h2>
<p>We’ve just uploaded mypy 1.7 to the Python Package Index (<a
href="https://pypi.org/project/mypy/">PyPI</a>). Mypy is a static type
checker for Python. This release includes new features, performance
improvements and bug fixes. You can install it as follows:</p>
<pre><code>python3 -m pip install -U mypy
</code></pre>
<p>You can read the full documentation for this release on <a
href="http://mypy.readthedocs.io">Read the Docs</a>.</p>
<h4>Using TypedDict for <code>**kwargs</code> Typing</h4>
<p>Mypy now has support for using <code>Unpack[...]</code> with a
TypedDict type to annotate <code>**kwargs</code> arguments enabled by
default. Example:</p>
<pre><code># Or 'from typing_extensions import ...'
from typing import TypedDict, Unpack
<p>class Person(TypedDict):
name: str
age: int</p>
<p>def foo(**kwargs: Unpack[Person]) -&gt; None:
...</p>
<p>foo(name=&quot;x&quot;, age=1)  # Ok
foo(name=1)  # Error
</code></pre></p>
<p>The definition of <code>foo</code> above is equivalent to the one
below, with keyword-only arguments <code>name</code> and
<code>age</code>:</p>
<pre><code>def foo(*, name: str, age: int) -&gt; None:
    ...
</code></pre>
<p>Refer to <a href="https://peps.python.org/pep-0692/">PEP 692</a> for
more information. Note that unlike in the current version of the PEP,
mypy always treats signatures with <code>Unpack[SomeTypedDict]</code> as
equivalent to their expanded forms with explicit keyword arguments, and
there aren't special type checking rules for TypedDict arguments.</p>
<p>This was contributed by Ivan Levkivskyi back in 2022 (PR <a
href="https://redirect.github.com/python/mypy/pull/13471">13471</a>).</p>
<h4>TypeVarTuple Support Enabled (Experimental)</h4>
<p>Mypy now has support for variadic generics (TypeVarTuple) enabled by
default, as an experimental feature. Refer to <a
href="https://peps.python.org/pep-0646/">PEP 646</a> for the
details.</p>
<p>TypeVarTuple was implemented by Jared Hance and Ivan Levkivskyi over
several mypy releases, with help from Jukka Lehtosalo.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/mypy/commit/f6b9972329d5d68f6defc92a10cc4c3bc339c27b"><code>f6b9972</code></a>
Remove +dev from version</li>
<li><a
href="https://github.com/python/mypy/commit/62bcae2d9bad12c5d3b5dda23dc031e1c7ddf136"><code>62bcae2</code></a>
Fix handling of tuple type context with unpacks (<a
href="https://redirect.github.com/python/mypy/issues/16444">#16444</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/c22294a80b000ea673e407994ac5111644944486"><code>c22294a</code></a>
Handle TypeVarTupleType when checking overload constraints (<a
href="https://redirect.github.com/python/mypy/issues/16428">#16428</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/8813968abb657113df5edfa207db46b0649c9dce"><code>8813968</code></a>
Fix type narrowing in lambda expressions (<a
href="https://redirect.github.com/python/mypy/issues/16407">#16407</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/681e54cfe1642adddc41c4ff11198b8bc955d5af"><code>681e54c</code></a>
Fix crash on unpack call special-casing (<a
href="https://redirect.github.com/python/mypy/issues/16381">#16381</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/f68f46351e30644aefd19900ba1634595adc1d09"><code>f68f463</code></a>
Fix file reloading in dmypy with --export-types (<a
href="https://redirect.github.com/python/mypy/issues/16359">#16359</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/5624f401b3786ebdbe167c27297ed778cce3faa5"><code>5624f40</code></a>
Fix daemon crash caused by deleted submodule (<a
href="https://redirect.github.com/python/mypy/issues/16370">#16370</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/ad0e183b0df7cc3dd94d9e1cd6f5710859beda96"><code>ad0e183</code></a>
Enable Unpack/TypeVarTuple support (<a
href="https://redirect.github.com/python/mypy/issues/16354">#16354</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/b064a5c183b53a84d895bb8e3c36a3a74e24be9c"><code>b064a5c</code></a>
Fix dmypy inspect on Windows (<a
href="https://redirect.github.com/python/mypy/issues/16355">#16355</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/4e30e896486b774cdecaef6d3521a585b8acf8bc"><code>4e30e89</code></a>
Fix dmypy inspect for namespace packages (<a
href="https://redirect.github.com/python/mypy/issues/16357">#16357</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/mypy/compare/v1.6.1...v1.7.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mypy&package-manager=pip&previous-version=1.6.1&new-version=1.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sam Bull <git@sambull.org>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
3 people authored Nov 13, 2023
1 parent 63a805e commit 9d712f2
Show file tree
Hide file tree
Showing 10 changed files with 15 additions and 17 deletions.
4 changes: 2 additions & 2 deletions aiohttp/client_reqrep.py
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ def update_cookies(self, cookies: Optional[LooseCookies]) -> None:
if not cookies:
return

c: SimpleCookie[str] = SimpleCookie()
c = SimpleCookie()
if hdrs.COOKIE in self.headers:
c.load(self.headers.get(hdrs.COOKIE, ""))
del self.headers[hdrs.COOKIE]
Expand Down Expand Up @@ -789,7 +789,7 @@ def __init__(
assert isinstance(url, URL)

self.method = method
self.cookies: SimpleCookie[str] = SimpleCookie()
self.cookies = SimpleCookie()

self._real_url = url
self._url = url.with_fragment(None)
Expand Down
2 changes: 1 addition & 1 deletion aiohttp/connector.py
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ def __init__(
self._loop = loop
self._factory = functools.partial(ResponseHandler, loop=loop)

self.cookies: SimpleCookie[str] = SimpleCookie()
self.cookies = SimpleCookie()

# start keep-alive connection cleanup task
self._cleanup_handle: Optional[asyncio.TimerHandle] = None
Expand Down
10 changes: 4 additions & 6 deletions aiohttp/cookiejar.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def __init__(
loop: Optional[asyncio.AbstractEventLoop] = None,
) -> None:
super().__init__(loop=loop)
self._cookies: DefaultDict[Tuple[str, str], SimpleCookie[str]] = defaultdict(
self._cookies: DefaultDict[Tuple[str, str], SimpleCookie] = defaultdict(
SimpleCookie
)
self._host_only_cookies: Set[Tuple[str, str]] = set()
Expand Down Expand Up @@ -168,7 +168,7 @@ def update_cookies(self, cookies: LooseCookies, response_url: URL = URL()) -> No

for name, cookie in cookies:
if not isinstance(cookie, Morsel):
tmp: SimpleCookie[str] = SimpleCookie()
tmp = SimpleCookie()
tmp[name] = cookie # type: ignore[assignment]
cookie = tmp[name]

Expand Down Expand Up @@ -232,11 +232,9 @@ def update_cookies(self, cookies: LooseCookies, response_url: URL = URL()) -> No

self._do_expiration()

def filter_cookies(
self, request_url: URL = URL()
) -> Union["BaseCookie[str]", "SimpleCookie[str]"]:
def filter_cookies(self, request_url: URL = URL()) -> "BaseCookie[str]":
"""Returns this jar's cookies filtered by their attributes."""
filtered: Union["SimpleCookie[str]", "BaseCookie[str]"] = (
filtered: Union[SimpleCookie, "BaseCookie[str]"] = (
SimpleCookie() if self._quote_cookie else BaseCookie()
)
if not self._cookies:
Expand Down
2 changes: 1 addition & 1 deletion aiohttp/resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ async def resolve(
# IPv6 is not supported by Python build,
# or IPv6 is not enabled in the host
continue
if address[3]: # type: ignore[misc]
if address[3]:
# This is essential for link-local IPv6 addresses.
# LL IPv6 is a VERY rare case. Strictly speaking, we should use
# getnameinfo() unconditionally, but performance makes sense.
Expand Down
2 changes: 1 addition & 1 deletion aiohttp/web_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -582,7 +582,7 @@ def cookies(self) -> Mapping[str, str]:
A read-only dictionary-like object.
"""
raw = self.headers.get(hdrs.COOKIE, "")
parsed: SimpleCookie[str] = SimpleCookie(raw)
parsed = SimpleCookie(raw)
return MappingProxyType({key: val.value for key, val in parsed.items()})

@reify
Expand Down
4 changes: 2 additions & 2 deletions aiohttp/web_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ def __init__(
self._chunked = False
self._compression = False
self._compression_force: Optional[ContentCoding] = None
self._cookies: SimpleCookie[str] = SimpleCookie()
self._cookies = SimpleCookie()

self._req: Optional[BaseRequest] = None
self._payload_writer: Optional[AbstractStreamWriter] = None
Expand Down Expand Up @@ -193,7 +193,7 @@ def headers(self) -> "CIMultiDict[str]":
return self._headers

@property
def cookies(self) -> "SimpleCookie[str]":
def cookies(self) -> SimpleCookie:
return self._cookies

def set_cookie(
Expand Down
2 changes: 1 addition & 1 deletion requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ multidict==6.0.4
# -r requirements/multidict.in
# -r requirements/runtime-deps.in
# yarl
mypy==1.6.1 ; implementation_name == "cpython"
mypy==1.7.0 ; implementation_name == "cpython"
# via
# -r requirements/lint.in
# -r requirements/test.in
Expand Down
2 changes: 1 addition & 1 deletion requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ multidict==6.0.4
# via
# -r requirements/runtime-deps.in
# yarl
mypy==1.6.1 ; implementation_name == "cpython"
mypy==1.7.0 ; implementation_name == "cpython"
# via
# -r requirements/lint.in
# -r requirements/test.in
Expand Down
2 changes: 1 addition & 1 deletion requirements/lint.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ identify==2.5.26
# via pre-commit
iniconfig==2.0.0
# via pytest
mypy==1.6.1 ; implementation_name == "cpython"
mypy==1.7.0 ; implementation_name == "cpython"
# via -r requirements/lint.in
mypy-extensions==1.0.0
# via mypy
Expand Down
2 changes: 1 addition & 1 deletion requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ multidict==6.0.4
# via
# -r requirements/runtime-deps.in
# yarl
mypy==1.6.1 ; implementation_name == "cpython"
mypy==1.7.0 ; implementation_name == "cpython"
# via -r requirements/test.in
mypy-extensions==1.0.0
# via mypy
Expand Down

0 comments on commit 9d712f2

Please sign in to comment.