pypi flake8-pyi 23.11.0

latest releases: 24.9.0, 24.6.0, 24.4.1...
12 months ago

New error codes:

  • Y058: Use Iterator rather than Generator as the return value for simple __iter__ methods, and AsyncIterator rather than AsyncGenerator as 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 None inside a Literal[] slice. For example, use Literal["foo"] | None instead of Literal["foo", None].

Other changes:

  • The undocumented pyi.__version__ and pyi.PyiTreeChecker.version attributes has been removed. Use flake8 --version from the command line, or importlib.metadata.version("flake8_pyi") at runtime, to determine the version of flake8-pyi installed at runtime.
  • Y038 now flags from typing_extensions import AbstractSet as well as from 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.ABCMeta and/or enum.EnumMeta. Classes that have one or more of these as bases are metaclasses, and PEP 673 forbids the use of typing(_extensions).Self for 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.Text now causes Y039 to be emitted rather than Y023.
  • Y053 will no longer be emitted for the argument to @typing_extensions.deprecated.

Don't miss a new flake8-pyi release

NewReleases is sending notifications on new releases.