..
airflow
[`airflow`] extend deprecated argument `concurrency` in `airflow..DAG` (`AIR301`) ( #21220 )
2025-11-03 15:20:20 -05:00
control-flow-graph
[`pylint`] Fix `unreachable` infinite loop (`PLW0101`) ( #15278 )
2025-01-08 09:45:04 -06:00
eradicate
Don't flag `pyrefly` pragmas as unused code (`ERA001`) ( #19731 )
2025-08-04 10:15:37 +02:00
fastapi
[`fastapi`] Handle ellipsis defaults in FAST002 autofix (`FAST002`) ( #20810 )
2025-10-21 02:47:13 +00: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
[`flake8-annotations`] Fix return type annotations to handle shadowed builtin symbols (`ANN201`, `ANN202`, `ANN204`, `ANN205`, `ANN206`) ( #20612 )
2025-10-02 22:44:06 +00:00
flake8_async
[`flake8-async`] Implement `blocking-path-method` (`ASYNC240`) ( #20264 )
2025-09-23 08:30:47 -04:00
flake8_bandit
[`flake8-bandit`] Support new PySNMP API paths (`S508`, `S509`) ( #21374 )
2025-11-19 15:03:23 -05:00
flake8_blind_except
[`flake8-blind-except`] Fix `BLE001` false-positive on `raise ... from None` ( #19755 )
2025-08-13 13:01:47 -04:00
flake8_boolean_trap
FBT001: exclude boolean operators ( #14203 )
2024-11-10 22:40:37 +00:00
flake8_bugbear
[`flake8-bugbear`] Mark fix as unsafe for non-NFKC attribute names (`B009`, `B010`) ( #21131 )
2025-11-03 14:45:23 +00:00
flake8_builtins
[`flake8-bultins`] Detect class-scope builtin shadowing in decorators, default args, and attribute initializers (`A003`) ( #20178 )
2025-09-22 18:12:45 -04:00
flake8_commas
Track t-strings and f-strings for token-based rules and suppression comments ( #20357 )
2025-09-12 13:00:12 -05:00
flake8_comprehensions
[`flake8-comprehensions`] Preserve trailing commas for single-element lists (`C409`) ( #19571 )
2025-09-19 09:27:14 -04: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`] Apply `DJ001` to annotated fields ( #20907 )
2025-10-27 09:19:15 +01:00
flake8_errmsg
[`flake8-errmsg`] Exclude `typing.cast` from `EM101` ( #19656 )
2025-08-01 13:37:44 -04:00
flake8_executable
[`flake8-executable`] Allow `uvx` in shebang line (`EXE003`) ( #18967 )
2025-06-30 09:38:18 -04:00
flake8_fixme
Fix TODO directive out of bounds acccess ( #13756 )
2024-10-15 10:49:53 +02:00
flake8_future_annotations
[`ruff`] Extend FA102 with listed PEP 585-compatible APIs ( #20659 )
2025-10-03 09:45:32 -04:00
flake8_gettext
[`flake8-gettext`] Resolve qualified names and built-in bindings (`INT001`, `INT002`, `INT003`) ( #19045 )
2025-10-20 18:24:55 -04:00
flake8_implicit_str_concat
[`flake8-implicit-str-concat`] Avoid invalid fix generated by autofix (`ISC003`) ( #21517 )
2025-11-21 17:22:35 -08: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`] Avoid false positive for `exc_info=True` outside `logger.exception` (`LOG014`) ( #18737 )
2025-06-20 14:43:08 -04:00
flake8_logging_format
[`flake8-logging-format`] Avoid dropping implicitly concatenated pieces in the `G004` fix ( #20793 )
2025-10-09 18:14:38 -04:00
flake8_no_pep420
Skip namespace package enforcement for PEP 723 scripts ( #13974 )
2024-10-29 02:11:31 +00:00
flake8_pie
Fix F701 to F707 errors in tests ( #19125 )
2025-07-04 13:43:18 -05:00
flake8_print
Rename `ruff` crate to `ruff_linter` ( #7529 )
2023-09-20 08:38:27 +02:00
flake8_pyi
[`flake8-pyi`] Fix PYI034 to not trigger on metaclasses (`PYI034`) ( #20881 )
2025-10-24 13:40:26 +00:00
flake8_pytest_style
Less confidently mark f-strings as empty when inferring truthiness ( #20152 )
2025-08-29 22:12:54 +00:00
flake8_quotes
Implement template strings ( #17851 )
2025-05-30 15:00:56 -05:00
flake8_raise
[`flake8-raise`] Make fix unsafe if it deletes comments (`RSE102`) ( #18788 )
2025-06-21 19:09:40 +02:00
flake8_return
[`flake8-return`] Fix false-positive for variables used inside nested functions in `RET504` ( #18433 )
2025-07-10 16:10:22 -04:00
flake8_self
[`flake8-self`] Ignore attribute accesses on instance-like variables (`SLF001`) ( #16149 )
2025-02-23 10:00:49 +00:00
flake8_simplify
[`flake8-simplify`] Apply `SIM113` when index variable is of type `int` ( #21395 )
2025-11-12 17:54:39 +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
[`flake8-type-checking`] Fix `TC003` false positive with `future-annotations` ( #21125 )
2025-10-30 14:14:29 -04:00
flake8_unused_arguments
Add t-string fixtures for rules that do not need to be modified ( #19146 )
2025-07-14 09:46:31 -05:00
flake8_use_pathlib
[`flake8-use-pathlib`] Fix `PTH101`, `PTH104`, `PTH105`, `PTH121` fixes ( #20143 )
2025-09-18 14:17:54 +00:00
flynt
[`flynt`] Fix f-string quoting for mixed quote joiners (`FLY002`) ( #20662 )
2025-10-03 09:15:57 -04:00
isort
[`isort`] Fix inserting required imports before future imports (`I002`) ( #20676 )
2025-10-06 13:40:36 +00: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`] Fix `N802` false positives for `CGIHTTPRequestHandler` and `SimpleHTTPRequestHandler` ( #19432 )
2025-07-23 12:04:11 -04:00
perflint
[`perflint`] Handle tuples in dictionary comprehensions (`PERF403`) ( #19934 )
2025-08-28 21:37:40 +00:00
pycodestyle
[`pycodestyle`] Fix `E301` to only trigger for functions immediately within a class ( #19768 )
2025-09-16 11:00:07 -04:00
pydoclint
[`pydoclint`] Fix false positive when Sphinx directives follow Raises section (`DOC502`) ( #20535 )
2025-11-12 21:37:55 +00:00
pydocstyle
[`pydoclint`] Fix `SyntaxError` from fixes with line continuations (`D201`, `D202`) ( #19246 )
2025-07-14 13:31:36 -04:00
pyflakes
[`pyflakes`] Fix false positive for `__class__` in lambda expressions within class definitions (`F821`) ( #20564 )
2025-10-24 10:07:19 -04:00
pygrep_hooks
[`pygrep_hooks`] Add `AsyncMock` methods to `invalid-mock-access` (`PGH005`) ( #18547 )
2025-06-24 17:27:21 -04:00
pylint
[`pylint`] Fix suppression for empty dict without tuple key annotation (`PLE1141`) ( #21290 )
2025-11-21 22:07:18 +00:00
pyupgrade
[`pyupgrade`] Fix false positive on relative imports from local `.builtins` module (`UP029`) ( #21309 )
2025-11-07 16:01:52 +00:00
refurb
[`refurb`] Fix `FURB103` autofix ( #21454 )
2025-11-16 09:32:41 +01:00
ruff
[`ruff`] Catch more dummy variable uses (`RUF052`) ( #19799 )
2025-11-21 12:57:02 -05:00
semantic_errors
[semantic error tests]: refactor semantic error tests to separate files ( #20926 )
2025-10-27 21:18:11 +00:00
syntax_errors
[syntax-errors] Detect `yield from` inside async function ( #20051 )
2025-09-03 10:13:05 -04: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