Update Python dependencies #3
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more here.
This PR contains the following updates:
==7.9.1
->==7.10.7
==8.4.1
->==8.4.2
==0.12.11
->==0.13.2
Release Notes
nedbat/coveragepy (coverage)
v7.10.7
Compare Source
Performance: with branch coverage in large files, generating HTML, JSON, or
LCOV reports could take far too long due to some quadratic behavior when
creating the function and class index pages. This is now fixed, closing
issue 2048
_. Thanks to Daniel Diniz for help diagnosing the problem.Most warnings and a few errors now have links to a page in the docs
explaining the specific message. Closes
issue 1921
_... _issue 1921: #1921
.. _issue 2048: #2048
.. _changes_7-10-6:
v7.10.6
Compare Source
Fix:
source
directories were not properly communicated to subprocessesthat ran in different directories, as reported in
issue 1499
_. This is nowfixed.
Performance:
Alex Gaynor continues fine-tuning <pull 2038_>
_ the speed ofcombination, especially with many contexts.
.. _issue 1499: #1499
.. _pull 2038: #2038
.. _changes_7-10-5:
v7.10.5
Compare Source
coverage combine
: it's now about twice asfast! Huge thanks to Alex Gaynor for pull requests
2032 <pull 2032_>
,2033 <pull 2033_>
, and2034 <pull 2034_>
_... _pull 2032: #2032
.. _pull 2033: #2033
.. _pull 2034: #2034
.. _changes_7-10-4:
v7.10.4
Compare Source
Added
patch = fork
for times when the built-in forking support isinsufficient.
Fix:
patch = execv
also inherits the entire coverage configuration now... _changes_7-10-3:
v7.10.3
Compare Source
Fixes for
patch = subprocess
:If subprocesses spawned yet more subprocesses simultaneously, some coverage
could be missed. This is now fixed, closing
issue 2024
_.If subprocesses were created in other directories, their data files were
stranded there and not combined into the totals, as described in
issue 2025
_. This is now fixed.On Windows (or maybe only some Windows?) the patch would fail with a
ModuleNotFound
error trying to import coverage. This is now fixed,closing
issue 2022
_.Originally only options set in the coverage configuration file would apply
to subprocesses. Options set on the
coverage run
command line (such as--branch
) wouldn't be communicated to the subprocesses. This couldlead to combining failures, as described in
issue 2021
_. Now the entireconfiguration is used in subprocesses, regardless of its origin.
Added
debug=patch
to help diagnose problems.Fix: really close all SQLite databases, even in-memory ones. Closes
issue 2017
_... _issue 2017: #2017
.. _issue 2021: #2021
.. _issue 2022: #2022
.. _issue 2024: #2024
.. _issue 2025: #2025
.. _changes_7-10-2:
v7.10.2
Compare Source
actually executed. This is now fixed, closing
issue 1999
_. Python 3.9still shows the problem.
.. _issue 1999: #1999
.. _changes_7-10-1:
v7.10.1
Compare Source
Fix: the exclusion for
if TYPE_CHECKING:
was wrong: it marked the branchas partial, but it should have been a line exclusion so the entire clause
would be excluded. Improves
issue 831
_.Fix: changed where .pth files are written for
patch = subprocess
, closingissue 2006
_... _issue 2006: #2006
.. _changes_7-10-0:
v7.10.0
Compare Source
A new configuration option: ":ref:
config_run_patch
" specifies named patchesto work around some limitations in coverage measurement. These patches are
available:
patch = _exit
lets coverage save its data even when :func:os._exit() <python:os._exit>
is used to abruptly end the process. This closeslong-standing
issue 310
_ as well as its duplicates:issue 312
,issue 1673
,issue 1845
, andissue 1941
.patch = subprocess
measures coverage in Python subprocesses createdwith :mod:
subprocess
, :func:os.system
, or one of the :func:execv <python:os.execl>
or :func:spawnv <python:os.spawnl>
family offunctions. Closes old
issue 367
, its duplicateissue 378
and oldissue 689
_.patch = execv
adjusts the :func:execv <python:os.execl>
family offunctions to save coverage data before ending the current program and
starting the next. Not available on Windows. Closes
issue 43
_ after 15years!
The HTML report now dimly colors subsequent lines in multi-line statements.
They used to have no color. This gives a better indication of the amount of
code missing in the report. Closes
issue 1308
_.Two new exclusion patterns are part of the defaults:
...
is automaticallyexcluded as a line and
if TYPE_CHECKING:
is excluded as a branch. Closesissue 831
_.A new command-line option:
--save-signal=USR1
specifies a signal thatcoverage.py will listen for. When the signal is sent, the coverage data will
be saved. This makes it possible to save data from within long-running
processes. Thanks,
Arkady Gilinsky <pull 1998_>
_.A new configuration option: ":ref:
config_report_partial_also
" is a list ofregexes to add as pragmas for partial branches. This parallels the
":ref:
config_report_exclude_also
" setting for adding line exclusionpatterns.
A few file path configuration settings didn't allow for tilde expansion:
:ref:
config_json_output
, :ref:config_lcov_output
and:ref:
config_run_debug_file
. This is now fixed.Wheels are included for 3.14 now that 3.14 rc1 is available.
We no longer ship a PyPy-specific wheel. PyPy will install the pure-Python
wheel. Closes
issue 2001
_.In the very unusual situation of not having a current frame, coverage no
longer crashes when using the sysmon core, fixing
issue 2005
_... _issue 43: #43
.. _issue 310: #310
.. _issue 312: #312
.. _issue 367: #367
.. _issue 378: #378
.. _issue 689: #689
.. _issue 831: #831
.. _issue 1308: #1308
.. _issue 1673: #1673
.. _issue 1845: #1845
.. _issue 1941: #1941
.. _pull 1998: #1998
.. _issue 2001: #2001
.. _issue 2005: #2005
.. _changes_7-9-2:
v7.9.2
Compare Source
Fix: complex conditionals within a line might cause a KeyError when using
sys.monitoring, as reported in
issue 1991
_. This is now fixed.Fix: we can now measure coverage for code in Python archive (.par) files.
Thanks,
Itamer Oren <pull 1984_>
_... _pull 1984: #1984
.. _issue 1991: #1991
.. _changes_7-9-1:
pytest-dev/pytest (pytest)
v8.4.2
Compare Source
astral-sh/ruff (ruff)
v0.13.2
Compare Source
Released on 2025-09-25.
Preview features
flake8-async
] Implementblocking-path-method
(ASYNC240
) (#20264)flake8-bugbear
] Implementmap-without-explicit-strict
(B912
) (#20429)flake8-bultins
] Detect class-scope builtin shadowing in decorators, default args, and attribute initializers (A003
) (#20178)ruff
] Implementlogging-eager-conversion
(RUF065
) (#19942).pyw
files by default when linting and formatting (#20458)Bug fixes
flake8-comprehensions
] Preserve trailing commas for single-element lists (C409
) (#19571)flake8-pyi
] Avoid syntax error from conflict withPIE790
(PYI021
) (#20010)flake8-simplify
] Correct fix for positivemaxsplit
without separator (SIM905
) (#20056)pyupgrade
] FixUP008
not to apply when__class__
is a local variable (#20497)ruff
] FixB004
to skip invalidhasattr
/getattr
calls (#20486)ruff
] Replace-nan
withnan
when using the value to construct aDecimal
(FURB164
) (#20391)Documentation
ruff-wasm-web
(#20539)flake8-bandit
] Clarify the supported hashing functions (S324
) (#20534)Other changes
playground
] Allow hover quick fixes to appear for overlapping diagnostics (#20527)playground
] Fix non‑BMP code point handling in quick fixes and markers (#20526)Contributors
v0.13.1
Compare Source
Released on 2025-09-18.
Preview features
flake8-simplify
] Detect unnecessaryNone
default for additional key expression types (SIM910
) (#20343)flake8-use-pathlib
] Add fix forPTH123
(#20169)flake8-use-pathlib
] FixPTH101
,PTH104
,PTH105
,PTH121
fixes (#20143)flake8-use-pathlib
] MakePTH111
fix unsafe because it can change behavior (#20215)pycodestyle
] FixE301
to only trigger for functions immediately within a class (#19768)refurb
] Marksingle-item-membership-test
fix as always unsafe (FURB171
) (#20279)Bug fixes
flake8-bandit
] Fix truthiness: dict-only**
displays not truthy forshell
(S602
,S604
,S609
) (#20177)flake8-simplify
] Fix diagnostic to show correct method name forstr.rsplit
calls (SIM905
) (#20459)flynt
] Use triple quotes for joined raw strings with newlines (FLY002
) (#20197)pyupgrade
] Fix false positive when class name is shadowed by local variable (UP008
) (#20427)pyupgrade
] Prevent infinite loop withI002
andUP026
(#20327)ruff
] Recognize t-strings, generators, and lambdas ininvalid-index-type
(RUF016
) (#20213)Rule changes
RUF102
] Respect rule redirects in invalid rule code detection (#20245)flake8-bugbear
] Mark the fix forunreliable-callable-check
as always unsafe (B004
) (#20318)ruff
] Allow dataclass attribute value instantiation from nested frozen dataclass (RUF009
) (#20352)CLI
output-format=sarif
(#20300)Documentation
ruff
] Addanalyze.string-imports-min-dots
to settings (#20375)Other changes
Contributors
v0.13.0
Compare Source
Check out the blog post for a migration
guide and overview of the changes!
Breaking changes
Several rules can now add
from __future__ import annotations
automaticallyTC001
,TC002
,TC003
,RUF013
, andUP037
now addfrom __future__ import annotations
as part of their fixes when thelint.future-annotations
setting is enabled. This allows the rules to movemore imports into
TYPE_CHECKING
blocks (TC001
,TC002
, andTC003
),use PEP 604 union syntax on Python versions before 3.10 (
RUF013
), andunquote more annotations (
UP037
).Full module paths are now used to verify first-party modules
Ruff now checks that the full path to a module exists on disk before
categorizing it as a first-party import. This change makes first-party
import detection more accurate, helping to avoid false positives on local
directories with the same name as a third-party dependency, for example. See
the FAQ
section on import categorization for more details.
Deprecated rules must now be selected by exact rule code
Ruff will no longer activate deprecated rules selected by their group name
or prefix. As noted below, the two remaining deprecated rules were also
removed in this release, so this won't affect any current rules, but it will
still affect any deprecations in the future.
The deprecated macOS configuration directory fallback has been removed
Ruff will no longer look for a user-level configuration file at
~/Library/Application Support/ruff/ruff.toml
on macOS. This feature wasdeprecated in v0.5 in favor of using the XDG
specification
(usually resolving to
~/.config/ruff/ruff.toml
), like on Linux. Thefallback and accompanying deprecation warning have now been removed.
Removed Rules
The following rules have been removed:
pandas-df-variable-name
(PD901
)non-pep604-isinstance
(UP038
)Stabilization
The following rules have been stabilized and are no longer in preview:
airflow-dag-no-schedule-argument
(
AIR002
)airflow3-removal
(AIR301
)airflow3-moved-to-provider
(
AIR302
)airflow3-suggested-update
(
AIR311
)airflow3-suggested-to-move-to-provider
(
AIR312
)long-sleep-not-forever
(ASYNC116
)f-string-number-format
(FURB116
)os-symlink
(PTH211
)generic-not-last-base-class
(
PYI059
)redundant-none-literal
(PYI061
)pytest-raises-ambiguous-pattern
(
RUF043
)unused-unpacked-variable
(
RUF059
)useless-class-metaclass-type
(
UP050
)The following behaviors have been stabilized:
assert-raises-exception
(B017
)now checks for direct calls to
unittest.TestCase.assert_raises
andpytest.raises
instead ofonly the context manager forms.
missing-trailing-comma
(COM812
)and
prohibited-trailing-comma
(
COM819
) now check for trailing commas in PEP 695 type parameter lists.raw-string-in-exception
(EM101
)now also checks for byte strings in exception messages.
invalid-mock-access
(PGH005
) nowchecks for
AsyncMock
methods likenot_awaited
in addition to the synchronous variants.useless-import-alias
(PLC0414
) nolonger applies to
__init__.py
files, where it conflicted with one of the suggested fixes forunused-import
(F401
).bidirectional-unicode
(PLE2502
) nowalso checks for U+061C (Arabic Letter Mark).
multiple-with-statements
(
SIM117
) is now marked as always safe.Preview features
pyupgrade
] EnableUP043
in stub files (#20027)Bug fixes
pyupgrade
] ApplyUP008
only when the__class__
cell exists (#19424)ruff
] Fix empty f-string detection inin-empty-collection
(RUF060
) (#20249)Server
Documentation
pep8-naming
] Fix formatting of__all__
(N816
) (#20301)v0.12.12
Compare Source
Release Notes
Preview features
airflow
] ConvertDatasetOrTimeSchedule(datasets=...)
toAssetOrTimeSchedule(assets=...)
(AIR311
) (#20202)airflow
] Improve theAIR002
error message (#20173)airflow
] Moveairflow.operators.postgres_operator.Mapping
fromAIR302
toAIR301
(#20172)flake8-async
] Implementblocking-input
rule (ASYNC250
) (#20122)flake8-use-pathlib
] MakePTH119
andPTH120
fixes unsafe because they can change behavior (#20118)pylint
] Add U+061C toPLE2502
(#20106)ruff
] Fix false negative for empty f-strings indeque
calls (RUF037
) (#20109)Bug fixes
fastapi
] Fix false positive for paths with spaces around parameters (FAST003
) (#20077)flake8-comprehensions
] SkipC417
when lambda containsyield
/yield from
(#20201)perflint
] Handle tuples in dictionary comprehensions (PERF403
) (#19934)Rule changes
pycodestyle
] Preserve return type annotation forParamSpec
(E731
) (#20108)Documentation
Contributors
Install ruff 0.12.12
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.12.12/ruff-installer.ps1 | iex"
Download ruff 0.12.12
Configuration
📅 Schedule: Branch creation - Between 01:00 AM and 05:59 AM, only on Tuesday ( * 1-5 * * 2 ) in timezone Etc/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.
This PR was generated by Mend Renovate. View the repository job log.