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

chore(deps): update dependency ruff to v0.9.1 #1074

Merged
merged 5 commits into from
Jan 14, 2025
Merged

chore(deps): update dependency ruff to v0.9.1 #1074

merged 5 commits into from
Jan 14, 2025

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 13, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
ruff (source, changelog) 0.8.6 -> 0.9.1 age adoption passing confidence

Release Notes

astral-sh/ruff (ruff)

v0.9.1

Compare Source

Preview features
  • [pycodestyle] Run too-many-newlines-at-end-of-file on each cell in notebooks (W391) (#​15308)
  • [ruff] Omit diagnostic for shadowed private function parameters in used-dummy-variable (RUF052) (#​15376)
Rule changes
  • [flake8-bugbear] Improve assert-raises-exception message (B017) (#​15389)
Formatter
  • Preserve trailing end-of line comments for the last string literal in implicitly concatenated strings (#​15378)
Server
  • Fix a bug where the server and client notebooks were out of sync after reordering cells (#​15398)
Bug fixes
  • [flake8-pie] Correctly remove wrapping parentheses (PIE800) (#​15394)
  • [pyupgrade] Handle comments and multiline expressions correctly (UP037) (#​15337)

v0.9.0

Compare Source

Check out the blog post for a migration guide and overview of the changes!

Breaking changes

Ruff now formats your code according to the 2025 style guide. As a result, your code might now get formatted differently. See the formatter section for a detailed list of changes.

This release doesn’t remove or remap any existing stable rules.

Stabilization

The following rules have been stabilized and are no longer in preview:

The following behaviors have been stabilized:

The following fixes or improvements to fixes have been stabilized:

Formatter

This release introduces the new 2025 stable style (#​13371), stabilizing the following changes:

  • Format expressions in f-string elements (#​7594)
  • Alternate quotes for strings inside f-strings (#​13860)
  • Preserve the casing of hex codes in f-string debug expressions (#​14766)
  • Choose the quote style for each string literal in an implicitly concatenated f-string rather than for the entire string (#​13539)
  • Automatically join an implicitly concatenated string into a single string literal if it fits on a single line (#​9457)
  • Remove the ISC001 incompatibility warning (#​15123)
  • Prefer parenthesizing the assert message over breaking the assertion expression (#​9457)
  • Automatically parenthesize over-long if guards in match case clauses (#​13513)
  • More consistent formatting for match case patterns (#​6933)
  • Avoid unnecessary parentheses around return type annotations (#​13381)
  • Keep the opening parentheses on the same line as the if keyword for comprehensions where the condition has a leading comment (#​12282)
  • More consistent formatting for with statements with a single context manager for Python 3.8 or older (#​10276)
  • Correctly calculate the line-width for code blocks in docstrings when using max-doc-code-line-length = "dynamic" (#​13523)
Preview features
  • [flake8-bugbear] Implement class-as-data-structure (B903) (#​9601)
  • [flake8-type-checking] Apply quoted-type-alias more eagerly in TYPE_CHECKING blocks and ignore it in stubs (TC008) (#​15180)
  • [pylint] Ignore eq-without-hash in stub files (PLW1641) (#​15310)
  • [pyupgrade] Split UP007 into two individual rules: UP007 for Union and UP045 for Optional (UP007, UP045) (#​15313)
  • [ruff] New rule that detects classes that are both an enum and a dataclass (RUF049) (#​15299)
  • [ruff] Recode RUF025 to RUF037 (RUF037) (#​15258)
Rule changes
Server
  • Improve the observability by removing the need for the "trace" value to turn on or off logging. The server logging is solely controlled using the logLevel server setting
    which defaults to info. This addresses the issue where users were notified about an error and told to consult the log, but it didn’t contain any messages. (#​15232)
  • Ignore diagnostics from other sources for code action requests (#​15373)
CLI
  • Improve the error message for --config key=value when the key is for a table and it’s a simple value
Bug fixes
  • [eradicate] Ignore metadata blocks directly followed by normal blocks (ERA001) (#​15330)
  • [flake8-django] Recognize other magic methods (DJ012) (#​15365)
  • [pycodestyle] Avoid false positives related to type aliases (E252) (#​15356)
  • [pydocstyle] Avoid treating newline-separated sections as sub-sections (D405) (#​15311)
  • [pyflakes] Remove call when removing final argument from format (F523) (#​15309)
  • [refurb] Mark fix as unsafe when the right-hand side is a string (FURB171) (#​15273)
  • [ruff] Treat ) as a regex metacharacter (RUF043, RUF055) (#​15318)
  • [ruff] Parenthesize the int-call argument when removing the int call would change semantics (RUF046) (#​15277)

Configuration

📅 Schedule: Branch creation - "* 0-3 * * 1" (UTC), 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Jan 13, 2025
@renovate renovate bot enabled auto-merge January 13, 2025 02:09
renovate-approve[bot]
renovate-approve bot previously approved these changes Jan 13, 2025
@renovate renovate bot force-pushed the renovate/ruff-0.x branch 2 times, most recently from 490b350 to b028388 Compare January 13, 2025 12:06
@vlaci
Copy link
Contributor

vlaci commented Jan 13, 2025

Fixing...

Copy link
Contributor Author

renovate bot commented Jan 13, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@vlaci vlaci force-pushed the renovate/ruff-0.x branch from 37f0c0d to ddac207 Compare January 13, 2025 13:15
@renovate renovate bot added this pull request to the merge queue Jan 13, 2025
github-merge-queue bot pushed a commit that referenced this pull request Jan 13, 2025
chore(deps): update dependency ruff to v0.9.1
@vlaci vlaci removed this pull request from the merge queue due to a manual request Jan 13, 2025
@vlaci vlaci dismissed renovate-approve[bot]’s stale review January 13, 2025 13:22

substantial changes accec

@kukovecz kukovecz self-requested a review January 13, 2025 13:43
Copy link
Contributor

@qkaiser qkaiser left a comment

Choose a reason for hiding this comment

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

I think 50076fd and 8b1c514 should belong to the same commit.

unblob/finder.py Show resolved Hide resolved
unblob/finder.py Show resolved Hide resolved
unblob/testing.py Show resolved Hide resolved
renovate bot and others added 3 commits January 13, 2025 14:53
We have a bunch of modules inside the `unblob` package with names
colliding with standard library modules:

    unblob/handlers/compression/gzip.py:1:1: A005 Module `gzip` shadows a Python standard-library module
    unblob/handlers/compression/lzma.py:1:1: A005 Module `lzma` shadows a Python standard-library module
    unblob/handlers/compression/zlib.py:1:1: A005 Module `zlib` shadows a Python standard-library module
    unblob/logging.py:1:1: A005 Module `logging` shadows a Python standard-library module

As we never import them directly into scope (e.g. `from unblob import
logging`), due to A004 (builtin-import-shadowning), it poses low risk.
…gument lints

The following lints are false positive, but highlight a problem:

    178 | @attrs.define
    179 | class MultiFile(Blob):
    180 |     name: str = attr.field(kw_only=True)
        |                 ^^^^^^^^^^^^^^^^^^^^^^^^ RUF009
    181 |     paths: list[Path] = attr.field(kw_only=True)
        |

    unblob/models.py:181:25: RUF009 Do not perform function call `attr.field` in dataclass defaults
        |
    179 | class MultiFile(Blob):
    180 |     name: str = attr.field(kw_only=True)
    181 |     paths: list[Path] = attr.field(kw_only=True)
        |                         ^^^^^^^^^^^^^^^^^^^^^^^^ RUF009
    182 |
    183 |     handler: "DirectoryHandler" = attr.ib(init=False, eq=False)
        |

The issue is that we are using both `attrs` and legacy `attr` module
imports in the same scope.

Fixing these also introduce invalid `attrs.ib` calls as well, which
also has to be fixed
@vlaci vlaci force-pushed the renovate/ruff-0.x branch from ddac207 to f0482a5 Compare January 13, 2025 13:54
vlaci added 2 commits January 13, 2025 14:55
`attr` is the legacy module name, containing `s` and `ib`, which are
not exposed through `attrs` which also matches the package name.

For reasoing, see the previous commit.
@vlaci vlaci force-pushed the renovate/ruff-0.x branch from f0482a5 to d282e4f Compare January 13, 2025 13:55
@vlaci
Copy link
Contributor

vlaci commented Jan 13, 2025

I think 50076fd and 8b1c514 should belong to the same commit.

I did the first to fix lintig issues mentioned in the commit, then did the refactor, which does not contain violation fixes.

I can still merge them though.

@kukovecz kukovecz removed their request for review January 13, 2025 15:16
@vlaci vlaci added this pull request to the merge queue Jan 14, 2025
Merged via the queue into main with commit bac061b Jan 14, 2025
14 checks passed
@vlaci vlaci deleted the renovate/ruff-0.x branch January 14, 2025 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants