Skip to content

Update most test/lint dependencies #14357

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

Merged
merged 1 commit into from
Jul 4, 2025

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 1, 2025

This PR contains the following updates:

Package Type Update Change Age Confidence
astral-sh/ruff-pre-commit repository patch v0.12.1 -> v0.12.2 age confidence
pycqa/flake8 repository minor 7.2.0 -> 7.3.0 age confidence
ruff (source, changelog) patch ==0.12.1 -> ==0.12.2 age confidence
uv (source, changelog) patch ==0.7.17 -> ==0.7.19 age confidence

Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.


Release Notes

astral-sh/ruff-pre-commit (astral-sh/ruff-pre-commit)

v0.12.2

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.12.2

pycqa/flake8 (pycqa/flake8)

v7.3.0

Compare Source

astral-sh/ruff (ruff)

v0.12.2

Compare Source

Preview features
  • [flake8-pyi] Expand Optional[A] to A | None (PYI016) (#​18572)
  • [pyupgrade] Mark UP008 fix safe if no comments are in range (#​18683)
Bug fixes
  • [flake8-comprehensions] Fix C420 to prepend whitespace when needed (#​18616)
  • [perflint] Fix PERF403 panic on attribute or subscription loop variable (#​19042)
  • [pydocstyle] Fix D413 infinite loop for parenthesized docstring (#​18930)
  • [pylint] Fix PLW0108 autofix introducing a syntax error when the lambda's body contains an assignment expression (#​18678)
  • [refurb] Fix false positive on empty tuples (FURB168) (#​19058)
  • [ruff] Allow more field calls from attrs (RUF009) (#​19021)
  • [ruff] Fix syntax error introduced for an empty string followed by a u-prefixed string (UP025) (#​18899)
Rule changes
  • [flake8-executable] Allow uvx in shebang line (EXE003) (#​18967)
  • [pandas] Avoid flagging PD002 if pandas is not imported (#​18963)
  • [pyupgrade] Avoid PEP-604 unions with typing.NamedTuple (UP007, UP045) (#​18682)
Documentation
  • Document link between import-outside-top-level (PLC0415) and lint.flake8-tidy-imports.banned-module-level-imports (#​18733)
  • Fix description of the format.skip-magic-trailing-comma example (#​19095)
  • [airflow] Make AIR302 example error out-of-the-box (#​18988)
  • [airflow] Make AIR312 example error out-of-the-box (#​18989)
  • [flake8-annotations] Make ANN401 example error out-of-the-box (#​18974)
  • [flake8-async] Make ASYNC100 example error out-of-the-box (#​18993)
  • [flake8-async] Make ASYNC105 example error out-of-the-box (#​19002)
  • [flake8-async] Make ASYNC110 example error out-of-the-box (#​18975)
  • [flake8-async] Make ASYNC210 example error out-of-the-box (#​18977)
  • [flake8-async] Make ASYNC220, ASYNC221, and ASYNC222 examples error out-of-the-box (#​18978)
  • [flake8-async] Make ASYNC251 example error out-of-the-box (#​18990)
  • [flake8-bandit] Make S201 example error out-of-the-box (#​19017)
  • [flake8-bandit] Make S604 and S609 examples error out-of-the-box (#​19049)
  • [flake8-bugbear] Make B028 example error out-of-the-box (#​19054)
  • [flake8-bugbear] Make B911 example error out-of-the-box (#​19051)
  • [flake8-datetimez] Make DTZ011 example error out-of-the-box (#​19055)
  • [flake8-datetimez] Make DTZ901 example error out-of-the-box (#​19056)
  • [flake8-pyi] Make PYI032 example error out-of-the-box (#​19061)
  • [flake8-pyi] Make example error out-of-the-box (PYI014, PYI015) (#​19097)
  • [flake8-pyi] Make example error out-of-the-box (PYI042) (#​19101)
  • [flake8-pyi] Make example error out-of-the-box (PYI059) (#​19080)
  • [flake8-pyi] Make example error out-of-the-box (PYI062) (#​19079)
  • [flake8-pytest-style] Make example error out-of-the-box (PT023) (#​19104)
  • [flake8-pytest-style] Make example error out-of-the-box (PT030) (#​19105)
  • [flake8-quotes] Make example error out-of-the-box (Q003) (#​19106)
  • [flake8-simplify] Make example error out-of-the-box (SIM110) (#​19113)
  • [flake8-simplify] Make example error out-of-the-box (SIM113) (#​19109)
  • [flake8-simplify] Make example error out-of-the-box (SIM401) (#​19110)
  • [pyflakes] Fix backslash in docs (F621) (#​19098)
  • [pylint] Fix PLC0415 example (#​18970)
astral-sh/uv (uv)

v0.7.19

Compare Source

The uv build backend is now stable, and considered ready for production use.

The uv build backend is a great choice for pure Python projects. It has reasonable defaults, with the goal of requiring zero configuration for most users, but provides flexible configuration to accommodate most Python project structures. It integrates tightly with uv, to improve messaging and user experience. It validates project metadata and structures, preventing common mistakes. And, finally, it's very fast — uv sync on a new project (from uv init) is 10-30x faster than with other build backends.

To use uv as a build backend in an existing project, add uv_build to the [build-system] section in your pyproject.toml:

[build-system]
requires = ["uv_build>=0.7.19,<0.8.0"]
build-backend = "uv_build"

In a future release, it will replace hatchling as the default in uv init. As before, uv will remain compatible with all standards-compliant build backends.

Python
  • Add PGO distributions of Python for aarch64 Linux, which are more optimized for better performance

See the python-build-standalone release for more details.

Enhancements
  • Ignore Python patch version for --universal pip compile (#​14405)
  • Update the tilde version specifier warning to include more context (#​14335)
  • Clarify behavior and hint on tool install when no executables are available (#​14423)
Bug fixes
  • Make project and interpreter lock acquisition non-fatal (#​14404)
  • Includes sys.prefix in cached environment keys to avoid --with collisions across projects (#​14403)
Documentation
  • Add a migration guide from pip to uv projects (#​12382)

v0.7.18

Compare Source

Python
  • Added arm64 Windows Python 3.11, 3.12, 3.13, and 3.14

    These are not downloaded by default, since x86-64 Python has broader ecosystem support on Windows.
    However, they can be requested with cpython-<version>-windows-aarch64.

Enhancements
  • Keep track of retries in ManagedPythonDownload::fetch_with_retry (#​14378)
  • Reuse build (virtual) environments across resolution and installation (#​14338)
  • Improve trace message for cached Python interpreter query (#​14328)
  • Use parsed URLs for conflicting URL error message (#​14380)
Preview features
  • Ignore invalid build backend settings when not building (#​14372)
Bug fixes
  • Fix equals-star and tilde-equals with python_version and python_full_version (#​14271)
  • Include the canonical path in the interpreter query cache key (#​14331)
  • Only drop build directories on program exit (#​14304)
  • Error instead of panic on conflict between global and subcommand flags (#​14368)
  • Consistently normalize trailing slashes on URLs with no path segments (#​14349)
Documentation
  • Add instructions for publishing to JFrog's Artifactory (#​14253)
  • Edits to the build backend documentation (#​14376)

Configuration

📅 Schedule: Branch creation - "every 3 months on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

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

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

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • 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 bot: dependencies 🤖 Dependency file updates by renovate 🤖 label Jul 1, 2025
@renovate renovate bot force-pushed the renovate/most-testlint-dependencies branch from cf05b80 to 060f848 Compare July 1, 2025 21:08
@renovate renovate bot changed the title Update pre-commit hook pycqa/flake8 to v7.3.0 Update most test/lint dependencies Jul 1, 2025
@renovate renovate bot force-pushed the renovate/most-testlint-dependencies branch from 060f848 to e0354ca Compare July 2, 2025 23:27
@srittau
Copy link
Collaborator

srittau commented Jul 3, 2025

I assume the new flake8 hits are due to the change "Add support for always-deferred annotations (PEP 749)" in pyflakes 3.4.0 (see https://github.com/PyCQA/pyflakes/blob/main/NEWS.rst).

The new errors all seem to be related to the following pattern:

X: Foo

a = X.bar  # F821 undefined name `X`

Which is a true complaint in implementation files, but not so much in stub files.

I suggest we just disable F821 in stub files. This should be caught by our type checker tests anyways.

@srittau
Copy link
Collaborator

srittau commented Jul 3, 2025

Actually from .flake8:

# F821: Typeshed is a testing ground for flake8-pyi, which monkeypatches F821

So maybe we need to fix flake8-pyi?

@renovate renovate bot force-pushed the renovate/most-testlint-dependencies branch from e0354ca to b14d963 Compare July 3, 2025 19:56
@srittau srittau closed this Jul 4, 2025
@srittau srittau reopened this Jul 4, 2025
@AlexWaygood AlexWaygood merged commit 9ff94f1 into main Jul 4, 2025
155 checks passed
@AlexWaygood AlexWaygood deleted the renovate/most-testlint-dependencies branch July 4, 2025 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot: dependencies 🤖 Dependency file updates by renovate 🤖
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants