Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend repeated-equality-comparison-target to check for mixed orderings and Yoda conditions. #6691

Merged
merged 9 commits into from
Aug 23, 2023

Conversation

tjkuson
Copy link
Contributor

@tjkuson tjkuson commented Aug 19, 2023

Summary

Closes #5987. I am not convinced this is the most efficient way to do this, but it works.

Test Plan

cargo test

@github-actions
Copy link
Contributor

github-actions bot commented Aug 19, 2023

PR Check Results

Ecosystem

ℹ️ ecosystem check detected changes. (+16, -0, 0 error(s))

airflow (+8, -0)

+ airflow/providers/common/sql/operators/sql.py:973:16: PLR1714 Consider merging multiple comparisons: `0 in (cur, ref)`. Use a `set` if the elements are hashable.
+ airflow/providers/databricks/hooks/databricks_base.py:498:16: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable.
+ airflow/providers/databricks/hooks/databricks_base.py:507:16: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable.
+ airflow/providers/databricks/hooks/databricks_base.py:526:16: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable.
+ airflow/providers/databricks/hooks/databricks_base.py:535:16: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable.
+ airflow/providers/google/cloud/hooks/bigquery.py:3281:16: PLR1714 Consider merging multiple comparisons: `0 in (cur, ref)`. Use a `set` if the elements are hashable.
+ airflow/providers/google/cloud/triggers/bigquery.py:358:22: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable.
+ tests/providers/celery/executors/test_celery_executor.py:179:24: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable.

bokeh (+4, -0)

+ src/bokeh/io/export.py:126:8: PLR1714 Consider merging multiple comparisons: `0 in (image.width, image.height)`. Use a `set` if the elements are hashable.
+ src/bokeh/layouts.py:450:20: PLR1714 Consider merging multiple comparisons: `0 not in (child.nrows, child.ncols)`. Use a `set` if the elements are hashable.
+ src/bokeh/server/util.py:236:12: PLR1714 Consider merging multiple comparisons: `p in (h, '*')`. Use a `set` if the elements are hashable.
+ src/bokeh/sphinxext/bokeh_sampledata_xref.py:176:16: PLR1714 Consider merging multiple comparisons: `node.subfolder in ('all', sp[-2])`. Use a `set` if the elements are hashable.

zulip (+4, -0)

+ zerver/actions/message_edit.py:348:9: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable.
+ zerver/forms.py:96:8: PLR1714 Consider merging multiple comparisons: `"-" in (subdomain[0], subdomain[-1])`. Use a `set` if the elements are hashable.
+ zerver/lib/domains.py:15:8: PLR1714 Consider merging multiple comparisons: `"." in (domain[0], domain[-1])`. Use a `set` if the elements are hashable.
+ zerver/lib/domains.py:20:12: PLR1714 Consider merging multiple comparisons: `"-" in (subdomain[0], subdomain[-1])`. Use a `set` if the elements are hashable.

Rules changed: 1
Rule Changes Additions Removals
PLR1714 16 16 0

Benchmark

Linux

group                                      main                                   pr
-----                                      ----                                   --
formatter/large/dataset.py                 1.00      3.8±0.10ms    10.7 MB/sec    1.03      3.9±0.07ms    10.4 MB/sec
formatter/numpy/ctypeslib.py               1.00   809.7±20.43µs    20.6 MB/sec    1.03   833.9±14.49µs    20.0 MB/sec
formatter/numpy/globals.py                 1.01     89.0±2.02µs    33.1 MB/sec    1.00     88.3±2.78µs    33.4 MB/sec
formatter/pydantic/types.py                1.00  1598.0±50.51µs    16.0 MB/sec    1.02  1627.9±31.52µs    15.7 MB/sec
linter/all-rules/large/dataset.py          1.06     12.3±0.19ms     3.3 MB/sec    1.00     11.6±0.19ms     3.5 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.01      3.2±0.06ms     5.2 MB/sec    1.00      3.2±0.06ms     5.2 MB/sec
linter/all-rules/numpy/globals.py          1.01    451.4±9.25µs     6.5 MB/sec    1.00   449.0±10.21µs     6.6 MB/sec
linter/all-rules/pydantic/types.py         1.02      6.3±0.13ms     4.1 MB/sec    1.00      6.1±0.10ms     4.2 MB/sec
linter/default-rules/large/dataset.py      1.07      6.7±0.10ms     6.1 MB/sec    1.00      6.3±0.09ms     6.5 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.04  1462.8±30.28µs    11.4 MB/sec    1.00  1409.9±19.34µs    11.8 MB/sec
linter/default-rules/numpy/globals.py      1.00    165.2±4.54µs    17.9 MB/sec    1.00    165.2±4.15µs    17.9 MB/sec
linter/default-rules/pydantic/types.py     1.05      3.0±0.05ms     8.4 MB/sec    1.00      2.9±0.04ms     8.8 MB/sec

