unrecognized-platform-check (PYI007)
Derived from the flake8-pyi linter.
What it does
Check for unrecognized sys.platform
checks. Platform checks should be
simple string comparisons.
Note: this rule is only enabled in .pyi
stub files.
Why is this bad?
Some sys.platform
checks are too complex for type checkers to
understand, and thus result in incorrect inferences by these tools.
sys.platform
checks should be simple string comparisons, like
if sys.platform == "linux"
.
Example
if sys.platform.startswith("linux"):
# Linux specific definitions
...
else:
# Posix specific definitions
...
Instead, use a simple string comparison, such as ==
or !=
: