-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Add NotebookIndex
to the cache
#6863
Conversation
PR Check ResultsEcosystem✅ ecosystem check detected no changes. |
db5ba97
to
50d9259
Compare
Current dependencies on/for this PR:
This comment was auto-generated by Graphite. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does the cached output now match the uncached output? How does the performance between cached and uncached notebooks compare?
@@ -263,6 +267,8 @@ pub(crate) struct FileCache { | |||
/// | |||
/// This will be empty if `messages` is empty. | |||
source: String, | |||
/// Notebook index if this file is a Jupyter Notebook. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/// Notebook index if this file is a Jupyter Notebook. | |
/// Notebook index if this file is a IPython Notebook. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the notebook will still be termed as "Jupyter Notebook". It's the escape commands which are termed with the "Ipy" prefix.
Yes, I've expanded the existing test case to test against the fixtures in
SizeWith a test directory containing a few repositories with Jupyter notebooks: $ tokei ../test-repos/notebooks -t "Jupyter Notebooks"
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
Jupyter Notebooks 1221 0 0 0 0
|- Markdown 272 14168 422 10048 3698
|- Python 273 47807 37056 4219 6532
(Total) 61975 37478 14267 10230
===============================================================================
Total 1221 0 0 0 0
=============================================================================== The disk size has increased because of the addition of notebook index stored in the cache: $ du -h -d 1 ../cache-test
12M ../cache-test/no-notebook-index
14M ../cache-test/with-notebook-index PerformaceWith the following include = ["*.ipynb"] Earlier, the output of a cached run on Jupyter Notebooks were incorrect because the cell information was not stored in the cache. With that in mind, the benchmarks are as follows:
$ hyperfine --warmup 5 \
"./target/release/ruff check -e --config ./ruff.toml --no-cache --select=ALL ../test-repos/notebooks" \
"./target/release/ruff check -e --config ./ruff.toml --cache-dir ../cache-test/notebook-index --select=ALL ../test-repos/notebooks"
Benchmark 1: ./target/release/ruff check -e --config ./ruff.toml --no-cache --select=ALL ../test-repos/notebooks
Time (mean ± σ): 1.127 s ± 0.073 s [User: 6.342 s, System: 0.391 s]
Range (min … max): 1.018 s … 1.246 s 10 runs
Benchmark 2: ./target/release/ruff check -e --config ./ruff.toml --cache-dir ../cache-test/notebook-index --select=ALL ../test-repos/notebooks
Time (mean ± σ): 192.9 ms ± 3.8 ms [User: 277.7 ms, System: 138.7 ms]
Range (min … max): 185.8 ms … 198.9 ms 15 runs
Summary
./target/release/ruff check -e --config ./ruff.toml --cache-dir ../cache-test/notebook-index --select=ALL ../test-repos/notebooks ran
5.84 ± 0.40 times faster than ./target/release/ruff check -e --config ./ruff.toml --no-cache --select=ALL ../test-repos/notebooks The numbers are in line with non-Jupyter Notebook dataset
$ hyperfine --warmup 5 \
"./../ruff/target/release/ruff check -e --config ./ruff.toml --cache-dir ../cache-test/ruff-old --select=ALL ../test-repos/notebooks" \
"./target/release/ruff check -e --config ./ruff.toml --cache-dir ../cache-test/ruff-new --select=ALL ../test-repos/notebooks"
Benchmark 1: ./../ruff/target/release/ruff check -e --config ./ruff.toml --cache-dir ../cache-test/ruff-old --select=ALL ../test-repos/notebooks
Time (mean ± σ): 181.6 ms ± 3.6 ms [User: 261.9 ms, System: 134.0 ms]
Range (min … max): 177.5 ms … 188.5 ms 16 runs
Benchmark 2: ./target/release/ruff check -e --config ./ruff.toml --cache-dir ../cache-test/ruff-new --select=ALL ../test-repos/notebooks
Time (mean ± σ): 188.6 ms ± 4.3 ms [User: 276.8 ms, System: 134.8 ms]
Range (min … max): 181.7 ms … 197.1 ms 15 runs
Summary
./../ruff/target/release/ruff check -e --config ./ruff.toml --cache-dir ../cache-test/ruff-old --select=ALL ../test-repos/notebooks ran
1.04 ± 0.03 times faster than ./target/release/ruff check -e --config ./ruff.toml --cache-dir ../cache-test/ruff-new --select=ALL ../test-repos/notebooks Here, we can see that the performance has gone down a bit because of the new |
[![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://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `^0.0.288` -> `^0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.288/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.288/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.288...v0.0.289) <!-- Release notes generated using configuration in .github/release.yml at v0.0.289 --> #### What's Changed ##### Bug Fixes - Invert condition for < and <= in outdated version block by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://togithub.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 </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:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.287` -> `==0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.288...v0.0.289) <!-- Release notes generated using configuration in .github/release.yml at v0.0.289 --> #### What's Changed ##### Bug Fixes - Invert condition for < and <= in outdated version block by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://togithub.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://togithub.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://togithub.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://togithub.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://togithub.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://togithub.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://togithub.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://togithub.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://togithub.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://togithub.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://togithub.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://togithub.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://togithub.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://togithub.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://togithub.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://togithub.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://togithub.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://togithub.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://togithub.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://togithub.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://togithub.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://togithub.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://togithub.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://togithub.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://togithub.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://togithub.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://togithub.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://togithub.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://togithub.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://togithub.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://togithub.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://togithub.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://togithub.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://togithub.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://togithub.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://togithub.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://togithub.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://togithub.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://togithub.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://togithub.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://togithub.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://togithub.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://togithub.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://togithub.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://togithub.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://togithub.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://togithub.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://togithub.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://togithub.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://togithub.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://togithub.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://togithub.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://togithub.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://togithub.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://togithub.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://togithub.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://togithub.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://togithub.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </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:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.287` -> `==0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.288...v0.0.289) <!-- Release notes generated using configuration in .github/release.yml at v0.0.289 --> #### What's Changed ##### Bug Fixes - Invert condition for < and <= in outdated version block by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://togithub.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://togithub.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://togithub.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://togithub.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://togithub.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://togithub.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://togithub.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://togithub.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://togithub.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://togithub.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://togithub.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://togithub.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://togithub.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://togithub.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://togithub.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://togithub.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://togithub.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://togithub.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://togithub.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://togithub.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://togithub.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://togithub.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://togithub.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://togithub.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://togithub.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://togithub.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://togithub.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://togithub.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://togithub.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://togithub.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://togithub.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://togithub.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://togithub.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://togithub.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://togithub.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://togithub.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://togithub.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://togithub.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://togithub.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://togithub.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://togithub.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://togithub.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://togithub.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://togithub.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://togithub.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://togithub.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://togithub.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://togithub.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://togithub.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://togithub.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://togithub.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://togithub.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://togithub.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://togithub.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://togithub.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://togithub.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://togithub.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://togithub.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </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:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `^0.0.286` -> `^0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.288...v0.0.289) <!-- Release notes generated using configuration in .github/release.yml at v0.0.289 --> #### What's Changed ##### Bug Fixes - Invert condition for < and <= in outdated version block by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://togithub.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://togithub.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://togithub.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://togithub.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://togithub.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://togithub.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://togithub.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://togithub.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://togithub.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://togithub.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://togithub.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://togithub.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://togithub.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://togithub.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://togithub.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://togithub.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://togithub.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://togithub.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://togithub.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://togithub.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://togithub.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://togithub.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://togithub.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://togithub.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://togithub.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://togithub.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://togithub.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://togithub.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://togithub.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://togithub.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://togithub.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://togithub.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://togithub.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://togithub.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://togithub.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://togithub.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://togithub.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://togithub.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://togithub.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://togithub.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://togithub.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://togithub.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://togithub.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://togithub.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://togithub.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://togithub.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://togithub.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://togithub.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://togithub.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://togithub.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://togithub.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://togithub.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://togithub.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://togithub.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://togithub.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://togithub.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://togithub.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://togithub.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 ### [`v0.0.287`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.287) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.286...v0.0.287) <!-- Release notes generated using configuration in .github/release.yml at v0.0.287 --> #### What's Changed ##### Rules - \[refurb] Implement preview `repeated-append` rule (`FURB113`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702) - \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6897](https://togithub.com/astral-sh/ruff/pull/6897) - \[refurb] Implement preview `check-and-remove-from-set` rule (`FURB132`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6904](https://togithub.com/astral-sh/ruff/pull/6904) ##### Bug Fixes - Expand `PERF401` and `PERF402` with type checks by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6994](https://togithub.com/astral-sh/ruff/pull/6994) - Insert space to avoid syntax error in RSE fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6886](https://togithub.com/astral-sh/ruff/pull/6886) - Avoid PEP 604 upgrades that lead to invalid syntax by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6888](https://togithub.com/astral-sh/ruff/pull/6888) - Fix ranges for global usages by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6917](https://togithub.com/astral-sh/ruff/pull/6917) - Avoid invalid fix for C417 with separate keys and values by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6954](https://togithub.com/astral-sh/ruff/pull/6954) - Avoid panic when `typename` is provided as a keyword argument by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6955](https://togithub.com/astral-sh/ruff/pull/6955) - Improve compatibility between multi-statement PYI rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7024](https://togithub.com/astral-sh/ruff/pull/7024) - Fixed panic in `missing_copyright_notice` by [@​WindowGenerator](https://togithub.com/WindowGenerator) in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029) - Avoid lexer infinite loop on invalid input by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6937](https://togithub.com/astral-sh/ruff/pull/6937) - Fix `WithItem` ranges for parenthesized, non-`as` items by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6782](https://togithub.com/astral-sh/ruff/pull/6782) #### New Contributors - [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made their first contribution in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702) - [@​Anselmoo](https://togithub.com/Anselmoo) made their first contribution in [https://github.com/astral-sh/ruff/pull/6986](https://togithub.com/astral-sh/ruff/pull/6986) - [@​njgrisafi](https://togithub.com/njgrisafi) made their first contribution in [https://github.com/astral-sh/ruff/pull/7032](https://togithub.com/astral-sh/ruff/pull/7032) - [@​WindowGenerator](https://togithub.com/WindowGenerator) made their first contribution in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029) **Full Changelog**: astral-sh/ruff@v0.0.286...v0.0.287 </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/fulcrum-so/ziggy-pydust). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `^0.0.286` -> `^0.0.290` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.290`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.290) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.289...v0.0.290) <!-- Release notes generated using configuration in .github/release.yml at v0.0.290 --> #### What's Changed ##### Rules - Update `deprecated-import` lists based on recent `typing-extensions` release by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7356](https://togithub.com/astral-sh/ruff/pull/7356) - Add support for bounds, constraints, and explicit variance on generic type variables to `UP040` by [@​nathanwhit](https://togithub.com/nathanwhit) in [https://github.com/astral-sh/ruff/pull/6749](https://togithub.com/astral-sh/ruff/pull/6749) ##### Settings - Show rule codes in shell tab completion by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7375](https://togithub.com/astral-sh/ruff/pull/7375) ##### Bug Fixes - Parenthesize single-generator arguments when adding reverse keyword by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7365](https://togithub.com/astral-sh/ruff/pull/7365) - Invert reverse argument regardless of whether it's a boolean by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7372](https://togithub.com/astral-sh/ruff/pull/7372) - Extend `C416` to catch tuple unpacking by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7363](https://togithub.com/astral-sh/ruff/pull/7363) - Allow `NURSERY` rule selctor in JSON Schema by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7374](https://togithub.com/astral-sh/ruff/pull/7374) - Avoid flagging single-quoted docstrings with continuations for multi-line rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7392](https://togithub.com/astral-sh/ruff/pull/7392) - Treat whitespace-only line as blank for `D411` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7351](https://togithub.com/astral-sh/ruff/pull/7351) ##### Preview [*What's this section?*](https://beta.ruff.rs/docs/preview/) - \[`flake8-logging`] New rule `undocumented-warn` (`LOG009`) by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://togithub.com/astral-sh/ruff/pull/7249) - \[`flake8-logging`] New rule `direct-logger-instantiation` (`LOG001`) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7397](https://togithub.com/astral-sh/ruff/pull/7397) - \[`flake8-logging`] New plugin `flake8_logging` (`LOG`) by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://togithub.com/astral-sh/ruff/pull/7249) - \[`perflint`] Add `manual-dict-comprehsion` (`PERF403`) by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6132](https://togithub.com/astral-sh/ruff/pull/6132) - \[`pylint`] New rule `too-many-public-methods` (`PLR0904`) by [@​jelly](https://togithub.com/jelly) in [https://github.com/astral-sh/ruff/pull/6179](https://togithub.com/astral-sh/ruff/pull/6179) - \[`refurb`] New rule `no-slice-copy` (`FURB145`) by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7007](https://togithub.com/astral-sh/ruff/pull/7007) - Add warnings for nursery and preview rule selection by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7210](https://togithub.com/astral-sh/ruff/pull/7210) - Remove the `PREVIEW` rule selector by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7389](https://togithub.com/astral-sh/ruff/pull/7389) - [`pre-commit` support](https://togithub.com/astral-sh/ruff-pre-commit#using-ruffs-formatter-unstable) for the [alpha formatter](https://togithub.com/astral-sh/ruff/discussions/7310) by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff-pre-commit/pull/50](https://togithub.com/astral-sh/ruff-pre-commit/pull/50) #### New Contributors - [@​nathanwhit](https://togithub.com/nathanwhit) made their first contribution in [https://github.com/astral-sh/ruff/pull/6749](https://togithub.com/astral-sh/ruff/pull/6749) **Full Changelog**: astral-sh/ruff@v0.0.289...v0.0.290 ### [`v0.0.289`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.288...v0.0.289) <!-- Release notes generated using configuration in .github/release.yml at v0.0.289 --> #### What's Changed ##### Bug Fixes - Invert condition for < and <= in outdated version block by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://togithub.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://togithub.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://togithub.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://togithub.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://togithub.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://togithub.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://togithub.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://togithub.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://togithub.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://togithub.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://togithub.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://togithub.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://togithub.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://togithub.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://togithub.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://togithub.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://togithub.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://togithub.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://togithub.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://togithub.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://togithub.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://togithub.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://togithub.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://togithub.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://togithub.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://togithub.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://togithub.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://togithub.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://togithub.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://togithub.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://togithub.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://togithub.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://togithub.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://togithub.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://togithub.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://togithub.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://togithub.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://togithub.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://togithub.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://togithub.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://togithub.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://togithub.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://togithub.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://togithub.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://togithub.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://togithub.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://togithub.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://togithub.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://togithub.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://togithub.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://togithub.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://togithub.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://togithub.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://togithub.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://togithub.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://togithub.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://togithub.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://togithub.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 ### [`v0.0.287`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.287) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.286...v0.0.287) <!-- Release notes generated using configuration in .github/release.yml at v0.0.287 --> #### What's Changed ##### Rules - \[refurb] Implement preview `repeated-append` rule (`FURB113`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702) - \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6897](https://togithub.com/astral-sh/ruff/pull/6897) - \[refurb] Implement preview `check-and-remove-from-set` rule (`FURB132`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6904](https://togithub.com/astral-sh/ruff/pull/6904) ##### Bug Fixes - Expand `PERF401` and `PERF402` with type checks by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6994](https://togithub.com/astral-sh/ruff/pull/6994) - Insert space to avoid syntax error in RSE fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6886](https://togithub.com/astral-sh/ruff/pull/6886) - Avoid PEP 604 upgrades that lead to invalid syntax by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6888](https://togithub.com/astral-sh/ruff/pull/6888) - Fix ranges for global usages by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6917](https://togithub.com/astral-sh/ruff/pull/6917) - Avoid invalid fix for C417 with separate keys and values by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6954](https://togithub.com/astral-sh/ruff/pull/6954) - Avoid panic when `typename` is provided as a keyword argument by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6955](https://togithub.com/astral-sh/ruff/pull/6955) - Improve compatibility between multi-statement PYI rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7024](https://togithub.com/astral-sh/ruff/pull/7024) - Fixed panic in `missing_copyright_notice` by [@​WindowGenerator](https://togithub.com/WindowGenerator) in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029) - Avoid lexer infinite loop on invalid input by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6937](https://togithub.com/astral-sh/ruff/pull/6937) - Fix `WithItem` ranges for parenthesized, non-`as` items by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6782](https://togithub.com/astral-sh/ruff/pull/6782) #### New Contributors - [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made their first contribution in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702) - [@​Anselmoo](https://togithub.com/Anselmoo) made their first contribution in [https://github.com/astral-sh/ruff/pull/6986](https://togithub.com/astral-sh/ruff/pull/6986) - [@​njgrisafi](https://togithub.com/njgrisafi) made their first contribution in [https://github.com/astral-sh/ruff/pull/7032](https://togithub.com/astral-sh/ruff/pull/7032) - [@​WindowGenerator](https://togithub.com/WindowGenerator) made their first contribution in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029) **Full Changelog**: astral-sh/ruff@v0.0.286...v0.0.287 </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/fulcrum-so/ziggy-pydust-template). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Summary
This PR updates the
FileCache
to include an optionalNotebookIndex
to support caching for Jupyter Notebooks.We only require the index to compute the diagnostics and thus we don't really need to store the entire
Notebook
on theDiagnostics
struct. This means we only need the index to be stored in the cache to reconstruct theDiagnostics
.Test Plan
Update an existing test case to run over the fixtures under
ruff_notebook
crate where there are multiple Jupyter Notebook.Locally, the following commands were run in order:
rm -rf .ruff_cache
cargo run --bin ruff -- check --isolated crates/ruff_notebook/resources/test/fixtures/jupyter/unused_variable.ipynb --no-cache
cargo run --bin ruff -- check --isolated crates/ruff_notebook/resources/test/fixtures/jupyter/unused_variable.ipynb
.ruff_cache
directory was created or notcargo run --bin ruff -- check --isolated crates/ruff_notebook/resources/test/fixtures/jupyter/unused_variable.ipynb
fixes: #6671