Windows

group                                      main                                   pr
-----                                      ----                                   --
formatter/large/dataset.py                 1.00      4.4±0.19ms     9.2 MB/sec    1.02      4.5±0.17ms     9.1 MB/sec
formatter/numpy/ctypeslib.py               1.00   910.6±31.93µs    18.3 MB/sec    1.00   908.5±25.44µs    18.3 MB/sec
formatter/numpy/globals.py                 1.00     94.1±2.55µs    31.4 MB/sec    1.01     95.2±4.36µs    31.0 MB/sec
formatter/pydantic/types.py                1.00  1830.2±64.12µs    13.9 MB/sec    1.02  1866.8±60.21µs    13.7 MB/sec
linter/all-rules/large/dataset.py          1.00     15.4±0.52ms     2.6 MB/sec    1.01     15.5±0.45ms     2.6 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.00      4.2±0.19ms     4.0 MB/sec    1.02      4.3±0.21ms     3.9 MB/sec
linter/all-rules/numpy/globals.py          1.00   528.0±21.73µs     5.6 MB/sec    1.22  642.5±352.85µs     4.6 MB/sec
linter/all-rules/pydantic/types.py         1.00      8.4±0.53ms     3.1 MB/sec    1.21     10.1±3.47ms     2.5 MB/sec
linter/default-rules/large/dataset.py      1.00      8.5±0.20ms     4.8 MB/sec    1.05      8.9±0.96ms     4.6 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00  1810.1±44.79µs     9.2 MB/sec    1.00  1811.3±49.11µs     9.2 MB/sec
linter/default-rules/numpy/globals.py      1.00    214.7±7.28µs    13.7 MB/sec    1.00   215.4±10.31µs    13.7 MB/sec
linter/default-rules/pydantic/types.py     1.00      3.8±0.10ms     6.7 MB/sec    1.03      3.9±0.21ms     6.5 MB/sec

@tjkuson
Copy link
Contributor Author

tjkuson commented Aug 19, 2023

The results from the ecosystem check seem sensible, unless people object to writing stuff like 0 in (foo, bar).

@charliermarsh charliermarsh self-requested a review August 20, 2023 14:43
}

