Showing 21 of 21 total issues
Function format_file
has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring. Open
Open
def format_file(filepath: str, target_version: str) -> None:
"""Format the file with known formatters.
Args:
filepath (str): path of the file to format
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Line too long (82 > 79 characters) Open
Open
FormatterConfig(name="pyupgrade", path="pyupgrade", cli_args=["--py37-plus"]),
- Read upRead up
- Exclude checks
Limit all lines to a maximum of 79 characters.
There are still many devices around that are limited to 80 character
lines; plus, limiting windows to 80 characters makes it possible to
have several windows side-by-side. The default wrapping on such
devices looks ugly. Therefore, please limit all lines to a maximum
of 79 characters. For flowing long blocks of text (docstrings or
comments), limiting the length to 72 characters is recommended.
Reports error E501.
Line too long (86 > 79 characters) Open
Open
FormatterConfig(name="pybetter", path="pybetter", cli_args=["--exclude", "B004"]),
- Read upRead up
- Exclude checks
Limit all lines to a maximum of 79 characters.
There are still many devices around that are limited to 80 character
lines; plus, limiting windows to 80 characters makes it possible to
have several windows side-by-side. The default wrapping on such
devices looks ugly. Therefore, please limit all lines to a maximum
of 79 characters. For flowing long blocks of text (docstrings or
comments), limiting the length to 72 characters is recommended.
Reports error E501.
Line too long (88 > 79 characters) Open
Open
for line in Path(copy_file).read_text(encoding="utf-8").splitlines()
- Read upRead up
- Exclude checks
Limit all lines to a maximum of 79 characters.
There are still many devices around that are limited to 80 character
lines; plus, limiting windows to 80 characters makes it possible to
have several windows side-by-side. The default wrapping on such
devices looks ugly. Therefore, please limit all lines to a maximum
of 79 characters. For flowing long blocks of text (docstrings or
comments), limiting the length to 72 characters is recommended.
Reports error E501.
Line too long (86 > 79 characters) Open
Open
config.cli_args[index] = re.sub(PYTHON_VERSION_REGEX, target_version, arg)
- Read upRead up
- Exclude checks
Limit all lines to a maximum of 79 characters.
There are still many devices around that are limited to 80 character
lines; plus, limiting windows to 80 characters makes it possible to
have several windows side-by-side. The default wrapping on such
devices looks ugly. Therefore, please limit all lines to a maximum
of 79 characters. For flowing long blocks of text (docstrings or
comments), limiting the length to 72 characters is recommended.
Reports error E501.
Line too long (87 > 79 characters) Open
Open
FormatterConfig(name="docformatter", path="docformatter", cli_args=["--in-place"]),
- Read upRead up
- Exclude checks
Limit all lines to a maximum of 79 characters.
There are still many devices around that are limited to 80 character
lines; plus, limiting windows to 80 characters makes it possible to
have several windows side-by-side. The default wrapping on such
devices looks ugly. Therefore, please limit all lines to a maximum
of 79 characters. For flowing long blocks of text (docstrings or
comments), limiting the length to 72 characters is recommended.
Reports error E501.
Line too long (80 > 79 characters) Open
Open
with suppress(subprocess.CalledProcessError, subprocess.TimeoutExpired):
- Read upRead up
- Exclude checks
Limit all lines to a maximum of 79 characters.
There are still many devices around that are limited to 80 character
lines; plus, limiting windows to 80 characters makes it possible to
have several windows side-by-side. The default wrapping on such
devices looks ugly. Therefore, please limit all lines to a maximum
of 79 characters. For flowing long blocks of text (docstrings or
comments), limiting the length to 72 characters is recommended.
Reports error E501.
Line too long (88 > 79 characters) Open
Open
for line in Path(orig_file).read_text(encoding="utf-8").splitlines()
- Read upRead up
- Exclude checks
Limit all lines to a maximum of 79 characters.
There are still many devices around that are limited to 80 character
lines; plus, limiting windows to 80 characters makes it possible to
have several windows side-by-side. The default wrapping on such
devices looks ugly. Therefore, please limit all lines to a maximum
of 79 characters. For flowing long blocks of text (docstrings or
comments), limiting the length to 72 characters is recommended.
Reports error E501.
Module level import not at top of file Open
Open
import python_dev_tools
- Read upRead up
- Exclude checks
Place imports at the top of the file.
Always put imports at the top of the file, just after any module
comments and docstrings, and before module globals and constants.
Okay: import os
Okay: # this is a comment\nimport os
Okay: '''this is a module docstring'''\nimport os
Okay: r'''this is a module docstring'''\nimport os
Okay:
try:\n\timport x\nexcept ImportError:\n\tpass\nelse:\n\tpass\nimport y
Okay:
try:\n\timport x\nexcept ImportError:\n\tpass\nfinally:\n\tpass\nimport y
E402: a=1\nimport os
E402: 'One string'\n"Two string"\nimport os
E402: a=1\nfrom sys import x
Okay: if x:\n import os
subprocess call - check for execution of untrusted input. Open
Open
subprocess.run( # noqa: S603
[config.path, *config.cli_args, copy_file],
capture_output=True,
timeout=10,
encoding="utf-8",
- Exclude checks
TODO found Open
Open
description = "Check for FIXME, TODO and other temporary developer notes. Plugin for flake8."
- Exclude checks
TODO found Open
Open
# flake8-pep585 #TODO python3.9+
- Exclude checks
TODO found Open
Open
TODO
- Exclude checks
TODO found Open
Open
# flake8-slots = "^0" # TODO https://github.com/python-formate/flake8-slots/issues/37
- Exclude checks
TODO found Open
Open
precommit hook (TODO) where applicable.
- Exclude checks
TODO found Open
Open
# flake8-pep604 #TODO python3.10+
- Exclude checks
TODO found Open
Open
# wemake-python-styleguide = "^0.17" # TODO not available yet with flake8 5
- Exclude checks
Consider possible security implications associated with subprocess module. Open
Open
import subprocess # noqa: S404
- Exclude checks
TODO found Open
Open
TODO
- Exclude checks
FIXME found Open
Open
description = "Check for FIXME, TODO and other temporary developer notes. Plugin for flake8."
- Exclude checks