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
Jacob Latonis
a45753f462
[`pylint`]: Implement `assert-on-string-literal` (`W0129`) ( #3610 )
2023-03-19 23:45:51 -04:00
Zhengbo Wang
b08326162b
Doc/CLN: pass pre-commit ( #3604 )
2023-03-19 19:20:11 +00:00
Dhruv Manilawala
3a65af4dae
feat: update C416 with dict comprehension (autofixable) ( #3605 )
2023-03-19 18:37:28 +00:00
Ville Lindholm
474aa0b196
Fix infinite loop due to rules `D207` & `W605` ( #3609 )
2023-03-19 18:29:13 +00:00
Charlie Marsh
4892167217
Avoid panics for implicitly-concatenated docstrings ( #3584 )
...
## Summary
In the rare event that a docstring contains an implicit string concatenation, we currently have the potential to panic, because we assume that if a string starts with triple quotes, it _ends_ with triple quotes. But with implicit concatenation, that's not the case: a single `Expr` could start and end with different quote styles, because it can contain multiple string tokens.
Supporting these "properly" is pretty hard. In some cases it's hard to even know what the "right" behavior is. So for now, I'm just detecting and warning, which is better than a panic.
Closes #3543 .
Closes #3585 .
2023-03-19 14:16:50 -04:00
Micha Reiser
a5494b8541
Bitflag based RuleSet ( #3606 )
2023-03-19 17:09:06 +01:00
Micha Reiser
9ac9a1c69e
Gracefully handle lint panics ( #3509 )
2023-03-19 17:08:38 +01:00
Rogdham
f06dff8af8
Change broken links in README to beta.ruff.rs ( #3607 )
2023-03-19 15:17:44 +00:00
Charlie Marsh
fe7443ce2f
Use `any_enabled` in AST checker ( #3601 )
2023-03-19 10:44:33 -04:00
Charlie Marsh
4ffcd8366a
Rename a variety of rules to match updated conventions ( #3283 )
2023-03-18 17:35:59 -04:00
Charlie Marsh
dfb772c6f1
Avoid removing comment hash for noqa's with trailing content ( #3589 )
2023-03-18 18:48:52 +00:00
Jonathan Plasse
c21eb06922
Fix D417 false positive ( #3596 )
2023-03-18 13:14:03 -04:00
Charlie Marsh
fa04861724
Check exclusions prior to resolving `pyproject.toml` files ( #3588 )
2023-03-18 13:12:49 -04:00
Charlie Marsh
0c4926ff7b
Bump version to v0.0.257 ( #3591 )
2023-03-17 22:34:10 -04:00
tomecki
61653b9f27
[`pylint`] Implement `useless-return` (`R1711`) ( #3116 )
2023-03-17 18:30:32 -04:00
Charlie Marsh
8dd3959e74
Update output in `resources/test/project/README.md` ( #3587 )
2023-03-17 21:51:03 +00:00