for (left, (count, comparators)) in left_to_comparators {
for (value, (count, comparators)) in value_to_comparators {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tjkuson - What do you think of this? It's a bit closer to the previous version: we just track the comparators with the thing they're compared against (and this time, including the RHS), then raise if any comparator is used multiple times.


foo != "a" and "b" != foo and foo != "c"

foo == "a" or foo == "b" or "c" == bar or "d" == bar # Multiple targets
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have odd behavior for this kind of thing on main already:

         49 │+repeated_equality_comparison_target.py:40:1: PLR1714 Consider merging multiple comparisons: `foo in ("a", "b")`. Use a `set` if the elements are hashable.
         50 │+   |
         51 │+38 | foo == bar == "b" or foo == "c"  # Multiple comparisons.
         52 │+39 |
         53 │+40 | foo == "a" or foo == "b" or bar == "c" or bar == "d"  # Multiple targets
         54 │+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PLR1714
         55 │+   |
         56 │+
         57 │+repeated_equality_comparison_target.py:40:1: PLR1714 Consider merging multiple comparisons: `bar in ("c", "d")`. Use a `set` if the elements are hashable.
         58 │+   |
         59 │+38 | foo == bar == "b" or foo == "c"  # Multiple comparisons.
         60 │+39 |
         61 │+40 | foo == "a" or foo == "b" or bar == "c" or bar == "d"  # Multiple targets
         62 │+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PLR1714

It's not awful because it's not like we autofix this and remove the comparisons, but it'd be nice to have a more targeted range. Anyway...

@charliermarsh charliermarsh added the rule Implementing or modifying a lint rule label Aug 20, 2023
@charliermarsh charliermarsh enabled auto-merge (squash) August 23, 2023 03:39
@charliermarsh charliermarsh merged commit 1cb1bd7 into astral-sh:main Aug 23, 2023
@tjkuson
Copy link
Contributor Author

tjkuson commented Aug 23, 2023

Apologies for not getting back to you on this, I was/am on holiday and forgot to add a GitHub notification!

@tjkuson
Copy link
Contributor Author

tjkuson commented Aug 23, 2023

Apologies for not getting back to you on this, I was/am on holiday away from my computer and forgot to add a GitHub notification!

@charliermarsh
Copy link
Member

No prob! Enjoy your holiday :) I just biased towards merging after a few days with the thinking that we can always revisit later.

renovate bot referenced this pull request in ixm-one/pytest-cmake-presets Aug 25, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://beta.ruff.rs/docs)
([source](https://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.285`
-> `^0.0.286` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.0.286`](https://github.com/astral-sh/ruff/releases/tag/v0.0.286)

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.285...v0.0.286)

<!-- Release notes generated using configuration in .github/release.yml
at v0.0.286 -->

#### What's Changed

##### New Rules

- \[`flake8-bugbear`] Update `function-call-in-argument-default`
(`B008`) to ignore arguments with immutable annotations by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6784](https://github.com/astral-sh/ruff/pull/6784)
- \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use
`extend-immutable-calls` when determining if annotations are immutable
by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6781](https://github.com/astral-sh/ruff/pull/6781)
- \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6690](https://github.com/astral-sh/ruff/pull/6690)
- \[`flake8-pytest-style`] Add autofix for `PT014` by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6698](https://github.com/astral-sh/ruff/pull/6698)
- \[`pylint`] Implement `no-self-use` (`R6301`) by
[@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6574](https://github.com/astral-sh/ruff/pull/6574)
- \[`pylint`] Extend `repeated-equality-comparison-target` to check for
mixed orderings and Yoda conditions. by
[@&#8203;tjkuson](https://github.com/tjkuson) in
[https://github.com/astral-sh/ruff/pull/6691](https://github.com/astral-sh/ruff/pull/6691)

##### Settings

- Make isort's `detect-same-package` behavior configurable by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6833](https://github.com/astral-sh/ruff/pull/6833)

##### Bug Fixes

- Apply RUF017 when start is passed via position by
[@&#8203;hauntsaninja](https://github.com/hauntsaninja) in
[https://github.com/astral-sh/ruff/pull/6664](https://github.com/astral-sh/ruff/pull/6664)
- Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6696](https://github.com/astral-sh/ruff/pull/6696)
- Ignore multi-comparisons in `repeated-equality-comparison-target` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6705](https://github.com/astral-sh/ruff/pull/6705)
- Accept empty inner calls in C414 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6725](https://github.com/astral-sh/ruff/pull/6725)
- Allow next in FBT exclusions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6729](https://github.com/astral-sh/ruff/pull/6729)
- Allow `ctypes.WinError()` in flake8-raise by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6731](https://github.com/astral-sh/ruff/pull/6731)
- Ignore star imports when importing symbols in fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6743](https://github.com/astral-sh/ruff/pull/6743)
- Support C419 autofixes for set comprehensions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6744](https://github.com/astral-sh/ruff/pull/6744)
- Avoid attempting to fix unconventional submodule imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6745](https://github.com/astral-sh/ruff/pull/6745)
- Don't trigger `eq-without-hash` when `__hash__` is explicitly set to
`None` by [@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6739](https://github.com/astral-sh/ruff/pull/6739)
- Avoid E231 if comma is at end-of-line by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6747](https://github.com/astral-sh/ruff/pull/6747)
- Truncate some messages in diagnostics by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6748](https://github.com/astral-sh/ruff/pull/6748)
- Fix isolation groups for unused imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6774](https://github.com/astral-sh/ruff/pull/6774)
- Avoid fixing D200 for docstrings that end in escapes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6779](https://github.com/astral-sh/ruff/pull/6779)
- Parenthesize expressions prior to LibCST parsing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6742](https://github.com/astral-sh/ruff/pull/6742)
- Fallback to end-of-file if ends in trailing continuation by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6789](https://github.com/astral-sh/ruff/pull/6789)
- Confine repeated-equality-comparison-target to names and attributes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6802](https://github.com/astral-sh/ruff/pull/6802)
- Fix `native-literals` handling of int literal with attribute access by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6792](https://github.com/astral-sh/ruff/pull/6792)
- Fix `uncessary-coding-comment` fix when there's leading content by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6775](https://github.com/astral-sh/ruff/pull/6775)
- Avoid attempting to fix PT018 in multi-statement lines by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6829](https://github.com/astral-sh/ruff/pull/6829)
- Update ERA100 to apply to commented dictionary items with trailing
comments by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6822](https://github.com/astral-sh/ruff/pull/6822)
- Avoid parsing other parts of a format specification if replacements
are present by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6858](https://github.com/astral-sh/ruff/pull/6858)
- Avoid panic in unused arguments rule for parameter-free lambda by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6679](https://github.com/astral-sh/ruff/pull/6679)
- Avoid `C417` for `lambda` with default and variadic parameters by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6752](https://github.com/astral-sh/ruff/pull/6752)
- Add `networkx` to conventional aliases by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6778](https://github.com/astral-sh/ruff/pull/6778)
- Skip serializing cell ID if it's None by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6851](https://github.com/astral-sh/ruff/pull/6851)
- fix is_raw_string for multiple prefixes by
[@&#8203;davidszotten](https://github.com/davidszotten) in
[https://github.com/astral-sh/ruff/pull/6865](https://github.com/astral-sh/ruff/pull/6865)
- Add jupyter notebook cell ids in 4.5+ if missing by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/6853](https://github.com/astral-sh/ruff/pull/6853)

**Full Changelog**:
astral-sh/ruff@v0.0.285...v0.0.286

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ixm-one/pytest-cmake-presets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jankatins referenced this pull request in jankatins/pr-workflow-example Aug 26, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://beta.ruff.rs/docs)
([source](https://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `0.0.285`
-> `0.0.286` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.0.286`](https://github.com/astral-sh/ruff/releases/tag/v0.0.286)

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.285...v0.0.286)

<!-- Release notes generated using configuration in .github/release.yml
at v0.0.286 -->

#### What's Changed

##### New Rules

- \[`flake8-bugbear`] Update `function-call-in-argument-default`
(`B008`) to ignore arguments with immutable annotations by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6784](https://github.com/astral-sh/ruff/pull/6784)
- \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use
`extend-immutable-calls` when determining if annotations are immutable
by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6781](https://github.com/astral-sh/ruff/pull/6781)
- \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6690](https://github.com/astral-sh/ruff/pull/6690)
- \[`flake8-pytest-style`] Add autofix for `PT014` by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6698](https://github.com/astral-sh/ruff/pull/6698)
- \[`pylint`] Implement `no-self-use` (`R6301`) by
[@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6574](https://github.com/astral-sh/ruff/pull/6574)
- \[`pylint`] Extend `repeated-equality-comparison-target` to check for
mixed orderings and Yoda conditions. by
[@&#8203;tjkuson](https://github.com/tjkuson) in
[https://github.com/astral-sh/ruff/pull/6691](https://github.com/astral-sh/ruff/pull/6691)

##### Settings

- Make isort's `detect-same-package` behavior configurable by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6833](https://github.com/astral-sh/ruff/pull/6833)

##### Bug Fixes

- Apply RUF017 when start is passed via position by
[@&#8203;hauntsaninja](https://github.com/hauntsaninja) in
[https://github.com/astral-sh/ruff/pull/6664](https://github.com/astral-sh/ruff/pull/6664)
- Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6696](https://github.com/astral-sh/ruff/pull/6696)
- Ignore multi-comparisons in `repeated-equality-comparison-target` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6705](https://github.com/astral-sh/ruff/pull/6705)
- Accept empty inner calls in C414 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6725](https://github.com/astral-sh/ruff/pull/6725)
- Allow next in FBT exclusions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6729](https://github.com/astral-sh/ruff/pull/6729)
- Allow `ctypes.WinError()` in flake8-raise by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6731](https://github.com/astral-sh/ruff/pull/6731)
- Ignore star imports when importing symbols in fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6743](https://github.com/astral-sh/ruff/pull/6743)
- Support C419 autofixes for set comprehensions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6744](https://github.com/astral-sh/ruff/pull/6744)
- Avoid attempting to fix unconventional submodule imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6745](https://github.com/astral-sh/ruff/pull/6745)
- Don't trigger `eq-without-hash` when `__hash__` is explicitly set to
`None` by [@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6739](https://github.com/astral-sh/ruff/pull/6739)
- Avoid E231 if comma is at end-of-line by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6747](https://github.com/astral-sh/ruff/pull/6747)
- Truncate some messages in diagnostics by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6748](https://github.com/astral-sh/ruff/pull/6748)
- Fix isolation groups for unused imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6774](https://github.com/astral-sh/ruff/pull/6774)
- Avoid fixing D200 for docstrings that end in escapes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6779](https://github.com/astral-sh/ruff/pull/6779)
- Parenthesize expressions prior to LibCST parsing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6742](https://github.com/astral-sh/ruff/pull/6742)
- Fallback to end-of-file if ends in trailing continuation by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6789](https://github.com/astral-sh/ruff/pull/6789)
- Confine repeated-equality-comparison-target to names and attributes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6802](https://github.com/astral-sh/ruff/pull/6802)
- Fix `native-literals` handling of int literal with attribute access by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6792](https://github.com/astral-sh/ruff/pull/6792)
- Fix `uncessary-coding-comment` fix when there's leading content by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6775](https://github.com/astral-sh/ruff/pull/6775)
- Avoid attempting to fix PT018 in multi-statement lines by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6829](https://github.com/astral-sh/ruff/pull/6829)
- Update ERA100 to apply to commented dictionary items with trailing
comments by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6822](https://github.com/astral-sh/ruff/pull/6822)
- Avoid parsing other parts of a format specification if replacements
are present by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6858](https://github.com/astral-sh/ruff/pull/6858)
- Avoid panic in unused arguments rule for parameter-free lambda by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6679](https://github.com/astral-sh/ruff/pull/6679)
- Avoid `C417` for `lambda` with default and variadic parameters by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6752](https://github.com/astral-sh/ruff/pull/6752)
- Add `networkx` to conventional aliases by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6778](https://github.com/astral-sh/ruff/pull/6778)
- Skip serializing cell ID if it's None by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6851](https://github.com/astral-sh/ruff/pull/6851)
- fix is_raw_string for multiple prefixes by
[@&#8203;davidszotten](https://github.com/davidszotten) in
[https://github.com/astral-sh/ruff/pull/6865](https://github.com/astral-sh/ruff/pull/6865)
- Add jupyter notebook cell ids in 4.5+ if missing by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/6853](https://github.com/astral-sh/ruff/pull/6853)

**Full Changelog**:
astral-sh/ruff@v0.0.285...v0.0.286

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/jankatins/pr-workflow-example).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40MC4zIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
renovate bot referenced this pull request in allenporter/flux-local Aug 26, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://beta.ruff.rs/docs)
([source](https://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.285`
-> `==0.0.286` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.0.286`](https://github.com/astral-sh/ruff/releases/tag/v0.0.286)

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.285...v0.0.286)

<!-- Release notes generated using configuration in .github/release.yml
at v0.0.286 -->

#### What's Changed

##### New Rules

- \[`flake8-bugbear`] Update `function-call-in-argument-default`
(`B008`) to ignore arguments with immutable annotations by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6784](https://github.com/astral-sh/ruff/pull/6784)
- \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use
`extend-immutable-calls` when determining if annotations are immutable
by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6781](https://github.com/astral-sh/ruff/pull/6781)
- \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6690](https://github.com/astral-sh/ruff/pull/6690)
- \[`flake8-pytest-style`] Add autofix for `PT014` by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6698](https://github.com/astral-sh/ruff/pull/6698)
- \[`pylint`] Implement `no-self-use` (`R6301`) by
[@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6574](https://github.com/astral-sh/ruff/pull/6574)
- \[`pylint`] Extend `repeated-equality-comparison-target` to check for
mixed orderings and Yoda conditions. by
[@&#8203;tjkuson](https://github.com/tjkuson) in
[https://github.com/astral-sh/ruff/pull/6691](https://github.com/astral-sh/ruff/pull/6691)

##### Settings

- Make isort's `detect-same-package` behavior configurable by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6833](https://github.com/astral-sh/ruff/pull/6833)

##### Bug Fixes

- Apply RUF017 when start is passed via position by
[@&#8203;hauntsaninja](https://github.com/hauntsaninja) in
[https://github.com/astral-sh/ruff/pull/6664](https://github.com/astral-sh/ruff/pull/6664)
- Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6696](https://github.com/astral-sh/ruff/pull/6696)
- Ignore multi-comparisons in `repeated-equality-comparison-target` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6705](https://github.com/astral-sh/ruff/pull/6705)
- Accept empty inner calls in C414 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6725](https://github.com/astral-sh/ruff/pull/6725)
- Allow next in FBT exclusions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6729](https://github.com/astral-sh/ruff/pull/6729)
- Allow `ctypes.WinError()` in flake8-raise by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6731](https://github.com/astral-sh/ruff/pull/6731)
- Ignore star imports when importing symbols in fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6743](https://github.com/astral-sh/ruff/pull/6743)
- Support C419 autofixes for set comprehensions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6744](https://github.com/astral-sh/ruff/pull/6744)
- Avoid attempting to fix unconventional submodule imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6745](https://github.com/astral-sh/ruff/pull/6745)
- Don't trigger `eq-without-hash` when `__hash__` is explicitly set to
`None` by [@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6739](https://github.com/astral-sh/ruff/pull/6739)
- Avoid E231 if comma is at end-of-line by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6747](https://github.com/astral-sh/ruff/pull/6747)
- Truncate some messages in diagnostics by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6748](https://github.com/astral-sh/ruff/pull/6748)
- Fix isolation groups for unused imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6774](https://github.com/astral-sh/ruff/pull/6774)
- Avoid fixing D200 for docstrings that end in escapes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6779](https://github.com/astral-sh/ruff/pull/6779)
- Parenthesize expressions prior to LibCST parsing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6742](https://github.com/astral-sh/ruff/pull/6742)
- Fallback to end-of-file if ends in trailing continuation by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6789](https://github.com/astral-sh/ruff/pull/6789)
- Confine repeated-equality-comparison-target to names and attributes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6802](https://github.com/astral-sh/ruff/pull/6802)
- Fix `native-literals` handling of int literal with attribute access by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6792](https://github.com/astral-sh/ruff/pull/6792)
- Fix `uncessary-coding-comment` fix when there's leading content by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6775](https://github.com/astral-sh/ruff/pull/6775)
- Avoid attempting to fix PT018 in multi-statement lines by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6829](https://github.com/astral-sh/ruff/pull/6829)
- Update ERA100 to apply to commented dictionary items with trailing
comments by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6822](https://github.com/astral-sh/ruff/pull/6822)
- Avoid parsing other parts of a format specification if replacements
are present by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6858](https://github.com/astral-sh/ruff/pull/6858)
- Avoid panic in unused arguments rule for parameter-free lambda by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6679](https://github.com/astral-sh/ruff/pull/6679)
- Avoid `C417` for `lambda` with default and variadic parameters by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6752](https://github.com/astral-sh/ruff/pull/6752)
- Add `networkx` to conventional aliases by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6778](https://github.com/astral-sh/ruff/pull/6778)
- Skip serializing cell ID if it's None by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6851](https://github.com/astral-sh/ruff/pull/6851)
- fix is_raw_string for multiple prefixes by
[@&#8203;davidszotten](https://github.com/davidszotten) in
[https://github.com/astral-sh/ruff/pull/6865](https://github.com/astral-sh/ruff/pull/6865)
- Add jupyter notebook cell ids in 4.5+ if missing by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/6853](https://github.com/astral-sh/ruff/pull/6853)

**Full Changelog**:
astral-sh/ruff@v0.0.285...v0.0.286

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/allenporter/flux-local).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/pyrainbird Aug 27, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://beta.ruff.rs/docs)
([source](https://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.285`
-> `==0.0.286` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.0.286`](https://github.com/astral-sh/ruff/releases/tag/v0.0.286)

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.285...v0.0.286)

<!-- Release notes generated using configuration in .github/release.yml
at v0.0.286 -->

#### What's Changed

##### New Rules

- \[`flake8-bugbear`] Update `function-call-in-argument-default`
(`B008`) to ignore arguments with immutable annotations by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6784](https://github.com/astral-sh/ruff/pull/6784)
- \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use
`extend-immutable-calls` when determining if annotations are immutable
by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6781](https://github.com/astral-sh/ruff/pull/6781)
- \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6690](https://github.com/astral-sh/ruff/pull/6690)
- \[`flake8-pytest-style`] Add autofix for `PT014` by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6698](https://github.com/astral-sh/ruff/pull/6698)
- \[`pylint`] Implement `no-self-use` (`R6301`) by
[@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6574](https://github.com/astral-sh/ruff/pull/6574)
- \[`pylint`] Extend `repeated-equality-comparison-target` to check for
mixed orderings and Yoda conditions. by
[@&#8203;tjkuson](https://github.com/tjkuson) in
[https://github.com/astral-sh/ruff/pull/6691](https://github.com/astral-sh/ruff/pull/6691)

##### Settings

- Make isort's `detect-same-package` behavior configurable by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6833](https://github.com/astral-sh/ruff/pull/6833)

##### Bug Fixes

- Apply RUF017 when start is passed via position by
[@&#8203;hauntsaninja](https://github.com/hauntsaninja) in
[https://github.com/astral-sh/ruff/pull/6664](https://github.com/astral-sh/ruff/pull/6664)
- Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6696](https://github.com/astral-sh/ruff/pull/6696)
- Ignore multi-comparisons in `repeated-equality-comparison-target` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6705](https://github.com/astral-sh/ruff/pull/6705)
- Accept empty inner calls in C414 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6725](https://github.com/astral-sh/ruff/pull/6725)
- Allow next in FBT exclusions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6729](https://github.com/astral-sh/ruff/pull/6729)
- Allow `ctypes.WinError()` in flake8-raise by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6731](https://github.com/astral-sh/ruff/pull/6731)
- Ignore star imports when importing symbols in fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6743](https://github.com/astral-sh/ruff/pull/6743)
- Support C419 autofixes for set comprehensions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6744](https://github.com/astral-sh/ruff/pull/6744)
- Avoid attempting to fix unconventional submodule imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6745](https://github.com/astral-sh/ruff/pull/6745)
- Don't trigger `eq-without-hash` when `__hash__` is explicitly set to
`None` by [@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6739](https://github.com/astral-sh/ruff/pull/6739)
- Avoid E231 if comma is at end-of-line by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6747](https://github.com/astral-sh/ruff/pull/6747)
- Truncate some messages in diagnostics by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6748](https://github.com/astral-sh/ruff/pull/6748)
- Fix isolation groups for unused imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6774](https://github.com/astral-sh/ruff/pull/6774)
- Avoid fixing D200 for docstrings that end in escapes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6779](https://github.com/astral-sh/ruff/pull/6779)
- Parenthesize expressions prior to LibCST parsing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6742](https://github.com/astral-sh/ruff/pull/6742)
- Fallback to end-of-file if ends in trailing continuation by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6789](https://github.com/astral-sh/ruff/pull/6789)
- Confine repeated-equality-comparison-target to names and attributes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6802](https://github.com/astral-sh/ruff/pull/6802)
- Fix `native-literals` handling of int literal with attribute access by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6792](https://github.com/astral-sh/ruff/pull/6792)
- Fix `uncessary-coding-comment` fix when there's leading content by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6775](https://github.com/astral-sh/ruff/pull/6775)
- Avoid attempting to fix PT018 in multi-statement lines by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6829](https://github.com/astral-sh/ruff/pull/6829)
- Update ERA100 to apply to commented dictionary items with trailing
comments by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6822](https://github.com/astral-sh/ruff/pull/6822)
- Avoid parsing other parts of a format specification if replacements
are present by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6858](https://github.com/astral-sh/ruff/pull/6858)
- Avoid panic in unused arguments rule for parameter-free lambda by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6679](https://github.com/astral-sh/ruff/pull/6679)
- Avoid `C417` for `lambda` with default and variadic parameters by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6752](https://github.com/astral-sh/ruff/pull/6752)
- Add `networkx` to conventional aliases by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6778](https://github.com/astral-sh/ruff/pull/6778)
- Skip serializing cell ID if it's None by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6851](https://github.com/astral-sh/ruff/pull/6851)
- fix is_raw_string for multiple prefixes by
[@&#8203;davidszotten](https://github.com/davidszotten) in
[https://github.com/astral-sh/ruff/pull/6865](https://github.com/astral-sh/ruff/pull/6865)
- Add jupyter notebook cell ids in 4.5+ if missing by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/6853](https://github.com/astral-sh/ruff/pull/6853)

**Full Changelog**:
astral-sh/ruff@v0.0.285...v0.0.286

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/allenporter/pyrainbird).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@tjkuson tjkuson deleted the yoda-cond branch August 29, 2023 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rule Implementing or modifying a lint rule
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PLR1714 doesn't check for Yoda conditions
2 participants