Calum Young
03f141f53d
Check that all rules have descriptions ( #4315 )
2023-05-09 16:53:23 +00:00
Charlie Marsh
d3b71f1e04
Run autofix on initial watcher pass ( #4311 )
2023-05-09 12:35:32 -04:00
Mikko Leppänen
04e8e74499
Feat: detect changes also in configuration files ( #4169 )
2023-05-09 16:22:52 +00:00
konstin
318653c427
Write diagnostic name when failing to create fix ( #4309 )
2023-05-09 17:46:40 +02:00
Micha Reiser
99a755f936
Add `schemars` feature ( #4305 )
2023-05-09 16:15:18 +02:00
Aurelio Jargas
e7dfb35778
UP011: Fix typo in rule description ( #4306 )
2023-05-09 08:49:15 -04:00
Dhruv Manilawala
085fd37209
Preserve whitespace around `ListComp` brackets in `C419` ( #4099 )
2023-05-09 08:43:05 +02:00
Charlie Marsh
83536cf87b
Ignore `TRY301` exceptions without except handlers ( #4301 )
2023-05-09 03:38:02 +00:00
Charlie Marsh
9366eb919d
Specify exact command in incorrect parentheses suggestion ( #4300 )
2023-05-09 02:21:54 +00:00
Charlie Marsh
8be51942dd
Use `ruff_python_semantic` abstract utility in flake8-pytest-style ( #4299 )
2023-05-08 22:12:28 -04:00
Charlie Marsh
d365dab904
Include static and class methods in in abstract decorator list ( #4298 )
2023-05-08 21:54:02 -04:00
Charlie Marsh
f23851130a
Add `flynt` to documentation ( #4295 )
2023-05-09 00:52:41 +00:00
Aarni Koskela
efdf383f5e
Implement Flynt static string join transform as FLY002 ( #4196 )
2023-05-08 20:46:38 -04:00
Charlie Marsh
61f21a6513
Rewrite `not not a` as `bool(a)` in boolean contexts ( #4294 )
2023-05-08 23:38:24 +00:00
Charlie Marsh
c54e48dce5
Avoid panics for f-string rewrites at start-of-file ( #4291 )
2023-05-08 19:44:57 +00:00
Charlie Marsh
b913e99bde
Explicitly support ASCII-only for capitalization checks ( #4290 )
2023-05-08 15:41:11 -04:00
Dhruv Manilawala
4ac506526b
Avoid `D403` if first char cannot be uppercased ( #4283 )
2023-05-08 15:33:24 -04:00
Calum Young
cd41de2588
Check docs formatting check ( #4270 )
2023-05-08 19:03:22 +00:00
Dhruv Manilawala
3344d367f5
Avoid fixing `PD002` in a lambda expression ( #4286 )
2023-05-08 18:24:27 +00:00
Aarni Koskela
d7a369e7dc
Update confusable character mapping ( #4274 )
2023-05-08 14:20:44 -04:00
Jonathan Plasse
1b1788c8ad
Fix replace_whitespace() tabulation to space ( #4226 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2023-05-08 12:03:04 +00:00
Micha Reiser
4d5a339d9e
Remove `Fix::from(Edit)` and add deprecated replacement methods to `Diagnostic`s ( #4275 )
2023-05-08 10:25:50 +00:00
Zanie Adkins
0801f14046
Refactor `Fix` and `Edit` API ( #4198 )
2023-05-08 11:57:03 +02:00
Trevor McCulloch
3beff29026
[`pylint`] Implement `nested-min-max` (`W3301`) ( #4200 )
2023-05-07 03:14:14 +00:00
Jerome Leclanche
5ac2c7d293
Add .git-rewrite folder to default ignored folder paths ( #4261 )
2023-05-06 22:40:38 -04:00
Charlie Marsh
e66fdb83d0
Respect insertion location when importing symbols ( #4258 )
2023-05-07 02:32:40 +00:00
Charlie Marsh
a95bafefb0
Fix `RET504` example in docs ( #4260 )
2023-05-06 16:56:52 -04:00
Charlie Marsh
539af34f58
Add a utility method to detect top-level state ( #4259 )
2023-05-06 20:24:27 +00:00
Charlie Marsh
983bb31577
Remove `RefEquality` usages from `Context` ( #4257 )
2023-05-06 15:55:14 -04:00
Charlie Marsh
b98b604071
Remove some deferred `&Stmt` references ( #4256 )
2023-05-06 18:42:35 +00:00
Charlie Marsh
cd27b39aff
Re-order some code in scope.rs ( #4255 )
2023-05-06 16:36:20 +00:00
Charlie Marsh
a9fc648faf
Use `NodeId` for `Binding` source ( #4234 )
2023-05-06 16:20:08 +00:00
Charlie Marsh
c1f0661225
Replace `parents` statement stack with a `Nodes` abstraction ( #4233 )
2023-05-06 16:12:41 +00:00
Dhruv Manilawala
2c91412321
Consider Flask app logger as logger candidate ( #4253 )
2023-05-06 11:31:10 -04:00
Charlie Marsh
11e1380df4
Bump version to 0.0.265 ( #4248 )
2023-05-05 13:16:05 -04:00
Micha Reiser
e93f378635
Refactor whitespace around operator ( #4223 )
2023-05-05 09:37:56 +02:00
Micha Reiser
2124feb0e7
Fail lint tests if the fix creates a syntax error ( #4202 )
2023-05-05 07:59:33 +02:00
Charlie Marsh
c0e7269b07
Update doc defaults for `section-order` ( #4232 )
2023-05-04 21:35:27 +00:00
Chris Chan
c2921e957b
[`pylint`] Implement import-self (`W0406`) ( #4154 )
2023-05-04 16:05:15 -04:00
Charlie Marsh
93cfce674a
Ignore __debuggerskip__ in unused variable checks ( #4229 )
2023-05-04 15:45:49 -04:00
Charlie Marsh
b71cc3789f
Change `--fix-only` exit semantics to mirror `--fix` ( #4146 )
2023-05-04 19:03:15 +00:00
Zanie Adkins
717128112d
Fix panic in pydocstyle D214 when docstring indentation is empty ( #4216 )
2023-05-04 14:42:34 -04:00
Arya Kumar
e9e194ab32
[`flake8-pyi`] Implement `PYI042` and `PYI043` ( #4214 )
2023-05-04 14:35:26 -04:00
Calum Young
890e630c41
Allow linking to individual rules ( #4158 )
2023-05-04 13:43:53 -04:00
Aaron Cunningham
d78287540d
Update B027 to support autofixing ( #4178 )
2023-05-04 16:36:32 +00:00
Charlie Marsh
494e807315
Add space when joining rule codes for debug messages ( #4225 )
2023-05-04 15:34:34 +00:00
Tom Kuson
6db1a32eb9
Add docs for PLC rules ( #4224 )
2023-05-04 10:56:00 -04:00
Dhruv Manilawala
bb2cbf1f25
End of statement insertion should occur after newline ( #4215 )
2023-05-04 16:17:41 +02:00
konstin
badfdab61a
Show rule codes on autofix failure ( #4220 )
2023-05-04 15:25:07 +02:00
Dhruv Manilawala
59d40f9f81
Show settings path in `--show-settings` output ( #4199 )
2023-05-04 08:22:31 +02:00
Arya Kumar
37aae666c7
[flake8-pyi] PYI020 ( #4211 )
2023-05-03 22:37:32 -04:00
Leiser Fernández Gallo
460023a959
Fix era panic caused by out of bound edition ( #4206 )
2023-05-03 15:48:43 +02:00
Aarni Koskela
d0e3ca29d9
Print out autofix-broken or non-converging code when debugging ( #4201 )
2023-05-03 13:50:03 +02:00
Micha Reiser
b14358fbfe
Render tabs as 4 spaces in diagnostics ( #4132 )
2023-05-02 13:14:02 +00:00
wookie184
ac600bb3da
Warn on PEP 604 syntax not in an annotation, but don't autofix ( #4170 )
2023-05-01 23:49:20 -07:00
Charlie Marsh
8cb76f85eb
Bump version to 0.0.264 ( #4179 )
2023-05-01 23:33:38 -07:00
Charlie Marsh
56c45013c2
Allow boolean parameters for `pytest.param` ( #4176 )
2023-05-02 01:07:50 +00:00
Calum Young
a4ce746892
Reference related settings in rules ( #4157 )
2023-05-02 00:59:00 +00:00
Calum Young
2d6d51f3a1
Add `flake8-return` docs ( #4164 )
2023-05-02 00:53:46 +00:00
Jonathan Plasse
814731364a
Fix UP032 auto-fix ( #4165 )
2023-04-30 16:57:41 -04:00
Jonathan Plasse
8c97e7922b
Fix F811 false positive with match ( #4161 )
2023-04-30 14:39:45 -04:00
Charlie Marsh
64b7280eb8
Respect parent-scoping rules for `NamedExpr` assignments ( #4145 )
2023-04-29 22:45:30 +00:00
Evan Rittenhouse
8d64747d34
Remove `pyright` comment prefix from PYI033 checks ( #4152 )
2023-04-29 18:41:04 -04:00
Charlie Marsh
2115d99c43
Remove `ScopeStack` in favor of child-parent `ScopeId` pointers ( #4138 )
2023-04-29 18:23:51 -04:00
Calum Young
39ed75f643
Document `flake8-unused-arguments` ( #4147 )
2023-04-29 19:17:50 +00:00
Calum Young
8f61eae1e7
Add remaining `pep8-naming` docs ( #4149 )
2023-04-29 15:13:10 -04:00
Calum Young
f0f4bf2929
Move typos to pre-commit config ( #4148 )
2023-04-29 12:13:35 -04:00
Calum Young
03144b2fad
Document `flake8-commas` ( #4142 )
2023-04-29 03:24:15 +00:00
Calum Young
0172cc51a7
Document `flake8-print` ( #4144 )
2023-04-29 03:19:00 +00:00
Calum Young
12d64a223b
Document RUF100 ( #4141 )
2023-04-28 22:14:15 +00:00
Charlie Marsh
432ea6f2e2
Tweak rule documentation for `B008` ( #4137 )
2023-04-28 01:29:03 +00:00
Evan Rittenhouse
b34804ceb5
Make D410/D411 autofixes mutually exclusive ( #4110 )
2023-04-28 01:24:35 +00:00
Moritz Sauter
ee6d8f7467
Add bugbear immutable functions as allowed in dataclasses ( #4122 )
2023-04-27 21:23:06 -04:00
Dhruv Manilawala
089b64e9c1
Autofix `EM101`, `EM102`, `EM103` if possible ( #4123 )
2023-04-27 18:53:27 +00:00
Tom Kuson
3e81403fbe
Add pygrep-hooks documentation ( #4131 )
2023-04-27 18:33:07 +00:00
Charlie Marsh
3c9f5e2fdc
Preserve star-handling special-casing for force-single-line ( #4129 )
2023-04-27 00:02:17 -04:00
Micha Reiser
17db2e2a62
Fix B023 shadowed variables in nested functions ( #4111 )
2023-04-26 22:01:31 +01:00
Micha Reiser
e04ef42334
Use `memchr` to speedup newline search on x86 ( #3985 )
2023-04-26 20:15:47 +01:00
Micha Reiser
f3e6ddda62
perf(logical-lines): Various small perf improvements ( #4022 )
2023-04-26 20:10:35 +01:00
Micha Reiser
cab65b25da
Replace row/column based `Location` with byte-offsets. ( #3931 )
2023-04-26 18:11:02 +00:00
Charlie Marsh
ee91598835
Tweak `--show-fixes` documentation ( #4117 )
2023-04-26 15:15:56 +00:00
Dhruv Manilawala
b9c06b48e1
Document that `--diff` implies `--fix-only` ( #4098 )
2023-04-25 21:19:44 -06:00
Charlie Marsh
7266eb0d69
Add support for providing command-line arguments via `argfile` ( #4087 )
2023-04-25 17:58:21 -06:00
Jonathan Plasse
4df7bc0bcd
Fix `E713` and `E714` false positives for multiple comparisons ( #4083 )
2023-04-25 11:37:56 -06:00
Charlie Marsh
fd7ccb4c9e
Bump version to 0.0.263 ( #4086 )
2023-04-24 23:32:29 -06:00
Evan Rittenhouse
ae6f38344a
Unify positional and keyword arguments when checking for missing arguments in docstring ( #4067 )
2023-04-25 05:32:15 +00:00
Trevor McCulloch
bbf658d4c5
[`pylint`] Implement PLE0302 `unexpected-special-method-signature` ( #4075 )
2023-04-25 04:51:21 +00:00
Jonathan Plasse
1f3b0fd602
Fix `SIM222` and `SIM223` false positives and auto-fix ( #4063 )
2023-04-25 04:44:02 +00:00
Dhruv Manilawala
37483f3ac9
Ignore `ClassVar` annotation for `RUF008`, `RUF009` ( #4081 )
2023-04-24 23:58:30 +00:00
Jonathan Plasse
5e91211e6d
Add `in_boolean_test` to `Context` ( #4072 )
2023-04-23 23:18:23 -06:00
Jonathan Plasse
df77595426
Move `Truthiness` into `ruff_python_ast` ( #4071 )
2023-04-24 04:54:31 +00:00
Charlie Marsh
407af6e0ae
Avoid infinite-propagation of inline comments when force-splitting imports ( #4074 )
2023-04-23 22:39:51 -06:00
Dhruv Manilawala
d64146683e
Increment priority should be (branch-local, global) ( #4070 )
2023-04-23 00:04:15 -06:00
Charlie Marsh
0e7914010f
Misc. small clean-up of `flake8-import-conventions` rules ( #4069 )
2023-04-23 04:57:15 +00:00
Edgar R. M
cfc7d8a2b5
[`flake8-import-conventions`] Implement new rule `ICN003` to ban `from ... import ...` for selected modules ( #4040 )
2023-04-23 04:40:36 +00:00
Tom Kuson
f5cd659292
Add docs for `tryceratops` rules ( #4042 )
2023-04-23 04:35:56 +00:00
Charlie Marsh
260138b427
Use `Context` for pep8-naming helpers ( #4068 )
2023-04-22 18:44:54 -04:00
Jonathan Plasse
2da149fd7e
Ignore `N815` for `TypedDict` fields ( #4066 )
2023-04-22 18:17:14 -04:00
Micha Reiser
e33887718d
Use Rust 1.69 ( #4065 )
2023-04-22 23:04:17 +01:00
Micha Reiser
ba4f4f4672
Upgrade dependencies ( #4064 )
2023-04-22 18:04:01 +01:00
Alan Du
82abbc7234
[`flake8-bugbear`] Add pytest.raises(Exception) support to `B017` ( #4052 )
2023-04-21 03:43:01 +00:00
Dhruv Manilawala
ba98149022
Avoid `RUF008` if field annotation is immutable ( #4039 )
2023-04-20 16:02:12 -04:00
Dhruv Manilawala
7fd44a3e12
Avoid `PYI015` for valid default value without annotation ( #4043 )
2023-04-20 15:45:47 -04:00
Evan Rittenhouse
6e8d561090
Support --fix in watch mode ( #4035 )
2023-04-19 23:33:12 -04:00
Charlie Marsh
eed6866b7e
Add relative-path tests for `banned-api` ( #4033 )
2023-04-19 16:04:22 -04:00
Charlie Marsh
25a6bfa9ee
Bump version to 0.0.262 ( #4032 )
2023-04-19 15:49:28 -04:00
Charlie Marsh
b3f8f2a5c1
Remove TODO in `handle_node_store` ( #4031 )
2023-04-19 15:28:56 -04:00
Charlie Marsh
cc8b5a543b
Ignore stub file assignments to value-requiring targets ( #4030 )
2023-04-19 15:26:00 -04:00
Charlie Marsh
10d5415bcb
Ignore certain flake8-pyi errors within function bodies ( #4029 )
2023-04-19 15:10:29 -04:00
Charlie Marsh
827cbe7f97
Treat non-future function annotations as required-at-runtime ( #4028 )
2023-04-19 14:43:55 -04:00
Charlie Marsh
0d84517fbc
Use module path resolver for relative autofix ( #4027 )
2023-04-19 14:43:45 -04:00
Charlie Marsh
7fa1da20fb
Support relative imports in `banned-api` enforcement ( #4025 )
2023-04-19 14:30:13 -04:00
Francesco Nuzzo
f13a161ead
remove unnecessary f-string formatting ( #4026 )
2023-04-19 18:14:33 +00:00
Charlie Marsh
c4cda301aa
Ignore relative imports in `banned-api` rules ( #4024 )
2023-04-19 13:30:08 -04:00
Charlie Marsh
13fda30051
Refactor `flake8_tidy_imports` rules to consistently take `Checker` ( #4023 )
2023-04-19 16:42:15 +00:00
Micha Reiser
a3146ab1ca
Fix (doc-)line-too-long start location ( #4006 )
2023-04-19 08:42:28 +02:00
Micha Reiser
c0cf87356e
Set non-empty range for indentation diagnostics ( #4005 )
2023-04-18 16:26:13 +02:00
Charlie Marsh
6c038830a8
Ignore argument assignments when enforcing `RET504` ( #4004 )
2023-04-18 03:22:38 +00:00
Charlie Marsh
064a293b80
Fix defaults for section-order ( #4003 )
2023-04-18 03:00:17 +00:00
Charlie Marsh
79c47e29ee
Avoid short-circuiting when detecting RET rules ( #4002 )
2023-04-17 22:52:26 -04:00
Charlie Marsh
be87a29a9d
Respect typing-modules when evaluating no-return functions ( #4001 )
2023-04-17 20:25:44 +00:00
Micha Reiser
280dffb5e1
Add parser benchmark ( #3990 )
2023-04-17 16:43:59 +02:00
Tom Kuson
516cb10000
Add more documentation for `flake8-type-checking` ( #3994 )
2023-04-17 09:51:54 -04:00
Charlie Marsh
1cdd5e3424
Remove autofix behavior for uncapitalized-environment-variables (`SIM112`) ( #3988 )
2023-04-16 23:19:05 +00:00
Dhruv Manilawala
bd78c6ade2
Preserve type annotations when fixing `E731` ( #3983 )
2023-04-16 23:15:38 +00:00
Dhruv Manilawala
5ce35faa86
Do not consider nested comment as part of code ( #3984 )
2023-04-16 19:11:01 -04:00
Charlie Marsh
c457752f36
Redirect `PIE802` to `C419` ( #3971 )
2023-04-13 22:12:32 -04:00
Charlie Marsh
289289bfd3
Implement `unnecessary-literal-within-dict-call` (`C418`) ( #3969 )
2023-04-14 01:39:35 +00:00
Charlie Marsh
d8718dcf54
Remove extraneous debug and TODO ( #3967 )
2023-04-13 18:45:18 -04:00
Charlie Marsh
fb9eeba422
Move user-defined section validation into `Settings` ( #3966 )
2023-04-13 22:40:05 +00:00
Paul
2d2630ef07
Implement isort custom sections and ordering ( #2419 ) ( #3900 )
2023-04-13 21:28:22 +00:00
Charlie Marsh
1f22e035e3
Add 'or if cond' to `E712` message ( #3962 )
2023-04-13 19:02:23 +00:00
Rob Young
a6a7584d79
Implement `flake8-bandit` shell injection rules ( #3924 )
2023-04-13 14:45:27 -04:00
Charlie Marsh
ffac4f6ec3
Ignore assert errors (S101) in `TYPE_CHECKING` blocks ( #3960 )
2023-04-13 18:20:44 +00:00
Dhruv Manilawala
032a84b167
Check for parenthesis in implicit str concat in `PT006` ( #3955 )
2023-04-13 17:56:18 +00:00
Charlie Marsh
3357aaef4b
Add docs for assert rule (S101) ( #3959 )
2023-04-13 13:43:00 -04:00
Charlie Marsh
e160a52bfd
Raise percent-format upgrade rule (`UP031`) for hanging modulos ( #3953 )
2023-04-12 23:59:20 -04:00
Charlie Marsh
9067ae47d1
Allow `typing_extensions.TypeVar` assignments in `.pyi` files ( #3951 )
2023-04-12 17:30:15 -04:00
Charlie Marsh
1e2df07544
Use identifier range for pytest rules ( #3948 )
2023-04-12 15:28:25 +00:00
USER-5
860841468c
[`flake8-pyi`] Implement duplicate types in unions (`PYI016`) ( #3922 )
2023-04-12 04:06:09 +00:00
Charlie Marsh
ed4ecc3255
Remove unused import ( #3944 )
2023-04-12 03:55:38 +00:00
Charlie Marsh
b999e4b1e2
Allow users to extend the set of included files via `include` ( #3914 )
2023-04-11 23:39:43 -04:00
Charlie Marsh
8ce227047d
Tidy up some `pygrep-hooks` rules ( #3942 )
2023-04-12 03:35:15 +00:00
Daniel Stancl
523515f936
[`flake8-import-conventions`] Add a rule for `BannedImportAlias` ( #3926 )
2023-04-12 03:29:24 +00:00
Charlie Marsh
10da3bc8dd
Support `pyright: ignore` comments ( #3941 )
2023-04-12 03:10:29 +00:00
Charlie Marsh
eb0dd74040
Avoid adding required imports to stub files ( #3940 )
2023-04-11 22:31:20 -04:00
Micha Reiser
61200d2171
lint snapshots: Use filename only to avoid platform specific separators ( #3930 )
2023-04-11 11:40:51 +02:00
Micha Reiser
e8aebee3f6
Pretty print `Diagnostic`s in snapshot tests ( #3906 )
2023-04-11 09:03:00 +00:00
Micha Reiser
210083bdd8
Order `Edit`s by `Location`s ( #3905 )
2023-04-11 08:56:41 +00:00
Micha Reiser
c33c9dc585
Introduce SourceFile to avoid cloning the message filename ( #3904 )
2023-04-11 08:28:55 +00:00
Micha Reiser
056c212975
Render code frame with context ( #3901 )
2023-04-11 10:22:11 +02:00
Micha Reiser
381203c084
Store source code on message ( #3897 )
2023-04-11 07:57:36 +00:00
Micha Reiser
76c47a9a43
Cheap cloneable LineIndex ( #3896 )
2023-04-11 07:33:40 +00:00
Micha Reiser
9209e57c5a
Extract message emitters from Printer ( #3895 )
2023-04-11 07:24:25 +00:00
Leiser Fernández Gallo
333f1bd9ce
Extend SIM105 to match also 'Ellipsis only' bodies in exception handlers ( #3925 )
2023-04-10 09:55:02 -04:00
Leiser Fernández Gallo
002caadf9e
[`flake8-simplify`] Add autofix for `contextlib.suppress` (`SIM105`) ( #3915 )
2023-04-09 22:45:19 +00:00
Dhruv Manilawala
311ba29d0f
Do not skip analysis if `*args` present for `F523` ( #3923 )
2023-04-09 18:34:52 -04:00
Dhruv Manilawala
237a64d922
Check for arguments in inner/outer call for `C414` ( #3916 )
2023-04-09 18:33:11 -04:00
Moritz Sauter
d4af2dd5cf
[`ruff`] Add checks for mutable defaults in `dataclass`es ( #3877 )
2023-04-09 02:46:28 +00:00
Charlie Marsh
a36ce585ce
Remove `extract_path_names` helper ( #3920 )
2023-04-08 11:14:42 -04:00
Charlie Marsh
29ec6df24f
Avoid N802 violations for `@override` methods ( #3912 )
2023-04-08 03:11:50 +00:00
Evan Rittenhouse
abaf0a198d
Ensure that tab characters aren't in multi-line strings before throwing a violation ( #3837 )
2023-04-06 22:25:40 -04:00
konstin
cae5503e34
[`pylint`] Fix unicode handling in `PLE2515` ( #3898 )
2023-04-06 13:54:52 -04:00
Dhruv Manilawala
34e9786a41
Visit comprehension to detect group name usage/overrides ( #3887 )
2023-04-05 18:03:11 -04:00
Dhruv Manilawala
5467d45dfa
Ignore `PLW2901` when using typing cast ( #3891 )
2023-04-05 18:02:32 -04:00
Charlie Marsh
ac87137c1c
Avoid printing docs on cargo dev generate-all ( #3890 )
2023-04-05 14:18:33 -04:00
Charlie Marsh
e0bccfd2d9
Allow legacy C and T selectors in JSON schema ( #3889 )
2023-04-05 17:58:36 +00:00
Tom Kuson
7b6e55a2e0
Add documentation for `flake8-type-checking` ( #3886 )
2023-04-05 17:30:25 +00:00
Charlie Marsh
255b094b33
Bump version to 0.0.261 ( #3881 )
2023-04-04 22:31:01 -04:00
Dhruv Manilawala
b6155232ac
Consider logger candidate from `logging` module only ( #3878 )
2023-04-04 19:52:57 +00:00
kyoto7250
390d7dcf39
Supports more cases in `SIM112` ( #3876 )
2023-04-04 15:49:24 -04:00
Charlie Marsh
d919adc13c
Introduce a `ruff_python_semantic` crate ( #3865 )
2023-04-04 16:50:47 +00:00
kyoto7250
46bcb1f725
[`flake8-simplify`] Implement `dict-get-with-none-default` (`SIM910`) ( #3874 )
2023-04-04 03:52:10 +00:00
Dhruv Manilawala
2b21effa77
fixup! Support mutually exclusive branches for `B031` ( #3844 ) ( #3875 )
2023-04-03 23:34:11 -04:00
Chris Chan
10504eb9ed
Generate `ImportMap` from module path to imported dependencies ( #3243 )
2023-04-04 03:31:37 +00:00
Dhruv Manilawala
76e111c874
Support mutually exclusive branches for `B031` ( #3844 )
2023-04-04 02:33:17 +00:00
Charlie Marsh
60f6a8571a
Allow starred arguments in B030 ( #3871 )
2023-04-03 23:20:34 +00:00
Charlie Marsh
f4173b2a93
Move shadow tracking into `Scope` directly ( #3854 )
2023-04-03 15:33:44 -04:00
Charlie Marsh
449e08ed08
Rename `autofix::helpers` to `autofix::actions` ( #3866 )
2023-04-03 13:34:49 -04:00
Charlie Marsh
5625410936
Remove `uses_magic_variable_access` dependence on `Checker` ( #3864 )
2023-04-03 12:22:06 -04:00
Charlie Marsh
3744e9ab3f
Remove `contains_effect`'s dependency on `Context` ( #3855 )
2023-04-03 12:08:13 -04:00
Nazia Povey
849091d846
When checking module visibility, don't check entire ancestry ( #3835 )
2023-04-03 11:38:41 -04:00
Ran Benita
d2f2544f6e
flake8-pyi: fix PYI015 false positive on assignment of TypeVar & friends ( #3861 )
2023-04-03 11:28:46 -04:00
Charlie Marsh
25771cd4b9
Use references for `Export` binding type ( #3853 )
2023-04-03 15:26:42 +00:00
Charlie Marsh
924bebbb4a
Change "indexes" to "indices" in various contexts ( #3856 )
2023-04-02 23:08:03 +00:00
Charlie Marsh
08e5b3fa61
Make `collect_call_path` return an `Option` ( #3849 )
2023-04-01 22:29:32 -04:00
Charlie Marsh
d822e08111
Move `CallPath` into its own module ( #3847 )
2023-04-01 11:25:04 -04:00
Charlie Marsh
2f90157ce2
Move logging resolver into `logging.rs` ( #3843 )
2023-04-01 03:50:44 +00:00
Charlie Marsh
88308ef9cc
Move `Binding` structs out of `scope.rs` ( #3842 )
2023-03-31 23:49:48 -04:00
Charlie Marsh
6d80c79bac
Combine `operations.rs` and `helpers.rs` ( #3841 )
2023-04-01 03:40:34 +00:00
Charlie Marsh
2fbc620ad3
Move `__all__` utilities to `all.rs` ( #3840 )
2023-04-01 03:31:15 +00:00
Charlie Marsh
27e40e9b31
Remove `helpers.rs` dependency on `Binding` ( #3839 )
2023-04-01 03:19:45 +00:00
Charlie Marsh
b6276e2d95
Move f-string identification into rule module ( #3838 )
2023-03-31 23:10:11 -04:00
Charlie Marsh
66d72b1c7b
Move keyword checks into `is_identifier` ( #3834 )
2023-03-31 16:56:33 -04:00
Jonathan Plasse
968c7df770
Fix `is_module_name()` and improve perf of `is_identifier()` ( #3795 )
2023-03-31 15:15:36 -04:00
Jonathan Plasse
fe38597279
Fix `SIM222` and `SIM223` false positive ( #3832 )
2023-03-31 14:50:35 -04:00
Micha Reiser
48d8680e71
Ambiguous unicode, only test unicode characters ( #3814 )
2023-03-31 18:03:00 +01:00
Charlie Marsh
82584ad101
Extend `unncessary-generator-any-all` to set comprehensions ( #3824 )
2023-03-31 16:29:25 +00:00
Charlie Marsh
dfc872c9a0
Track star imports on `Scope` directly ( #3822 )
2023-03-31 15:01:12 +00:00
Charlie Marsh
cf7e1ddd08
Remove some `usize` references ( #3819 )
2023-03-30 17:35:42 -04:00
Charlie Marsh
9de1f82658
Avoid `unnecessary-comprehension-any-all` for async generators ( #3823 )
2023-03-30 18:43:59 +00:00
Charlie Marsh
54ad9397e5
Flag non-`Name` expressions in `duplicate-isinstance-call` ( #3817 )
2023-03-30 12:19:53 -04:00
Jonathan Plasse
29c8b75fd4
Ignore `collapsible-if` violations for `if False:` and `if True:` ( #3732 )
2023-03-30 15:52:43 +00:00
Charlie Marsh
0b586d5451
Use `panic` instead of `unreachable` for invalid arguments ( #3816 )
2023-03-30 15:40:53 +00:00
Charlie Marsh
01357f62e5
Add import insertion support to autofix capabilities ( #3787 )
2023-03-30 15:33:46 +00:00
Micha Reiser
d7113d3995
refactor: `StateMachine` use `match` statement ( #3811 )
2023-03-30 15:55:54 +02:00
Charlie Marsh
f79506f5a4
Move some generic structs out of `isort` ( #3788 )
2023-03-30 08:58:01 -04:00
Dhruv Manilawala
44ae3237b8
Additional simple magic return types ( #3805 )
2023-03-30 08:57:49 -04:00
konstin
f4cda31708
Use crates.io version of pep440_rs ( #3812 )
...
* Use crates.io version of pep440_rs
* Update Cargo.lock
2023-03-30 12:47:07 +00:00
Charlie Marsh
4328448a2f
Use multi-fix semantics for `inplace` removal ( #3804 )
2023-03-30 00:16:43 +00:00
Charlie Marsh
88298759ce
Misc. follow-up changes to #3802 ( #3803 )
2023-03-29 19:18:36 -04:00
Charlie Marsh
3c0e789b19
Improve robustness of argument removal for `encode` calls ( #3802 )
2023-03-29 23:07:13 +00:00
Charlie Marsh
8601dcc09b
Add import name resolution to `Context` ( #3777 )
2023-03-29 21:47:50 +00:00
Charlie Marsh
134fdd1609
Remove star-import handling from `sys-exit-alias` ( #3776 )
2023-03-29 21:33:50 +00:00
Charlie Marsh
2e6eddc7bd
Improve top-of-file insertions for required imports ( #3779 )
2023-03-29 21:25:39 +00:00
Jonathan Plasse
cb588d1d6d
Allow `TID252` to fix all valid module paths ( #3796 )
2023-03-29 15:13:12 -04:00
Charlie Marsh
9d3b8eb67b
Bump version to v0.0.260 ( #3799 )
2023-03-29 14:51:50 -04:00
Andy Freeland
7d962bf80c
[`flake8-bugbear`] Allow `pathlib.Path()` in `B008` ( #3794 )
2023-03-29 15:42:43 +00:00
Micha Reiser
595cd065f3
Reduce explcit clones ( #3793 )
2023-03-29 15:15:14 +02:00
Anže Starič
b6f1fed424
[`isort`]: support submodules in known_(first|third)_party config options ( #3768 )
2023-03-29 03:53:38 +00:00
Jonathan Plasse
5501fc9572
Exempt return with side effects for TRY300 ( #3780 )
2023-03-28 19:52:05 -04:00
Leiser Fernández Gallo
224e85c6d7
Implement `flake8-gettext` ( #3785 )
2023-03-28 23:32:02 +00:00
Charlie Marsh
f322bcd2bd
Minor nits on reference names ( #3786 )
2023-03-28 22:18:19 +00:00
Charlie Marsh
22d5b0071d
Rename `end_of_statement` to `end_of_last_statement` ( #3775 )
2023-03-28 12:31:06 -04:00
Charlie Marsh
990b378c4d
Set parents even in same-line cases ( #3773 )
2023-03-28 12:09:30 -04:00
Charlie Marsh
e88fbae926
Use import alias locations for `pep8-naming` import rules ( #3772 )
2023-03-28 11:41:23 -04:00
Charlie Marsh
81de3a16bc
Include `with` statements in complexity calculation ( #3771 )
2023-03-28 15:20:22 +00:00
Andy Freeland
bfecf684ce
[`flake8-bugbear`] Add more immutable functions for `B008` ( #3764 )
2023-03-28 10:50:05 -04:00
konstin
756e9956a2
Fix `cargo test --doc` ( #3766 )
2023-03-28 11:36:07 +00:00
Micha Reiser
f68c26a506
perf(pycodestyle): Initialize Stylist from tokens ( #3757 )
2023-03-28 11:53:35 +02:00
Micha Reiser
000394f428
perf(pycodestyle): Introduce TokenKind ( #3745 )
2023-03-28 11:22:39 +02:00
Micha Reiser
2fdf98ef4e
perf(pycodestyle): Refactor checks to iterate over tokens insteadof text ( #3736 )
2023-03-28 10:37:13 +02:00
Micha Reiser
1d724b1495
perf(pycodestyle): Remove regex captures ( #3735 )
2023-03-28 09:50:34 +02:00
Micha Reiser
113a8b8fda
perf(pycodestyle): Reduce allocations when computing logical lines ( #3715 )
2023-03-28 09:09:27 +02:00
Charlie Marsh
c3917eab38
Revert "Implement `flake8-i18n` ( #3741 )" ( #3765 )
2023-03-27 21:14:38 +00:00
JBLDSKY
0eb5a22dd1
[`flake8-pyi`] Implement `PYI012` ( #3743 )
2023-03-27 18:27:24 +00:00
Charlie Marsh
450c6780ff
Avoid `useless-import alias` (`C0414`) in `.pyi` files ( #3761 )
2023-03-27 18:27:03 +00:00
Leiser Fernández Gallo
5cb120327c
Implement `flake8-i18n` ( #3741 )
2023-03-27 18:03:39 +00:00
trag1c
8dbffb576d
Removed unnecessary pipe escape ( #3760 )
2023-03-27 13:49:47 -04:00
Charlie Marsh
31fff4b10e
Disallow some restriction lints ( #3754 )
2023-03-26 23:20:20 +00:00
Jonathan Plasse
2326335f5c
Improve performance of statistics ( #3751 )
2023-03-26 18:46:44 -04:00
Charlie Marsh
6ed6da3e82
Move `fix::FixMode` to `flags::FixMode` ( #3753 )
2023-03-26 21:40:06 +00:00
Jonathan Plasse
cd75b57036
Sort statistics by count ( #3748 )
2023-03-26 16:45:35 -04:00
Charlie Marsh
e603382cf0
Allow diagnostics to generate multi-edit fixes ( #3709 )
2023-03-26 16:45:19 -04:00
Charlie Marsh
32be63fd1e
Avoid overlong-line errors for lines that end with URLs ( #3663 )
2023-03-26 18:17:35 +00:00
Jonathan Plasse
d594179275
Fix `SIM222` and `SIM223` false negatives ( #3740 )
2023-03-26 18:09:11 +00:00
Agriya Khetarpal
c0befb4670
Use `wild::args()` and add `wild` as a dependency ( #3739 )
2023-03-26 14:32:45 +00:00
Charlie Marsh
a66481ed28
Rename setter methods on `Diagnostic` ( #3738 )
2023-03-26 10:28:30 -04:00
Charlie Marsh
5c7898124f
Traverse over nested string type annotations ( #3724 )
2023-03-25 21:56:09 -04:00
Jonathan Plasse
50a7916e84
[`pydocstyle`] Implement autofix for `D403` ( #3731 )
2023-03-25 19:21:45 +00:00
Dhruv Manilawala
2659336ed1
Add support for `.log(level, msg)` calls in `flake8-logging-format` ( #3726 )
2023-03-25 15:55:53 +00:00
Jonathan Plasse
8ac7584756
[`flake8-pyi`] Implement `PYI015` ( #3728 )
2023-03-25 15:48:11 +00:00
Jonathan Plasse
4a1740a4c4
[`flake8-pyi`] Add autofix for `PYI014` ( #3729 )
2023-03-25 15:41:11 +00:00
Charlie Marsh
2083134a96
Rename `Fix` to `Edit` ( #3702 )
2023-03-24 19:29:14 -04:00
Charlie Marsh
c721eedc37
Remove `'b` lifetime from `Checker` ( #3723 )
2023-03-24 21:42:18 +00:00
Dhruv Manilawala
c1d89d8c93
[`flake8-bugbear`]: Implement rule `B031` ( #3680 )
2023-03-24 17:26:11 -04:00
Dhruv Manilawala
63adf9f5e8
Allow aliased `logging` module as a logger candidate ( #3718 )
2023-03-24 17:19:09 -04:00
Micha Reiser
7af83460ce
Use unicode-width to determine line-length instead of character count ( #3714 )
2023-03-24 17:17:05 -04:00
Jonathan Plasse
dc4d7619ee
Add `Diagnostic.try_amend()` to simplify error handling ( #3701 )
2023-03-24 17:10:11 -04:00
Jonathan Plasse
1bac206995
Revert "Replace `logical_lines` feature with `debug_assertions` ( #3648 )" ( #3708 )
2023-03-23 23:42:56 -04:00
Jonathan Plasse
efc6e8cb39
Exempt `PLR1711` and `RET501` if non-`None` annotation ( #3705 )
2023-03-24 03:11:58 +00:00
Jonathan Plasse
7da06b9741
Allow simple container literals as default values ( #3703 )
2023-03-23 22:51:36 -04:00
Charlie Marsh
0f95056f13
Avoid panics for implicitly concatenated forward references ( #3700 )
2023-03-23 19:13:50 -04:00
Charlie Marsh
028329854b
Avoid parsing f-strings in type annotations ( #3699 )
2023-03-23 18:51:44 -04:00
Charlie Marsh
ba43d6bd0b
Avoid parsing `ForwardRef` contents as type references ( #3698 )
2023-03-23 18:44:02 -04:00
Charlie Marsh
e8d17d23cb
Expand the scope of useless-expression (B018) ( #3455 )
2023-03-23 18:33:58 -04:00
Jonathan Plasse
aea925a898
Fix SIM118 auto-fix ( #3695 )
2023-03-23 17:14:56 -04:00
Charlie Marsh
f58345dee3
Bump version to v0.0.259 ( #3691 )
2023-03-23 14:52:42 -04:00
Charlie Marsh
71c0da27bb
Avoid nested loops in missing_whitespace ( #3688 )
2023-03-23 14:18:59 -04:00
Charlie Marsh
8a2d1a3029
Respect all rule-exemption sources when suppressing parser errors ( #3665 )
2023-03-23 13:36:48 -04:00
Micha Reiser
6161e56ea4
Fix RuleSet.remove ( #3685 )
2023-03-23 17:01:37 +00:00
Charlie Marsh
189c9d4683
Add dedicated structs for `BindingKind` variants ( #3672 )
2023-03-22 19:08:48 -04:00
Charlie Marsh
615887a7fe
Bump version to v0.0.258 ( #3671 )
2023-03-22 15:02:57 -04:00
Charlie Marsh
07808a58f2
Refactor out common exemption-parsing logic ( #3670 )
2023-03-22 15:02:07 -04:00
Ran Benita
fe568c08d2
isort: fix bad interaction between `force-sort-within-sections` and `force-to-top` ( #3645 )
2023-03-22 14:00:00 -04:00
Charlie Marsh
7741d43ae5
Allow `pairwise` diagnostics for `zip(..., strict=True)` ( #3669 )
2023-03-22 13:03:43 -04:00
Charlie Marsh
1b3e54231c
Flag, but don't fix, unused imports in `ModuleNotFoundError` blocks ( #3658 )
2023-03-22 13:03:30 -04:00
Charlie Marsh
3a8e98341b
Enable autofix for annotations within 'simple' string literals ( #3657 )
2023-03-22 12:45:51 -04:00
kyoto7250
8593739f88
Check indentation level when executing `E231` ( #3668 )
2023-03-22 12:32:00 -04:00
Charlie Marsh
242dd3dae1
Rename remaining `use-*` rules ( #3661 )
2023-03-22 11:36:01 -04:00
Charlie Marsh
875f61cb62
Rename `pathlib` rules to match updated naming convention ( #3660 )
2023-03-22 11:35:45 -04:00
Dhruv Manilawala
9e61956711
[`flake8-django`]: Implement rule DJ012 ( #3659 )
2023-03-22 03:07:58 +00:00
Jonathan Plasse
5eae3fbbfb
Avoid `RUF007` fixes for more than two arguments ( #3654 )
2023-03-21 22:17:31 +00:00
Colin Delahunty
41e38ffa98
[`flake8-bandit`]: Implement deny-list rules for suspicious member calls ( #3239 )
2023-03-21 15:11:52 -04:00
Charlie Marsh
27903cdb11
Replace `logical_lines` feature with `debug_assertions` ( #3648 )
2023-03-21 12:16:41 -04:00
Charlie Marsh
3b1709ba1e
Avoid attempting infinite open fix with re-bound builtin ( #3650 )
2023-03-21 15:32:31 +00:00
Dhruv Manilawala
33394e4a69
docs: all `flake8-comprehension` rules ( #3631 )
2023-03-21 14:28:19 +00:00
Charlie Marsh
7b9bdc494a
Consider same-site fixes to be overlapping ( #3638 )
2023-03-21 10:09:47 -04:00
Micha Reiser
f59a22b6e5
Remove unused dependencies ( #3644 )
2023-03-21 11:02:41 +01:00
Jonathan Plasse
b5edc6dfc9
Add autofix functionality for `F523` ( #3613 )
2023-03-21 03:55:23 +00:00
Charlie Marsh
626169e2ef
Avoid raising PEP 604 errors with forward-referenced members ( #3640 )
2023-03-20 23:49:41 -04:00
Charlie Marsh
e9f359ac5e
Convert single-argument %-style format calls ( #3600 )
2023-03-21 03:35:10 +00:00
Jacob Latonis
318c2c80e2
`pylint`: Implement `binary-op-exception` (`PLW0711`) ( #3639 )
2023-03-21 03:33:40 +00:00
Jonathan Plasse
22a4ab51f9
Handle `UP032` autofix with adjacent keywords ( #3636 )
2023-03-21 00:17:45 +00:00
Jonathan Plasse
f70a49ed8b
Add autofix for magic methods (`ANN204`) ( #3633 )
2023-03-20 19:19:20 -04:00
Charlie Marsh
f039bf36a2
Avoid trimming escaped whitespace in D210 ( #3635 )
2023-03-20 17:17:42 -04:00
Jonathan Plasse
169dd72328
Fix TRY300 false positive ( #3634 )
2023-03-20 20:55:28 +00:00
Jonathan Plasse
fd39ec4bdd
Merge Availability and AutofixKind ( #3629 )
2023-03-20 16:45:33 +00:00
Charlie Marsh
7c0f17279c
Flag PEP 585 and PEP 604 violations in quoted annotations ( #3593 )
2023-03-20 11:15:44 -04:00
konstin
81d0884974
Add basic jupyter notebook support ( #3440 )
...
* Add basic jupyter notebook support behind a feature flag
* Address review comments
* Rename in separate commit to make both git and clippy happy
* cfg(feature = "jupyter_notebook") another test
* Address more review comments
* Address more review comments
* and clippy and windows
* More review comment
2023-03-20 12:06:01 +01:00