Bump flake8-pyi from 23.6.0 to 23.11.0
Bumps flake8-pyi from 23.6.0 to 23.11.0.
Release notes
Sourced from flake8-pyi's releases.
23.11.0
New error codes:
- Y058: Use
Iteratorrather thanGeneratoras the return value for simple__iter__methods, andAsyncIteratorrather thanAsyncGeneratoras the return value for simple__aiter__methods.- Y059:
Generic[]should always be the last base class, if it is present in the bases of a class.- Y060, which flags redundant inheritance from
Generic[].- Y061: Do not use
Noneinside aLiteral[]slice. For example, useLiteral["foo"] | Noneinstead ofLiteral["foo", None].Other changes:
- The undocumented
pyi.__version__andpyi.PyiTreeChecker.versionattributes has been removed. Useflake8 --versionfrom the command line, orimportlib.metadata.version("flake8_pyi")at runtime, to determine the version offlake8-pyiinstalled at runtime.- Y038 now flags
from typing_extensions import AbstractSetas well asfrom typing import AbstractSet.- Y022 and Y037 now flag more imports from
typing_extensions.- Y034 now attempts to avoid flagging methods inside classes that inherit from
builtins.type,abc.ABCMetaand/orenum.EnumMeta. Classes that have one or more of these as bases are metaclasses, and PEP 673 forbids the use oftyping(_extensions).Selffor metaclasses. While reliably determining whether a class is a metaclass in all cases would be impossible for flake8-pyi, the new heuristics should reduce the number of false positives from this check.- Attempting to import
typing_extensions.Textnow causes Y039 to be emitted rather than Y023.- Y053 will no longer be emitted for the argument to
@typing_extensions.deprecated.23.10.0
Introduce Y090, which warns if you have an annotation such as
tuple[int]orTuple[int]. These mean "a tuple of length 1, in which the sole element is of typeint". This is sometimes what you want, but more usually you'll wanttuple[int, ...], which means "a tuple of arbitrary (possibly 0) length, in which all elements are of typeint".This error code is disabled by default due to the risk of false-positive errors. To enable it, use the
--extend-select=Y090option.Y011 now ignores
sentineland_typeshed.sentinelin default values.
Changelog
Sourced from flake8-pyi's changelog.
23.11.0
New error codes:
- Y058: Use
Iteratorrather thanGeneratoras the return value for simple__iter__methods, andAsyncIteratorrather thanAsyncGeneratoras the return value for simple__aiter__methods.- Y059:
Generic[]should always be the last base class, if it is present in the bases of a class.- Y060, which flags redundant inheritance from
Generic[].- Y061: Do not use
Noneinside aLiteral[]slice. For example, useLiteral["foo"] | Noneinstead ofLiteral["foo", None].Other changes:
- The undocumented
pyi.__version__andpyi.PyiTreeChecker.versionattributes has been removed. Useflake8 --versionfrom the command line, orimportlib.metadata.version("flake8_pyi")at runtime, to determine the version offlake8-pyiinstalled at runtime.- Y038 now flags
from typing_extensions import AbstractSetas well asfrom typing import AbstractSet.- Y022 and Y037 now flag more imports from
typing_extensions.- Y034 now attempts to avoid flagging methods inside classes that inherit from
builtins.type,abc.ABCMetaand/orenum.EnumMeta. Classes that have one or more of these as bases are metaclasses, and PEP 673 forbids the use oftyping(_extensions).Selffor metaclasses. While reliably determining whether a class is a metaclass in all cases would be impossible for flake8-pyi, the new heuristics should reduce the number of false positives from this check.- Attempting to import
typing_extensions.Textnow causes Y039 to be emitted rather than Y023.- Y053 will no longer be emitted for the argument to
@typing_extensions.deprecated.23.10.0
Introduce Y090, which warns if you have an annotation such as
tuple[int]orTuple[int]. These mean "a tuple of length 1, in which the sole element is of typeint". This is sometimes what you want, but more usually you'll wanttuple[int, ...], which means "a tuple of arbitrary (possibly 0) length, in which all elements are of typeint".This error code is disabled by default due to the risk of false-positive errors. To enable it, use the
--extend-select=Y090option.Y011 now ignores
sentineland_typeshed.sentinelin default values.
Commits
06151b7Prepare release 23.11.0 (#446)b67dd0fImprove the error message in a Y061 edge case (#445)c7d988eDo not emit Y053 for the argument to@deprecated() (#444)5bc395dMake Y060 more aggressive (#432)7840da6Refactor_check_import_or_attribute[alt] (#440)1685c7fUse pytest-xdist to speedup tests (#438)bf40960Flagtyping_extensions.Textwith Y039, not Y023 (#437)0ccf764Reduce metaclass-related false positives from Y034 (#436)2f5b26eEnforce consistent use ofLiteralandNone(#435)5ce0ecfMore minor updates now that more things can be imported from `typing_extensio...- Additional commits viewable in compare view
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 commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency -
@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)