mirror of
https://github.com/numpy/numpy.git
synced 2026-10-28 16:34:42 +08:00
112 lines
3.7 KiB
TOML
112 lines
3.7 KiB
TOML
extend-exclude = [
|
|
"numpy/__config__.py",
|
|
"numpy/typing/_char_codes.py",
|
|
"spin/cmds.py",
|
|
"doc/source/_contents",
|
|
# Submodules.
|
|
"doc/source/_static/scipy-mathjax",
|
|
"vendored-meson/meson",
|
|
"numpy/fft/pocketfft",
|
|
"numpy/_core/src/umath/svml",
|
|
"numpy/_core/src/npysort/x86-simd-sort",
|
|
"numpy/_core/src/highway",
|
|
"numpy/_core/src/common/pythoncapi-compat",
|
|
]
|
|
|
|
line-length = 88
|
|
|
|
[format]
|
|
line-ending = "lf"
|
|
|
|
[lint]
|
|
preview = true
|
|
select = [
|
|
"B", # flake8-bugbear
|
|
"C4", # flake8-comprehensions
|
|
"ISC", # flake8-implicit-str-concat
|
|
"LOG", # flake8-logging
|
|
"G", # flake8-logging-format
|
|
"PIE", # flake8-pie
|
|
"Q", # flake8-quotes
|
|
"TID", # flake8-tidy-imports
|
|
"FLY", # flynt
|
|
"I", # isort
|
|
"PD", # pandas-vet
|
|
"PERF", # perflint
|
|
"E", # pycodestyle/error
|
|
"W", # pycodestyle/warning
|
|
"F", # pyflakes
|
|
"PGH", # pygrep-hooks
|
|
"PLE", # pylint/error
|
|
"UP", # pyupgrade
|
|
"RUF012", # ruff: mutable-class-default
|
|
"RUF100", # ruff: unused-noqa
|
|
]
|
|
ignore = [
|
|
# flake8-bugbear
|
|
"B006", # Do not use mutable data structures for argument defaults
|
|
"B007", # Loop control variable not used within loop body
|
|
"B011", # Do not `assert False` (`python -O` removes these calls), raise `AssertionError()`
|
|
"B023", # Function definition does not bind loop variable
|
|
"B028", # No explicit `stacklevel` keyword argument found
|
|
"B904", # Within an `except` clause distinguish raised exceptions from errors in exception handling
|
|
"B905", #`zip()` without an explicit `strict=` parameter
|
|
# flake8-comprehensions
|
|
"C408", # Unnecessary `dict()` call (rewrite as a literal)
|
|
# flake8-implicit-str-concat
|
|
"ISC002", # Implicitly concatenated string literals over multiple lines
|
|
# flake8-pie
|
|
"PIE790", # Unnecessary `pass` statement
|
|
# perflint
|
|
"PERF401", # Use a list comprehension to create a transformed list
|
|
# pycodestyle/error
|
|
"E241", # Multiple spaces after comma
|
|
"E265", # Block comment should start with `# `
|
|
"E266", # Too many leading `#` before block comment
|
|
"E302", # TODO: Expected 2 blank lines, found 1
|
|
"E402", # Module level import not at top of file
|
|
"E712", # Avoid equality comparisons to `True` or `False`
|
|
"E731", # Do not assign a `lambda` expression, use a `def`
|
|
"E741", # Ambiguous variable name
|
|
# pyflakes
|
|
"F403", # `from ... import *` used; unable to detect undefined names
|
|
"F405", # may be undefined, or defined from star imports
|
|
"F821", # Undefined name
|
|
"F841", # Local variable is assigned to but never used
|
|
# pyupgrade
|
|
"UP015", # Unnecessary mode argument
|
|
]
|
|
|
|
[lint.per-file-ignores]
|
|
"_tempita.py" = ["B909", "RUF012"]
|
|
"bench_*.py" = ["B015", "B018", "RUF012"]
|
|
"test*.py" = ["B015", "B018", "E201", "E714", "RUF012"]
|
|
|
|
"numpy/_core/_add_newdocs.py" = ["E501"]
|
|
"numpy/_core/_add_newdocs_scalars.py" = ["E501"]
|
|
"numpy/f2py/*py" = ["E501"]
|
|
"numpy*pyi" = ["E501"]
|
|
# "useless assignments" aren't so useless when you're testing that they don't make type checkers scream
|
|
"numpy/typing/tests/data/*" = ["B015", "B018", "E501"]
|
|
# too disruptive to enable all at once
|
|
"**/*.py" = ["Q"]
|
|
|
|
"__init__.py" = ["F401"]
|
|
"__init__.pyi" = ["F401"]
|
|
"numpy/_core/umath.py" = ["F401"]
|
|
"numpy/matlib.pyi" = ["F811"]
|
|
|
|
[lint.flake8-builtins]
|
|
builtins-allowed-modules = ["random", "typing"]
|
|
|
|
[lint.flake8-import-conventions.extend-aliases]
|
|
"numpy" = "np"
|
|
"numpy.typing" = "npt"
|
|
|
|
[lint.isort]
|
|
# these are treated as stdlib within .pyi stubs
|
|
extra-standard-library = ["_typeshed", "typing_extensions"]
|
|
known-first-party = ["numpy"]
|
|
combine-as-imports = true
|
|
split-on-trailing-comma = false
|