..
airflow
[`airflow`] Extend `AIR311` rules ( #17422 )
2025-04-16 12:40:15 -04:00
control-flow-graph
[`pylint`] Fix `unreachable` infinite loop (`PLW0101`) ( #15278 )
2025-01-08 09:45:04 -06:00
eradicate
[`eradicate`] Correctly handle metadata blocks directly followed by normal blocks (`ERA001`) ( #15330 )
2025-01-07 16:22:22 -05:00
fastapi
[`FastAPI`] Update `Annotated` fixes (`FAST002`) ( #15462 )
2025-01-15 13:05:53 -05:00
filesystem
Rename `ruff` crate to `ruff_linter` ( #7529 )
2023-09-20 08:38:27 +02:00
flake8_2020
Rename `ruff` crate to `ruff_linter` ( #7529 )
2023-09-20 08:38:27 +02:00
flake8_annotations
[ruff 0.8] [`flake8-annotations`] Remove deprecated rules ANN101 and ANN102 ( #14384 )
2024-11-20 13:11:51 +01:00
flake8_async
[`flake8-async`] allow async generators (`ASYNC100`) ( #13639 )
2024-10-07 07:25:54 -05:00
flake8_bandit
[`flake8-bandit`] Mark `str` and `list[str]` literals as trusted input (`S603`) ( #17136 )
2025-04-02 11:22:37 -04:00
flake8_blind_except
Respect logged and re-raised expressions in nested statements ( #11301 )
2024-05-05 21:52:09 -04:00
flake8_boolean_trap
FBT001: exclude boolean operators ( #14203 )
2024-11-10 22:40:37 +00:00
flake8_bugbear
[`flake8-bugbear`] Exempt `NewType` calls where the original type is immutable (`B008`) ( #15765 )
2025-01-29 10:26:17 +00:00
flake8_builtins
[flake8-builtins] Ignore variables matching module attribute names (A001) ( #16454 )
2025-03-03 11:10:23 +01:00
flake8_commas
Enable token-based rules on source with syntax errors ( #11950 )
2024-07-02 08:57:46 +00:00
flake8_comprehensions
[flake8-comprehensions]: Handle trailing comma in C403 fix ( #16110 )
2025-02-15 11:45:41 -06:00
flake8_datetimez
[`flake8-datetime`] Ignore `.replace()` calls while looking for `.astimezone` ( #16050 )
2025-02-09 15:48:59 +00:00
flake8_debugger
[`flake8-debugger`] Also flag `sys.breakpointhook` and `sys.__breakpointhook__` (`T100`) ( #16191 )
2025-02-16 14:50:16 -05:00
flake8_django
[`flake8-django`] Recognize other magic methods (`DJ012`) ( #15365 )
2025-01-09 14:36:42 +01:00
flake8_errmsg
Allow `EM` fixes even if `msg` variable is defined ( #9059 )
2023-12-08 15:16:15 -06:00
flake8_executable
[`flake8-executables`] Allow `uv run` in shebang line for `shebang-missing-python` (`EXE003`) ( #16849 )
2025-03-19 10:35:07 -05:00
flake8_fixme
Fix TODO directive out of bounds acccess ( #13756 )
2024-10-15 10:49:53 +02:00
flake8_future_annotations
Avoid flagging `__future__` annotations as required for non-evaluated type annotations ( #11414 )
2024-05-21 18:57:13 +00:00
flake8_gettext
Rename `ruff` crate to `ruff_linter` ( #7529 )
2023-09-20 08:38:27 +02:00
flake8_implicit_str_concat
[`flake8-implicit-str-concat`] Normalize octals before merging concatenated strings in `single-line-implicit-string-concatenation` (`ISC001`) ( #13118 )
2024-08-27 18:53:27 +01:00
flake8_import_conventions
[flake8-import-conventions] Add import `numpy.typing as npt` to default `flake8-import-conventions.aliases` ( #17133 )
2025-04-02 09:25:46 +02:00
flake8_logging
[`flake8-logging`] `.exception()` and `exc_info=` outside exception handlers (`LOG004`, `LOG014`) ( #15799 )
2025-02-04 09:52:12 +01:00
flake8_logging_format
Include inline instantiations when detecting loggers ( #11154 )
2024-04-25 21:00:12 -04:00
flake8_no_pep420
Skip namespace package enforcement for PEP 723 scripts ( #13974 )
2024-10-29 02:11:31 +00:00
flake8_pie
[`flake8-pie`] Avoid false positive for multiple assignment with `auto()` (`PIE796`) ( #17274 )
2025-04-08 15:53:27 -04:00
flake8_print
Rename `ruff` crate to `ruff_linter` ( #7529 )
2023-09-20 08:38:27 +02:00
flake8_pyi
[`flake8-pyi`] Mark `PYI030` fix unsafe when comments are deleted ( #16322 )
2025-02-23 21:22:14 +00:00
flake8_pytest_style
[`flake8-pytest-style`] Avoid false positive for legacy form of `pytest.raises` (`PT011`) ( #17231 )
2025-04-08 09:24:47 +02:00
flake8_quotes
Add semantic model flag when inside f-string replacement field ( #10766 )
2024-04-04 09:08:48 +05:30
flake8_raise
Avoid false-positives for parens-on-raise with futures.exception() ( #10206 )
2024-03-03 00:28:51 +00:00
flake8_return
[`flake8-return`] Recognize functions returning `Never` as non-returning (`RET503`) ( #15298 )
2025-01-07 07:57:34 +00:00
flake8_self
[`flake8-self`] Ignore attribute accesses on instance-like variables (`SLF001`) ( #16149 )
2025-02-23 10:00:49 +00:00
flake8_simplify
Exempt unittest context methods for SIM115 rule ( #16439 )
2025-02-28 16:29:50 +00:00
flake8_slots
Avoid recommending `__slots__` for classes that inherit from more than `namedtuple` ( #12531 )
2024-07-26 14:24:40 +00:00
flake8_tidy_imports
Rename `ruff` crate to `ruff_linter` ( #7529 )
2023-09-20 08:38:27 +02:00
flake8_todos
[`flake8-todos`] Allow VSCode GitHub PR extension style links in `missing-todo-link` (`TD003`) ( #15519 )
2025-01-15 23:47:33 +00:00
flake8_type_checking
Consider all `TYPE_CHECKING` symbols for type-checking blocks ( #16669 )
2025-03-13 15:37:37 +01:00
flake8_unused_arguments
Consider `__new__` methods as special function type for enforcing class method or static method rules ( #13305 )
2025-02-16 14:12:25 -06:00
flake8_use_pathlib
[`flake8-bandit`] Check for `builtins` instead of `builtin` (`S102`, `PTH123`) ( #15443 )
2025-01-12 19:45:31 -05:00
flynt
Rename `ruff` crate to `ruff_linter` ( #7529 )
2023-09-20 08:38:27 +02:00
isort
enforce required imports even with useless alias ( #14287 )
2024-11-14 15:39:38 -06:00
mccabe
Rename `ruff` crate to `ruff_linter` ( #7529 )
2023-09-20 08:38:27 +02:00
numpy
Ignore `NPY201` inside `except` blocks for compatibility with older numpy versions ( #12490 )
2024-07-24 20:03:23 +00:00
pandas_vet
Limit inplace diagnostics to methods that accept inplace ( #9495 )
2024-01-12 14:12:54 -05:00
pep8_naming
[`pep8-naming`] Consider any number of leading underscore for `N801` ( #15988 )
2025-02-06 14:08:27 +05:30
perflint
[`perflint`] Implement fix for `manual-dict-comprehension` (`PERF403`) ( #16719 )
2025-04-18 13:10:40 -04:00
pycodestyle
[pycodestyle] Exempt `site.addsitedir(...)` calls (E402) ( #16251 )
2025-02-19 14:31:47 +01:00
pydoclint
Fix typos found by codespell ( #14863 )
2024-12-09 09:32:12 +00:00
pydocstyle
[`pydocstyle`] Handle arguments with the same names as sections (`D417`) ( #16011 )
2025-02-11 12:05:29 -05:00
pyflakes
Add new rule RUF059: Unused unpacked assignment ( #16449 )
2025-03-03 10:51:36 +01:00
pygrep_hooks
Respect per-file ignores for blanket and redirected noqa rules ( #11728 )
2024-06-04 03:57:59 +00:00
pylint
[`pylint`] Make fix unsafe if it deletes comments (`PLR1730`) ( #17459 )
2025-04-18 12:49:01 -04:00
pyupgrade
[`pyupgrade`] Do not offer fix when at least one target is `global`/`nonlocal` (`UP028`) ( #16451 )
2025-03-04 11:28:01 +01:00
refurb
[`refurb`] Mark the `FURB161` fix unsafe except for integers and booleans ( #17240 )
2025-04-18 13:46:01 -04:00
ruff
Fix RUF100 to detect unused file-level noqa directives with specific codes ( #17042 ) ( #17061 )
2025-04-07 09:21:52 -05:00
syntax_errors
[syntax-errors] `return` outside function ( #17300 )
2025-04-11 17:05:54 +00:00
tryceratops
Recode `TRY302` to `TRY203` ( #13502 )
2024-10-17 16:35:12 +01:00
__init__.py
[`pylint`] (Re-)Implement `import-private-name` (`C2701`) ( #9553 )
2024-01-16 14:03:11 -05:00