Skip to content

pre-pep570-positional-argument (PYI063)

Derived from the flake8-pyi linter.

This rule is unstable and in preview. The --preview flag is required for use.

What it does

Checks for the presence of PEP 484-style positional-only arguments.

Why is this bad?

Historically, PEP 484 recommended prefixing positional-only arguments with a double underscore (__). However, PEP 570 introduced a dedicated syntax for positional-only arguments, which should be preferred.

Example

def foo(__x: int) -> None: ...

Use instead:

def foo(x: int, /) -> None: ...