Alexandra Valentine-Ketchum
c40b37aa36
N811 & N814: eliminate false positives for single-letter names ( #14584 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
Co-authored-by: Alex Waygood <alex.waygood@gmail.com>
2024-11-27 14:38:36 +00:00
Alex Waygood
4fb1416bf4
Minor stylistic improvements for functions detecting PEP-604 unions ( #14633 )
2024-11-27 11:29:37 +00:00
Simon Brugman
11a2929ed7
[`ruff`] Implement `unnecessary-nested-literal` (`RUF041`) ( #14323 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-11-27 10:01:50 +00:00
InSync
187974eff4
[`flake8-use-pathlib`] Recommend `Path.iterdir()` over `os.listdir()` (`PTH208`) ( #14509 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2024-11-27 09:53:13 +00:00
Micha Reiser
14ba469fc0
Use a derive macro for Violations ( #14557 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-11-27 09:41:40 +00:00
David Salvisberg
6fd10e2fe7
[`flake8-type-checking`] Adds implementation for TC007 and TC008 ( #12927 )
...
Co-authored-by: Simon Brugman <sbrugman@users.noreply.github.com>
Co-authored-by: Carl Meyer <carl@oddbird.net>
2024-11-27 09:51:20 +01:00
Dhruv Manilawala
0d649f9afd
Check that `airflow` module is seen for `AIR001` ( #14627 )
2024-11-27 07:25:08 +00:00
Lokejoke
82c01aa662
`[pylint]` Implement `len-test` (`PLC1802`) ( #14309 )
...
## Summary
This PR implements [`use-implicit-booleaness-not-len` /
`C1802`](https://pylint.pycqa.org/en/latest/user_guide/messages/convention/use-implicit-booleaness-not-len.html )
> For sequences, (strings, lists, tuples), use the fact that empty
sequences are false.
---------
Co-authored-by: xbrtnik1 <524841@mail.muni.cz>
Co-authored-by: xbrtnik1 <xbrtnik1@mail.muni.cz>
2024-11-26 13:30:17 -06:00
Brent Westbrook
9f446faa6c
[pyflakes] Avoid false positives in `@no_type_check` contexts (F821, F722) ( #14615 )
2024-11-26 19:13:43 +00:00
Dylan
24c90d6953
[`pylint`] Do not wrap function calls in parentheses in the fix for unnecessary-dunder-call (PLC2801) ( #14601 )
2024-11-26 06:47:01 -06:00
Tzu-ping Chung
fbff4dec3a
[airflow] Avoid implicit DAG schedule (AIR301) ( #14581 )
2024-11-26 13:38:18 +01:00
Simon Brugman
e4cefd9bf9
Extend test cases for `flake8-pyi` ( #14280 )
2024-11-26 09:10:38 +01:00
Lokejoke
9e4ee98109
[`ruff`] Implement `invalid-assert-message-literal-argument` (`RUF040`) ( #14488 )
...
## Summary
This PR implements new rule discussed
[here](https://github.com/astral-sh/ruff/discussions/14449 ).
In short, it searches for assert messages which were unintentionally
used as a expression to be matched against.
## Test Plan
`cargo test` and review of `ruff-ecosystem`
2024-11-25 17:41:07 -06:00
Simon Brugman
c606bf014e
[`flake8-pyi`] Improve autofix safety for `redundant-none-literal` (PYI061) ( #14583 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-11-25 17:40:57 +00:00
Simon Brugman
e8fce20736
[`ruff`] Improve autofix safety for `never-union` (RUF020) ( #14589 )
2024-11-25 18:35:07 +01:00
Harutaka Kawamura
fa22bd604a
Fix `pytest.mark.parametrize` rules to check calls instead of decorators ( #14515 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2024-11-25 13:55:18 +01:00
Alex Waygood
ac23c99744
[`ruff`] Mark fixes for `unsorted-dunder-all` and `unsorted-dunder-slots` as unsafe when there are complex comments in the sequence (`RUF022`, `RUF023`) ( #14560 )
2024-11-24 12:49:29 +00:00
Charlie Marsh
de62e39eba
Use truthiness check in `auto_attribs` detection ( #14562 )
2024-11-23 22:06:10 -05:00
InSync
d285717da8
[`ruff`] Handle `attrs`'s `auto_attribs` correctly (`RUF009`) ( #14520 )
...
## Summary
Resolves #14519 .
## Test Plan
`cargo nextest run` and `cargo insta test`.
2024-11-23 21:46:38 -05:00
InSync
545e9deba3
[`flake8-builtins`] Exempt private built-in modules (`A005`) ( #14505 )
...
## Summary
Resolves #12949 .
## Test Plan
`cargo nextest run` and `cargo insta test`.
2024-11-23 21:39:04 -05:00
Harutaka Kawamura
e3d792605f
[`flake8-bugbear`] Fix `mutable-contextvar-default (B039)` to resolve annotated function calls properly ( #14532 )
...
## Summary
<!-- What's the purpose of the change? What does it do, and why? -->
Fix #14525
## Test Plan
<!-- How was it tested? -->
New test cases
---------
Signed-off-by: harupy <hkawamura0130@gmail.com>
2024-11-23 21:29:25 -05:00
Harutaka Kawamura
1f303a5eb6
Simplify `flake8_pytest_style::rules::fail_call` implementation ( #14556 )
2024-11-23 15:14:28 +01:00
Nikolas Hearp
07d13c6b4a
[B028-doc-update] Update documentation for B028 ( #14338 )
...
## Summary
Resolves #14289
The documentation for B028 no_explicit_stacklevel is updated to be more
clear.
---------
Co-authored-by: dylwil3 <dylwil3@gmail.com>
2024-11-23 07:45:28 +00:00
Dylan
e1838aac29
Ignore more rules for stub files ( #14541 )
...
This PR causes the following rules to ignore stub files, on the grounds
that it is not under the author's control to appease these lints:
- `PLR0904` https://docs.astral.sh/ruff/rules/too-many-public-methods/
- `PLR0913` https://docs.astral.sh/ruff/rules/too-many-arguments/
- `PLR0917`
https://docs.astral.sh/ruff/rules/too-many-positional-arguments/
- `PLW3201` https://docs.astral.sh/ruff/rules/bad-dunder-method-name/
- `SLOT` https://docs.astral.sh/ruff/rules/#flake8-slots-slot
- `FBT` https://docs.astral.sh/ruff/rules/#flake8-boolean-trap-fbt
(except for FBT003 since that involves a function call.)
Progress towards #14535
2024-11-23 07:41:10 +00:00
Dylan
3fda2d17c7
[`ruff`] Auto-add `r` prefix when string has no backslashes for `unraw-re-pattern (RUF039)` ( #14536 )
...
This PR adds a sometimes-available, safe autofix for [unraw-re-pattern
(RUF039)](https://docs.astral.sh/ruff/rules/unraw-re-pattern/#unraw-re-pattern-ruf039 ),
which prepends an `r` prefix. It is used only when the string in
question has no backslahses (and also does not have a `u` prefix, since
that causes a syntax error.)
Closes #14527
Notes:
- Test fixture unchanged, but snapshot changed to include fix messages.
- This fix is automatically only available in preview since the rule
itself is in preview
2024-11-22 15:09:53 -06:00
Harutaka Kawamura
931fa06d85
Extend `invalid-envvar-default (PLW1508)` to detect `os.environ.get` ( #14512 )
2024-11-22 19:13:58 +00:00
David Salvisberg
e25e7044ba
[`flake8-type-checking`] Adds implementation for TC006 ( #14511 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2024-11-22 15:22:59 +01:00
Micha Reiser
8358ad8d25
Ruff 0.8 release ( #14486 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: David Salvisberg <dave@daverball.com>
2024-11-22 08:45:19 +01:00
Alex Waygood
2b8b1ef178
Improve docs for some pycodestyle rules ( #14517 )
2024-11-21 17:26:06 +00:00
cmp0xff
b9da4305e6
doc(B024): #14455 add annotated but unassgined class variables ( #14502 )
...
# Summary
Closes #14455 , migrated from https://github.com/astral-sh/docs/pull/106 .
2024-11-21 09:08:02 -06:00
Micha Reiser
942d6eeb9f
Stabilize `A004` ( #14480 )
2024-11-20 13:11:51 +01:00
Alex Waygood
4ccacc80f9
[ruff-0.8] [`FAST`] Further improve docs for `fast-api-non-annotated-depencency` (`FAST002`) ( #14467 )
2024-11-20 13:11:51 +01:00
Micha Reiser
b2bb119c6a
Fix failing tests for Ruff 0.8 branch ( #14482 )
2024-11-20 13:11:51 +01:00
Alex Waygood
cef12f4925
[ruff-0.8] Spruce up docs for newly stabilised rules ( #14466 )
...
## Summary
- Expand some docs where they're unclear about the motivation, or assume
some knowledge that hasn't been introduced yet
- Add more links to external docs
- Rename PYI063 from `PrePep570PositionalArgument` to
`Pep484StylePositionalOnlyParameter`
- Rename the file `parenthesize_logical_operators.rs` to
`parenthesize_chained_operators.rs`, since the rule is called
`ParenthesizeChainedOperators`, not `ParenthesizeLogicalOperators`
## Test Plan
`cargo test`
2024-11-20 13:11:51 +01:00
Alex Waygood
aa7ac2ce0f
[ruff-0.8] [`ruff`] Stabilise `unsorted-dunder-all` and `unsorted-dunder-slots` ( #14468 )
...
## Summary
These rules were implemented in January, have been very stable, and have
no open issues about them. They were highly requested by the community
prior to being implemented. Let's stabilise them!
## Test Plan
Ecosystem check on this PR.
2024-11-20 13:11:51 +01:00
Micha Reiser
adfa723464
Stabilize multiple rules ( #14462 )
2024-11-20 13:11:51 +01:00
Alex Waygood
11d20a1a51
[ruff-0.8] [`ruff`] Stabilise `parenthesize-chained-operators` (`RUF021`) ( #14450 )
2024-11-20 13:11:51 +01:00
Micha Reiser
e9079e7d95
Remove the deprecated `E999` rule code ( #14428 )
2024-11-20 13:11:51 +01:00
Alex Waygood
c400725713
[ruff 0.8] [`flake8-pytest-style`] Remove deprecated rules PT004 and PT005 ( #14385 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2024-11-20 13:11:51 +01:00
Alex Waygood
1081694140
[ruff 0.8] [`flake8-annotations`] Remove deprecated rules ANN101 and ANN102 ( #14384 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2024-11-20 13:11:51 +01:00
Micha Reiser
52f526eb38
Warn instead of error when removed rules are used in ignore ( #14435 )
...
Closes https://github.com/astral-sh/ruff/issues/13505
2024-11-20 13:11:51 +01:00
David Salvisberg
dc05b38165
[ruff 0.8][`flake8-type-checking`] Rename `TCH` to `TC` ( #14438 )
...
Closes #9573
2024-11-20 13:11:51 +01:00
konsti
b46cc6ac0b
Update pyproject-toml to support PEP 639 ( #13902 )
...
Fixes #13869
2024-11-20 13:11:51 +01:00
Dylan
8b925ea626
[`pycodestyle`] Stabilize behavior to ignore stub files in `ambiguous-variable-name (E741)` ( #14405 )
2024-11-20 13:11:51 +01:00
yataka
1b180c8342
Change default for Python version from 3.8 to 3.9 ( #13896 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2024-11-20 13:11:51 +01:00
Dylan
afeb217452
[`pyupgrade`] Stabilize behavior to show diagnostic even when unfixable in `printf-string-formatting (UP031)` ( #14406 )
2024-11-20 13:11:51 +01:00
Dylan
c0b3dd3745
[`ruff`] Stabilize unsafe fix for `zip-instead-of-pairwise (RUF007)` ( #14401 )
...
This PR stabilizes the unsafe fix for [zip-instead-of-pairwise
(RUF007)](https://docs.astral.sh/ruff/rules/zip-instead-of-pairwise/#zip-instead-of-pairwise-ruf007 ),
which replaces the use of zip with that of itertools.pairwise and has
been available under preview since version 0.5.7.
There are no open issues regarding RUF007 at the time of this writing.
2024-11-20 13:11:51 +01:00
Alex Waygood
5f6607bf54
[ruff 0.8] Remove deprecated rule UP027 ( #14382 )
2024-11-20 13:11:51 +01:00
InSync
b9c53a74f9
[`pycodestyle`] Exempt `pytest.importorskip()` calls (`E402`) ( #14474 )
...
## Summary
Resolves #13537 .
## Test Plan
`cargo nextest run` and `cargo insta test`.
2024-11-19 22:08:15 -05:00
Micha Reiser
dbbe7a773c
Mark UP043 fix unsafe when the type annotation contains any comments ( #14458 )
2024-11-19 15:24:02 +01:00