Charlie Marsh
0b471197dc
Extract lower-level edit utility from autofix module ( #4737 )
2023-05-31 16:50:54 +00:00
Charlie Marsh
399eb84d5e
Add a `ruff_textwrap` crate ( #4731 )
2023-05-31 16:35:23 +00:00
qdegraaf
2b2812c4f2
Add PYI024 for `flake8-pyi` plugin ( #4756 )
2023-05-31 16:07:04 +00:00
Charlie Marsh
9d0ffd33ca
Move universal newline handling into its own crate ( #4729 )
2023-05-31 12:00:47 -04:00
Micha Reiser
e209b5fc5f
Add reformat check ( #4753 )
2023-05-31 17:36:15 +02:00
Alex Fikl
c1286d61df
Ignore __setattr__ in FBT003 ( #4752 )
2023-05-31 10:36:19 -04:00
Micha Reiser
6c1ff6a85f
Upgrade RustPython ( #4747 )
2023-05-31 08:26:35 +00:00
Micha Reiser
06bcb85f81
formatter: Remove CST and old formatting ( #4730 )
2023-05-31 08:27:23 +02:00
Charlie Marsh
d7a4999915
Flag empty strings in flake8-errmsg rules ( #4745 )
2023-05-31 04:37:43 +00:00
Charlie Marsh
d4e54cff05
Make organize imports an automatic edit ( #4744 )
2023-05-31 04:29:04 +00:00
Charlie Marsh
e1b6f6e57e
Refactor `flake8-type-checking` rules to take `Checker` ( #4739 )
2023-05-30 22:51:44 +00:00
Charlie Marsh
50053f60f3
Rename top-of-file to start-of-file ( #4735 )
2023-05-30 21:53:36 +00:00
Charlie Marsh
a4f73ea8c7
Remove unused `getrandom` dependency ( #4734 )
2023-05-30 14:34:20 -04:00
Charlie Marsh
f47a517e79
Enable callers to specify import-style preferences in `Importer` ( #4717 )
2023-05-30 16:46:19 +00:00
Charlie Marsh
ea31229be0
Track `TYPE_CHECKING` blocks in `Importer` ( #4593 )
2023-05-30 16:18:10 +00:00
Charlie Marsh
0854543328
Use a custom error type for symbol-import results ( #4688 )
2023-05-30 09:19:31 -04:00
Micha Reiser
0cd453bdf0
Generic "comment to node" association logic ( #4642 )
2023-05-30 09:28:01 +00:00
Micha Reiser
84a5584888
Add `Comments` data structure ( #4641 )
2023-05-30 08:54:55 +00:00
Micha Reiser
6146b75dd0
Add `MultiMap` implementation for storing comments ( #4639 )
2023-05-30 09:51:25 +02:00
Micha Reiser
236074fdde
testing_macros: Add missing `full` feature to `syn` dependency ( #4722 )
2023-05-30 07:42:06 +00:00
Charlie Marsh
e323bb015b
Move `fixable` checks into patch blocks ( #4721 )
2023-05-30 02:09:30 +00:00
Charlie Marsh
80fa3f2bfa
Add a convenience method to check if a name is bound ( #4718 )
2023-05-30 01:52:41 +00:00
Charlie Marsh
1846d90bbd
Rename the `flake8-future-annotations` rules ( #4716 )
2023-05-29 23:00:08 +00:00
Aarni Koskela
0106bce02f
[`flake8-future-annotations`] Implement `FA102` ( #4702 )
2023-05-29 22:41:45 +00:00
Charlie Marsh
2695d0561a
Add ability to generate snapshot tests on code snippets ( #4714 )
2023-05-29 18:36:12 -04:00
Charlie Marsh
5f715417e0
Remove redundant test descriptions from `#test_case` macros ( #4713 )
2023-05-29 18:23:56 -04:00
Charlie Marsh
6e096f216a
Fix docs formatting for `iter-method-returns-iterable` ( #4712 )
2023-05-29 21:34:42 +00:00
Justin Prieto
d0ad4be20e
[`flake8-pyi`] Implement `PYI045` ( #4700 )
2023-05-29 21:27:13 +00:00
Julian LaNeve
6425fe8c12
Update option anchors to include group name ( #4711 )
2023-05-29 17:26:10 -04:00
Julian LaNeve
68db74b3c5
Add AIR001: task variable name should be same as task_id arg ( #4687 )
2023-05-29 03:25:06 +00:00
Charlie Marsh
9646bc7d7f
Add docs to clarify project root heuristics ( #4697 )
2023-05-29 02:50:35 +00:00
Julian LaNeve
5756829344
markdownlint: enforce 100 char max length ( #4698 )
2023-05-28 22:45:56 -04:00
qdegraaf
0911ce4cbc
[`flake8-pyi`] Add `PYI032` rule with autofix ( #4695 )
2023-05-28 22:41:15 +00:00
Tom Kuson
51f04ee6ef
Add more Pyflakes docs ( #4689 )
2023-05-28 22:29:03 +00:00
Charlie Marsh
dbeadd99a8
Remove impossible states from version-comparison representation ( #4696 )
2023-05-28 22:08:40 +00:00
Dhruv Manilawala
79b35fc3cc
Handle dotted alias imports to check for implicit imports ( #4685 )
2023-05-27 23:58:03 -04:00
Jonathan Plasse
9f16ae354e
Fix UP036 auto-fix error ( #4679 )
2023-05-28 03:37:22 +00:00
Charlie Marsh
9741f788c7
Remove globals table from `Scope` ( #4686 )
2023-05-27 22:35:20 -04:00
Jonathan Plasse
901060fa96
Fix PLW3301 false positive single argument nested min/max ( #4683 )
2023-05-27 15:34:55 -04:00
Charlie Marsh
f069eb9e3d
Fix `async for` formatting ( #4675 )
2023-05-27 02:53:33 +00:00
Tom Kuson
fe72bde23c
Add Pylint string formatting rule docs ( #4638 )
2023-05-27 02:47:14 +00:00
Chris Chan
1268ddca92
Implement Pylint's `yield-inside-async-function` rule (`PLE1700`) ( #4668 )
2023-05-27 01:14:41 +00:00
Charlie Marsh
af433ac14d
Avoid using typing-imported symbols for runtime edits ( #4649 )
2023-05-26 20:36:37 -04:00
qdegraaf
ccca11839a
Allow more immutable funcs for RUF009 ( #4660 )
2023-05-26 15:18:52 -04:00
Micha Reiser
33a7ed058f
Create `PreorderVisitor` trait ( #4658 )
2023-05-26 06:14:08 +00:00
qdegraaf
52deeb36ee
Implement PYI048 for `flake8-pyi` plugin ( #4645 )
2023-05-25 20:04:14 +00:00
Charlie Marsh
0f610f2cf7
Remove dedicated ScopeKind structs in favor of AST nodes ( #4648 )
2023-05-25 19:31:02 +00:00
Evan Rittenhouse
741e180e2d
Change TODO directive detection to work with multiple pound signs on the same line ( #4558 )
2023-05-25 16:51:45 +02:00
konstin
b6a382eeaf
Lint pyproject.toml ( #4496 )
...
This adds a new rule `InvalidPyprojectToml` that lints pyproject.toml by checking if https://github.com/PyO3/pyproject-toml-rs can parse it. This means the linting is currently very basic, e.g. we don't check whether the name is actually a valid python project name or appropriately normalized. It does catch errors e.g. with invalid dependency requirements or problems withs the license specifications. It is open to be extended in the future (validate name, SPDX expressions, classifiers, ...), either in ruff or in pyproject-toml-rs.
Test plan:
```
scripts/ecosystem_all_check.sh check --select RUF200
```
This lead to a bunch of
```
RUF200 Failed to parse pyproject.toml: missing field `name`
```
(e.g. https://github.com/amitsk/fastapi-todos/blob/main/pyproject.toml ) which is indeed invalid (https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#specification ).
Filtering those out, the following other problems were found by `cd target/ecosystem_all_results/ && rg RUF200`:
```
UCL-ARC:rred-reports.stdout.txt
1:pyproject.toml:27:16: RUF200 Failed to parse pyproject.toml: Version specifier `>='3.9'` doesn't match PEP 440 rules
EndlessTrax:python-start-project.stdout.txt
1:pyproject.toml:14:16: RUF200 Failed to parse pyproject.toml: Expected package name starting with an alphanumeric character, found '#'
redjax:gardening-api.stdout.txt
1:pyproject.toml:7:11: RUF200 Failed to parse pyproject.toml: Version `` doesn't match PEP 440 rules
ajslater:codex.stdout.txt
2: 3:17 RUF200 Failed to parse pyproject.toml: invalid type: sequence, expected a string
LDmitriy7:404_AvatarsBot.stdout.txt
1:pyproject.toml:3:11: RUF200 Failed to parse pyproject.toml: Version `` doesn't match PEP 440 rules
ajslater:comicbox.stdout.txt
1:pyproject.toml:3:17: RUF200 Failed to parse pyproject.toml: invalid type: sequence, expected a string
manueldevillena:forecast-earnings.stdout.txt
1:pyproject.toml:24:12: RUF200 Failed to parse pyproject.toml: Expected one of `@`, `(`, `<`, `=`, `>`, `~`, `!`, `;`, found `^`
redjax:ohio_utility_scraper.stdout.txt
1:pyproject.toml:11:11: RUF200 Failed to parse pyproject.toml: Version `` doesn't match PEP 440 rules
agronholm:typeguard.stdout.txt
1:pyproject.toml:40:8: RUF200 Failed to parse pyproject.toml: Expected a valid marker name, found 'python_implementation'
cyuss:decathlon-turnover.stdout.txt
1:pyproject.toml:7:12: RUF200 Failed to parse pyproject.toml: invalid type: string "Youcef", expected a table with 'name' and 'email' keys
ajslater:boilerplate.stdout.txt
1:pyproject.toml:3:17: RUF200 Failed to parse pyproject.toml: invalid type: sequence, expected a string
kaparoo:lightning-project-template.stdout.txt
1:pyproject.toml:56:16: RUF200 Failed to parse pyproject.toml: You can't mix a >= operator with a local version (`+cu117`)
dijital20:pytexas2023-decorators.stdout.txt
1:pyproject.toml:5:11: RUF200 Failed to parse pyproject.toml: Version `` doesn't match PEP 440 rules
pfouque:django-anymail-history.stdout.txt
1:pyproject.toml:137:12: RUF200 Failed to parse pyproject.toml: Version specifier `> = 1.2.0` doesn't match PEP 440 rules
pfouque:django-fakemessages.stdout.txt
1:pyproject.toml:130:12: RUF200 Failed to parse pyproject.toml: Version specifier `> = 1.2.0` doesn't match PEP 440 rules
pypa:build.stdout.txt
1:tests/packages/test-invalid-requirements/pyproject.toml:2:12: RUF200 Failed to parse pyproject.toml: Expected one of `@`, `(`, `<`, `=`, `>`, `~`, `!`, `;`, found `i`
4:tests/packages/test-no-requires/pyproject.toml:1:1: RUF200 Failed to parse pyproject.toml: missing field `requires`
UnoYakshi:FRAAND.stdout.txt
2: 3:11 RUF200 Failed to parse pyproject.toml: Version `` doesn't match PEP 440 rules
DHolmanCoding:python-template.stdout.txt
1:pyproject.toml:22:1: RUF200 Failed to parse pyproject.toml: missing field `requires`
```
Overall, this emitted errors in 43 out of 3408 projects (`rg -c RUF200 target/ecosystem_all_results/ | wc -l`)
Co-authored-by: Micha Reiser <micha@reiser.io>
2023-05-25 12:05:28 +00:00
qdegraaf
050350527c
Add autofix for PYI010 ( #4634 )
2023-05-24 22:17:44 +00:00
Charlie Marsh
c9b39e31fc
Use class name as range for `B024` ( #4647 )
2023-05-24 22:16:13 +00:00
bersbersbers
28a5e607b4
Docs: mention `task-tags` option in two rules ( #4644 )
2023-05-24 16:31:41 -04:00
Micha Reiser
09c50c311c
Testing Macros: Add `extra-traits` feature ( #4643 )
2023-05-24 17:14:58 +00:00
Charlie Marsh
f4572fe40b
Bump version to 0.0.270 ( #4637 )
2023-05-24 16:34:29 +00:00
Sladyn
8c9215489e
Migrate flake8_bugbear rules to `unspecified` to `suggested` ( #4616 )
2023-05-24 16:16:33 +00:00
qdegraaf
dcd2bfaab7
Migrate flake8_pie autofix rules from `unspecified` to `suggested` and `automatic` ( #4621 )
2023-05-24 16:08:22 +00:00
Charlie Marsh
f0e173d9fd
Use `BindingId` copies in lieu of `&BindingId` in semantic model methods ( #4633 )
2023-05-24 15:55:45 +00:00
Micha Reiser
edc6c4058f
Move `shared_traits` to `ruff_formatter` ( #4632 )
2023-05-24 17:38:11 +02:00
Jonathan Plasse
4233f6ec91
Update to the new rule architecture ( #4589 )
2023-05-24 11:30:40 -04:00
Charlie Marsh
fcdc7bdd33
Remove separate `ReferenceContext` enum ( #4631 )
2023-05-24 15:12:38 +00:00
Micha Reiser
86ced3516b
Introduce `SourceCodeSlice` to reduce the size of `FormatElement` ( #4622 )
...
Introduce `SourceCodeSlice` to reduce the size of `FormatElement`
2023-05-24 15:04:52 +00:00
Micha Reiser
6943beee66
Remove source position from `FormatElement::DynamicText` ( #4619 )
2023-05-24 16:36:14 +02:00
Micha Reiser
85f094f592
Improve `Message` sorting performance ( #4624 )
2023-05-24 16:34:48 +02:00
konstin
17d938f078
Add Checker::any_enabled shortcut ( #4630 )
...
Add Checker::any_enabled shortcut
## Summary
Akin to #4625 , This is a refactoring that shortens a bunch of code by replacing `checker.settings.rules.any_enabled` with `checker.any_enabled`.
## Test Plan
`cargo clippy`
2023-05-24 14:32:55 +00:00
Charlie Marsh
5cedf0f724
Remove `ReferenceContext::Synthetic` ( #4612 )
2023-05-24 14:30:35 +00:00
Charlie Marsh
040fb9cef4
Use a separate `PrinterFlag` for including fix diffs ( #4615 )
2023-05-24 10:22:37 -04:00
Charlie Marsh
8961d8eb6f
Track all read references in semantic model ( #4610 )
2023-05-24 14:14:27 +00:00
Charlie Marsh
31bddef98f
Visit `TypeVar` and `NewType` name arguments ( #4627 )
2023-05-24 10:10:15 -04:00
konstin
a59d252246
Add Checker::enabled shortcut ( #4625 )
...
This is a refactoring that shortens a bunch of code by replacing `checker.settings.rules.enabled` with `checker.enabled`
2023-05-24 14:56:41 +02:00
Jonathan Plasse
c6a760e298
Introduce `tab-size` to correcly calculate the line length with tabulations ( #4167 )
2023-05-24 08:37:24 +02:00
konstin
3644695bf2
Include hidden ecosystem_ci option to show fixes without feature ( #4528 )
2023-05-23 22:22:23 -04:00
Sladyn
4e84e8a8e2
Migrate some rules from `Fix::unspecified` ( #4587 )
2023-05-23 22:10:58 -04:00
Hoël Bagard
a256fdb9f4
Extend `RUF005` to recursive and literal-literal concatenations ( #4557 )
2023-05-24 01:26:34 +00:00
Tom Kuson
7479dfd815
Add Pyflakes docs ( #4588 )
2023-05-24 00:45:32 +00:00
Charlie Marsh
ba4c0a21fa
Rename `ContextFlags` to `SemanticModelFlags` ( #4611 )
2023-05-23 17:47:07 -04:00
konstin
73e179ffab
Update maturin to 1.0 ( #4605 )
...
* Refactor and fix task trigger for dependent jobs in other repos
I have confirmed (https://github.com/konstin/ruff-pre-commit/actions/runs/5056928280/jobs/9075029868 ) that this does dispatch the workflow when running with act, `owner: 'konstin'`, `needs` commented out and personal access token. I can't properly test the actual release workflow, and i'm unsure how to best handle the next release after this was merged (should we do a beta release or will this break everything that assumes we only do stable releases?)
The command for act is
```
act -j update-dependents -s RUFF_PRE_COMMIT_PAT=<...>
```
* delete old file
* Update maturin to 1.0
A 1.0 release for maturin 🎉
2023-05-23 20:55:52 +02:00
Micha Reiser
2681c0e633
Add missing nodes to `AnyNodeRef` and `AnyNode` ( #4608 )
2023-05-23 18:30:27 +02:00
Charlie Marsh
f3bdd2e7be
Make B007 fix relevance stricter ( #4607 )
2023-05-23 15:43:59 +00:00
Micha Reiser
652c644c2a
Introduce `ruff_index` crate ( #4597 )
2023-05-23 17:40:35 +02:00
Micha Reiser
154439728a
Add `AnyNode` and `AnyNodeRef` unions ( #4578 )
2023-05-23 08:53:22 +02:00
Jonathan Plasse
1ddc577204
Rework CST matchers ( #4536 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2023-05-23 06:26:51 +00:00
Charlie Marsh
74effb40b9
Rename `index` to `binding_id` in a few iterators ( #4594 )
2023-05-23 03:56:00 +00:00
Charlie Marsh
6c3724ab98
Move `get_or_import_symbol` onto `Importer` ( #4591 )
2023-05-23 01:33:00 +00:00
Christopher Covington
3b8121379d
Name ambiguous characters ( #4448 )
2023-05-22 17:16:57 +00:00
qdegraaf
5ba47c3302
Add autofix for PYI009 ( #4583 )
2023-05-22 16:41:18 +00:00
Charlie Marsh
b613460fe5
Fix `# isort: split` comment detection in nested blocks ( #4584 )
2023-05-22 12:31:59 -04:00
Micha Reiser
daadd24bde
Include decorators in `Function` and `Class` definition ranges ( #4467 )
2023-05-22 17:50:42 +02:00
Charlie Marsh
9308e939f4
Avoid infinite loop for required imports with isort: off ( #4581 )
2023-05-22 15:49:03 +00:00
Charlie Marsh
04c9348de0
Make ambiguous-unicode detection sensitive to 'word' context ( #4552 )
2023-05-22 14:42:25 +00:00
Tom Kuson
2d3766d928
Add flake8-boolean-trap docs ( #4572 )
2023-05-22 14:11:14 +00:00
Micha Reiser
cbe344f4d5
Rename `Checker::model` to `semantic_model` ( #4573 )
2023-05-22 15:14:30 +02:00
Evan Rittenhouse
c6e5fed658
Replace token iteration with Indexer/Locator lookups for relevant rules ( #4513 )
2023-05-22 09:56:19 +02:00
Charlie Marsh
f73b398776
Reduce visibility of more functions, structs, and fields ( #4570 )
2023-05-22 03:36:48 +00:00
Charlie Marsh
55c4020ba9
Remove regex for noqa code splitting ( #4569 )
2023-05-21 23:20:49 -04:00
Charlie Marsh
d70f899f71
Use `SemanticModel` in lieu of `Checker` in more methods ( #4568 )
2023-05-22 02:58:47 +00:00
Charlie Marsh
19c4b7bee6
Rename ruff_python_semantic's `Context` struct to `SemanticModel` ( #4565 )
2023-05-22 02:35:03 +00:00
Jonathan Plasse
3238743a7b
Fix Flake8Todo typo ( #4566 )
2023-05-21 16:32:13 -04:00
Charlie Marsh
f22c269ccf
Point LSP, VS Code, and pre-commut URLs to Astral org ( #4562 )
2023-05-21 15:27:35 -04:00
Arne de Laat
8ca3977602
Fix false-positive for TRY302 if exception cause is given ( #4559 )
2023-05-21 11:49:53 -04:00
Jonathan Plasse
fc63c6f2e2
Fix PLE01310 typo ( #4550 )
2023-05-20 19:34:03 +00:00
Jonathan Plasse
f7f5bc9085
Fix SIM401 snapshot ( #4547 )
2023-05-20 14:18:19 -04:00
Charlie Marsh
6b85430a14
Ignore `#region` code folding marks in eradicate rules ( #4546 )
2023-05-20 16:45:49 +00:00
Jonathan Plasse
a68c865010
Fix SIM110 and SIM111 ranges ( #4545 )
2023-05-20 12:40:35 -04:00
Charlie Marsh
fe7f2e2e4d
Move submodule alias resolution into `Context` ( #4543 )
2023-05-20 16:34:10 +00:00
Charlie Marsh
bf5b463c0d
Include empty success test in JUnit output ( #4537 )
2023-05-20 03:38:51 +00:00
Charlie Marsh
6aa9900c03
Improve handling of `__qualname__`, `__module__`, and `__class__` ( #4512 )
2023-05-20 03:03:45 +00:00
Charlie Marsh
9e21414294
Improve reference resolution for deferred-annotations-within-classes ( #4509 )
2023-05-20 02:54:18 +00:00
Charlie Marsh
bb4e674415
Move reference-resolution into Context ( #4510 )
2023-05-20 02:47:15 +00:00
Charlie Marsh
b42ff08612
Parenthesize more sub-expressions in f-string conversion ( #4535 )
2023-05-19 19:41:30 +00:00
Jonathan Plasse
03fb62c174
Fix RUF010 auto-fix with parenthesis ( #4524 )
2023-05-19 19:05:51 +00:00
Jonathan Plasse
2dfc645ea9
Fix UP032 auto-fix with integers ( #4525 )
2023-05-19 18:53:50 +00:00
Hoël Bagard
fe8e2bb237
[`pylint`] Add `named_expr_without_context` (`W0131`) ( #4531 )
2023-05-19 18:00:01 +00:00
Tom Kuson
a9ed8d5391
Add Pylint docs ( #4530 )
2023-05-19 17:40:18 +00:00
Aaron Cunningham
41a681531d
Support new `extend-per-file-ignores` setting ( #4265 )
2023-05-19 12:24:04 -04:00
Justin Prieto
837e70677b
[`flake8-pyi`] Implement `PYI013` ( #4517 )
2023-05-19 15:39:55 +00:00
Hoël Bagard
7ebe372122
[`pylint`] Add `duplicate-value` (`W0130`) ( #4515 )
2023-05-19 15:03:47 +00:00
konstin
32f1edc555
Create dummy format CLI ( #4453 )
...
* Create dummy format CLI
* Hide format from clap, too
Missed that this is a separate option from `#[doc(hidden)]`
* Remove cargo feature and replace with warning
* No-alloc files parameter matching
* beta warning: warn -> warn_user_once
* Rephrase warning
2023-05-19 11:45:52 +02:00
Micha Reiser
2f35099f81
Remove `regex` dependency from `ruff_python_ast` ( #4518 )
2023-05-19 06:44:18 +00:00
Ville Skyttä
fdb241cad2
[`flake8-bandit`] Implement `paramiko-call` (`S601`) ( #4500 )
2023-05-19 03:40:50 +00:00
Charlie Marsh
ab303f4e09
Gate `schemars` skip under feature flag ( #4514 )
2023-05-19 03:01:31 +00:00
Charlie Marsh
15cb21a6f4
Implement `--extend-fixable` option ( #4297 )
2023-05-18 22:20:19 -04:00
Ville Skyttä
2e2ba2cb16
Avoid some false positives in dunder variable assigments ( #4508 )
2023-05-19 02:11:20 +00:00
Charlie Marsh
d4c0a41b00
Bump version to 0.0.269 ( #4506 )
2023-05-18 19:45:20 +00:00
Charlie Marsh
8702b5a40a
Bump version to 0.0.268 ( #4501 )
2023-05-18 15:35:46 -04:00
konstin
a3aa841fc9
Overhaul sdist handling ( #4439 )
...
* Reduce sdist size
`maturin sdist && du -sh target/wheels/ruff-0.0.267.tar.gz`:
Before: 1,1M
After: 668K
* Test sdist before release
* Update maturin to fix the sdist
2023-05-18 19:02:22 +02:00
Ville Skyttä
fdd894145b
S608 improvements ( #4499 )
2023-05-18 11:27:22 -04:00
Charlie Marsh
85f67b2ee3
Make the AST Checker `pub(crate)` ( #4498 )
2023-05-18 15:17:26 +00:00
Charlie Marsh
e9c6f16c56
Move unparse utility methods onto Generator ( #4497 )
2023-05-18 15:00:46 +00:00
Charlie Marsh
d3b18345c5
Move triple-quoted string detection into `Indexer` method ( #4495 )
2023-05-18 14:42:05 +00:00
Jonathan Plasse
0e4d174551
Fix COM812 false positive in string subscript ( #4493 )
2023-05-18 14:35:41 +00:00
Charlie Marsh
73efbeb581
Invert quote-style when generating code within f-strings ( #4487 )
2023-05-18 14:33:33 +00:00
Charlie Marsh
2fb312bb2b
Fix scoping of comprehensions within classes ( #4494 )
2023-05-18 14:30:02 +00:00
Charlie Marsh
e8e66f3824
Remove unnecessary path prefixes ( #4492 )
2023-05-18 10:19:09 -04:00
Charlie Marsh
a8d080c825
Extend multi-line noqa directives to start-of-line ( #4490 )
2023-05-18 13:05:27 +00:00
Charlie Marsh
ddd541b198
Move `Insertion` into its own module ( #4478 )
2023-05-17 21:11:41 +00:00
Tom Kuson
3090aec97d
Add PLW docs ( #4469 )
2023-05-17 18:30:45 +00:00
Charlie Marsh
14c6419bc1
Bring pycodestyle rules into full compatibility (on SciPy) ( #4472 )
2023-05-17 16:51:55 +00:00
Charlie Marsh
3bc29d6c0c
Allow shebang comments at start-of-file ( #4473 )
2023-05-17 16:32:12 +00:00
Charlie Marsh
67c5086aba
Include precise tokens for extraneous-whitespace diagnostics ( #4471 )
2023-05-17 16:25:17 +00:00
Charlie Marsh
cd82b83f89
Avoid triggering `pd#at` and friends on non-subscripts ( #4474 )
2023-05-17 16:20:58 +00:00
Charlie Marsh
39fb2cc732
Remove special-casing for whitespace-around-@ ( #4458 )
2023-05-17 15:32:08 +00:00
John Kelly
9c732c7946
Implement TRY302 - `raise` after `except` ( #4461 )
2023-05-17 01:36:10 +00:00
Charlie Marsh
2332ea5753
Remove type-complexity ignores from `map_codes.rs` ( #4463 )
2023-05-17 01:02:24 +00:00
Charlie Marsh
6b1062ccc3
Enable `pycodestyle` rules under new "nursery" category ( #4407 )
2023-05-16 21:21:58 +00:00
Charlie Marsh
39fa38cb35
Enable `pycodestyle` rules ( #3689 )
2023-05-16 20:39:43 +00:00
Micha Reiser
ddf7de7e86
Prototype Black's string joining/splitting ( #4449 )
2023-05-16 18:42:40 +01:00
Charlie Marsh
e5101e8eac
Split logical lines tests into one test per assertion ( #4457 )
2023-05-16 17:40:39 +00:00
Charlie Marsh
d9c3f8e249
Avoid flagging missing whitespace for decorators ( #4454 )
2023-05-16 13:15:01 -04:00
Charlie Marsh
7e0d018b35
Avoid emitting empty logical lines ( #4452 )
2023-05-16 16:33:33 +00:00
Jeong, YunWon
4b05ca1198
Specialize ConversionFlag ( #4450 )
2023-05-16 18:00:13 +02:00