Lock file maintenance Python dependencies #169
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.
This PR contains the following updates:
1.1.0->1.3.2^7.10.6->^7.12.01.10.22->1.10.24^1.10.22, <2->^1.10.24, <2^8.4.1->^8.4.2^8.4.1->^8.4.2^0.43.1->^0.43.2^6.0.2->^6.0.3^0.12.11->^0.14.6🔧 This Pull Request updates lock files to use the latest dependency versions.
Release Notes
canonical/cos-lib (cosl)
v1.3.2Compare Source
What's Changed
Full Changelog: canonical/cos-lib@1.3.1...1.3.2
v1.3.1Compare Source
What's Changed
New Contributors
Full Changelog: canonical/cos-lib@1.3.0...1.3.1
v1.3.0Compare Source
What's Changed
type_convert_storedby @MichaelThamm in #155Full Changelog: canonical/cos-lib@1.2.0...1.3.0
v1.2.0Compare Source
What's Changed
Full Changelog: canonical/cos-lib@1.1.0...1.2.0
coveragepy/coveragepy (coverage)
v7.12.0Compare Source
The HTML report now shows separate coverage totals for statements and
branches, as well as the usual combined coverage percentage. Thanks to Ryuta
Otsuka for the
discussion <issue 2081_>_ and theimplementation <pull 2085_>_.The JSON report now includes separate coverage totals for statements and
branches, thanks to
Ryuta Otsuka <pull 2090_>_.Fix:
except*clauses were not handled properly under the "sysmon"measurement core, causing KeyError exceptions as described in
issue 2086_.This is now fixed.
Fix: we now defend against aggressive mocking of
open()that could causeerrors inside coverage.py. An example of a failure is in
issue 2083_.Fix: in unusual cases where a test suite intentionally exhausts the system's
file descriptors to test handling errors in
open(), coverage.py wouldfail when trying to open source files, as described in
issue 2091_. Thisis now fixed.
A small tweak to the HTML report: file paths now use thin spaces around
slashes to make them easier to read.
.. _issue 2081: #2081
.. _issue 2083: #2083
.. _pull 2085: #2085
.. _issue 2086: #2086
.. _pull 2090: #2090
.. _issue 2091: #2091
.. _changes_7-11-3:
v7.11.3Compare Source
Fix: the 7.11.1 changes meant that conflicts between a requested measurement
core and other settings would raise an error. This was a breaking change from
previous behavior, as reported in
issue 2076_ andissue 2078_.The previous behavior has been restored: when the requested core conflicts
with other settings, another core is used instead, and a warning is issued.
For contributors: the repo has moved from Ned's
nedbat GitHub account_ tothe
coveragepy GitHub organization_. The default branch has changed frommaster to main.
.. _issue 2076: #2076
.. _issue 2078: #2078
.. _nedbat GitHub account: https://github.com/nedbat
.. _coveragepy GitHub organization: https://github.com/coveragepy
.. _changes_7-11-2:
v7.11.2Compare Source
Fix: using the "sysmon" measurement core in 7.11.1, if Python code was
claimed to come from a non-Python file, a
NotPythonexception could beraised. This could happen for example with Jinja templates compiled to
Python, as reported in
issue 2077_. This is now fixed.Doc: corrected the first entry in the 7.11.1 changelog.
.. _issue 2077: #2077
.. _changes_7-11-1:
v7.11.1Compare Source
Fix: some chanages to details of how the measurement core is chosen, and how
conflicting settings are handled. The "sysmon" core cannot be used with some
conurrency settings, with dynamic context, and in Python 3.12/3.13, with
branch measurement.
If the core is not specified and defaults to "sysmon" (Python 3.14+), but
other settings conflict with sysmon, then the "ctrace" core will be used
instead with no warning. For concurrency conflicts, this used to produce an
error, as described in
issue 2064_.If the "sysmon" core is explicitly requested in your configuration, but
other settings conflict, an error is now raised. This used to produce a
warning.
Fix: some multi-line case clauses or for loops (and probably other
constructs) could cause incorrect claims of missing branches with the
sys.monitoring core, as described in
issue 2070_. This is now fixed.Fix: when running in pytest under coverage, a
breakpoint()would stop inthe wrong frame, one level down from where it should, as described in
issue 1420_. This was due to a coverage change in v6.4.1 that seemed to give aslight performance improvement, but I couldn't reproduce the performance
gain, so it's been reverted, fixing the debugger problem.
A new debug option
--debug=coreshows which core is in use and why.Split
sqlitedebugging information out of thesys:ref:coverage debug <cmd_debug>and :ref:cmd_run_debugoptions since it's bulky and notvery useful.
Updated the :ref:
howitworkspage to better describe the three differentmeasurement cores.
.. _issue 1420: #1420
.. _issue 2064: #2064
.. _issue 2070: #2070
.. _changes_7-11-0:
v7.11.0Compare Source
.. _changes_7-10-7:
v7.10.7Compare 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:
pydantic/pydantic (pydantic)
v1.10.24Compare Source
GitHub release
What's Changed
This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support.
Several minor changes (considered non-breaking changes according to our versioning policy)
are also included in this release. Make sure to look into them before upgrading.
Note that Pydantic V1 is not compatible with Python 3.14 and greater.
Changes (see the alpha and beta releases for additional changes since 2.11):
Packaging
New Features
extraparameter to the validate functions by @anvilpete in #12233exclude_computed_fieldsserialization option by @Viicos in #12334preverse_empty_pathURL options by @Viicos in #12336union_formatparameter to JSON Schema generation by @Viicos in #12147__qualname__parameter forcreate_modelby @Atry in #12001Fixes
TypeAdapterby @Viicos in #12324Anyfor context type annotation inTypeAdapterby @inducer in #12279FieldInfoinpydantic.fields.__all__by @Viicos in #12339validation_aliasin@validate_callby @Viicos in #12340Anyas context annotation in plugin API by @Viicos in #12341stacklevelin warnings when possible by @Viicos in #12342New Contributors
v1.10.23Compare Source
pytest-dev/pytest (pytest)
v8.4.2Compare Source
pytest 8.4.2 (2025-09-03)
Bug fixes
#13478: Fixed a crash when using
console_output_style{.interpreted-text role="confval"} withtimesand a module is skipped.#13530: Fixed a crash when using
pytest.approx{.interpreted-text role="func"} anddecimal.Decimal{.interpreted-text role="class"} instances with thedecimal.FloatOperation{.interpreted-text role="class"} trap set.#13549: No longer evaluate type annotations in Python
3.14when inspecting function signatures.This prevents crashes during module collection when modules do not explicitly use
from __future__ import annotationsand import types for annotations within aif TYPE_CHECKING:block.#13559: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in
pytest.Parser.addini{.interpreted-text role="meth"}.#13563:
pytest.approx{.interpreted-text role="func"} now only importsnumpyif NumPy is already insys.modules. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.Improved documentation
pytest_generate_testsis discovered in test modules/classes; other hooks must be inconftest.pyor plugins.Contributor-facing changes
-Wdefaultor a similar override.test_doctest_unexpected_exceptionin Python3.14.CIenvironment variable -- byogrisel{.interpreted-text role="user"}.charmed-kubernetes/pytest-operator (pytest-operator)
v0.43.2Compare Source
What's Changed
Full Changelog: charmed-kubernetes/pytest-operator@v0.43.1...v0.43.2
yaml/pyyaml (pyyaml)
v6.0.3Compare Source
What's Changed
Full Changelog: yaml/pyyaml@6.0.2...6.0.3
astral-sh/ruff (ruff)
v0.14.6Compare Source
Released on 2025-11-21.
Preview features
flake8-bandit] Support new PySNMP API paths (S508,S509) (#21374)Bug fixes
fmt: skipfor compound statements on a single line (#20633)refurb] FixFURB103autofix (#21454)ruff] Fix false positive for complex conversion specifiers inlogging-eager-conversion(RUF065) (#21464)Rule changes
ruff] Avoid false positive onClassVarreassignment (RUF012) (#21478)CLI
ruff analyzeoption to skip over imports inTYPE_CHECKINGblocks (#21472)Documentation
eglot-formathook to eglot-managed Python buffers (#21459)force-excludein "Configuration > Python file discovery" (#21500)Contributors
v0.14.5Compare Source
Released on 2025-11-13.
Preview features
flake8-simplify] ApplySIM113when index variable is of typeint(#21395)pydoclint] Fix false positive when Sphinx directives follow a "Raises" section (DOC502) (#20535)pydoclint] Support NumPy-style comma-separated parameters (DOC102) (#20972)refurb] Auto-fix annotated assignments (FURB101) (#21278)ruff] Ignorestr()when not used for simple conversion (RUF065) (#21330)Bug fixes
matchpatterns (#21362)flake8-simplify] Fix false positive for iterable initializers with generator arguments (SIM222) (#21187)pyupgrade] Fix false positive on relative imports from local.builtinsmodule (UP029) (#21309)pyupgrade] Consistently set the deprecated tag (UP035) (#21396)Rule changes
refurb] Detect empty f-strings (FURB105) (#21348)CLI
--add-noqa(#21294)ruff linter --output-format=json(#21316)--help(#21337)Documentation
flake8-annotations] Add link toallow-star-arg-anyoption (ANN401) (#21326)Other changes
configuration] Improve error message whenline-lengthexceedsu16::MAX(#21329)Contributors
v0.14.4Compare Source
Released on 2025-11-06.
Preview features
matchpatterns withascaptures (#21176)refurb] Expand fix safety for keyword arguments andDecimals (FURB164) (#21259)refurb] Preserve argument ordering in autofix (FURB103) (#20790)Bug fixes
flake8-bugbear] Ignore non-NFKC attribute names inB009andB010(#21131)refurb] Fix false negative for underscores before sign inDecimalconstructor (FURB157) (#21190)ruff] Fix false positives on starred arguments (RUF057) (#21256)Rule changes
airflow] extend deprecated argumentconcurrencyinairflow..DAG(AIR301) (#21220)Documentation
extenddocs (#21135)flake8-comprehensions] Fix typo inC416documentation (#21184)Other changes
ruff analyze graphwork with jupyter notebooks (#21161)Contributors
v0.14.3Compare Source
Released on 2025-10-30.
Preview features
--output-formatwith--watch(#21097)pydoclint] Fix false positive on explicit exception re-raising (DOC501,DOC502) (#21011)pyflakes] Revert to stable behavior if imports for module lie in alternate branches forF401(#20878)pylint] Implementstop-iteration-return(PLR1708) (#20733)ruff] Add support for additional eager conversion patterns (RUF065) (#20657)Bug fixes
ISC001] Fix panic when string literals are unclosed (#21034)flake8-django] ApplyDJ001to annotated fields (#20907)flake8-pyi] FixPYI034to not trigger on metaclasses (PYI034) (#20881)flake8-type-checking] FixTC003false positive withfuture-annotations(#21125)pyflakes] Fix false positive for__class__in lambda expressions within class definitions (F821) (#20564)pyupgrade] Fix false positive forTypeVarwith default on Python <3.13 (UP046,UP047) (#21045)Rule changes
airflow] Extendairflow.models..Paramcheck (AIR311) (#21043)airflow] Warn thatairflow....DAG.create_dagrunhas been removed (AIR301) (#21093)refurb] Preserve digit separators inDecimalconstructor (FURB157) (#20588)Server
Documentation
flake8-bandit] Fix correct example forS308(#21128)Other changes
line-lengthgoes beyond threshold (#21072)Contributors
v0.14.2Compare Source
Released on 2025-10-23.
Preview features
flake8-gettext] Resolve qualified names and built-in bindings (INT001,INT002,INT003) (#19045)Bug fixes
fastapi] Handle ellipsis defaults inFAST002autofix (#20810)flake8-simplify] SkipSIM911when unknown arguments are present (#20697)pyupgrade] Always parenthesize assignment expressions in fix forf-string(UP032) (#21003)pyupgrade] FixUP032conversion for decimal ints with underscores (#21022)fastapi] Skip autofix for keyword and__debug__path params (FAST003) (#20960)Rule changes
flake8-bugbear] SkipB905andB912for fewer than two iterables and no starred arguments (#20998)ruff] UseDiagnosticTagfor morepyflakesandpandasrules (#20801)CLI
ruff rule(#20168)Documentation
Other changes
matchpatterns bind different names (#20682)Contributors
v0.14.1Compare Source
Released on 2025-10-16.
Preview features
flake8-bugbear] Omit annotation in preview fix forB006(#20877)flake8-logging-format] Avoid dropping implicitly concatenated pieces in theG004fix (#20793)pydoclint] Implementdocstring-extraneous-parameter(DOC102) (#20376)pyupgrade] ExtendUP019to detecttyping_extensions.Text(UP019) (#20825)pyupgrade] Fix false negative forTypeVarwith default argument innon-pep695-generic-class(UP046) (#20660)Bug fixes
Truthiness::from_exprfor lambdas, generators, and f-strings (#20704)fastapi] Fix false positives for path parameters that FastAPI doesn't recognize (FAST003) (#20687)flake8-pyi] Fix operator precedence by adding parentheses when needed (PYI061) (#20508)ruff] Suppress diagnostic for f-string interpolations with debug text (RUF010) (#20525)Rule changes
airflow] Add warning toairflow.datasets.DatasetEventusage (AIR301) (#20551)flake8-bugbear] MarkB905andB912fixes as unsafe (#20695)DiagnosticTagfor more rules - changes display in editors (#20758,#20734)Documentation
lint.flake8-type-checking.quoted-annotationsdocs (#20765)flake8-datetimez] Clarify docs for several rules (#20778)RUF015description (#20873)Other changes
Contributors
v0.14.0Compare Source
Released on 2025-10-07.
Breaking changes
Preview features
flake8-bugbear] Include certain guaranteed-mutable expressions: tuples, generators, and assignment expressions (B006) (#20024)refurb] Add fixes forFURB101andFURB103(#20520)ruff] ExtendFA102with listed PEP 585-compatible APIs (#20659)Bug fixes
flake8-annotations] Fix return type annotations to handle shadowed builtin symbols (ANN201,ANN202,ANN204,ANN205,ANN206) (#20612)flynt] Fix f-string quoting for mixed quote joiners (FLY002) (#20662)isort] Fix inserting required imports before future imports (I002) (#20676)ruff] Handle argfile expansion errors gracefully (#20691)ruff] SkipRUF051ifelse/elifblock is present (#20705)ruff] Improve handling of intermixed comments inside from-imports (#20561)Documentation
flake8-comprehensions] Clarify fix safety documentation (C413) (#20640)Contributors
v0.13.3Compare Source
Release Notes
Released on 2025-10-02.
Preview features
ruff format --checkand add support for different output formats (#20443)pyflakes] Handle some common submodule import situations forunused-import(F401) (#20200)ruff] Do not flag%r+repr()combinations (RUF065) (#20600)Bug fixes
cli] Add conflict between--add-noqaand--diffoptions (#20642)pylint] Exempt required imports fromPLR0402(#20381)pylint] Fix missingmax-nested-blocksin settings display (#20574)pyupgrade] Prevent infinite loop withI002andUP026(#20634)Rule changes
flake8-simplify] Improve help message clarity (SIM105) (#20548)Documentation
isort] Clarify dependency betweenorder-by-typeandcase-sensitivesettings (#20559)pylint] Clarify fix safety to include left-hand hashability (PLR6201) (#20518)Other changes
playground] Fix quick fixes for empty ranges in playground (#20599)Contributors
Install ruff 0.13.3
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.13.3/ruff-installer.ps1 | iex"Download ruff 0.13.3
v0.13.2Compare Source
Release Notes
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).pywfiles 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 positivemaxsplitwithout separator (SIM905) (#20056)pyupgrade] FixUP008not to apply when__class__is a local variable (#20497)ruff] FixB004to skip invalidhasattr/getattrcalls (#20486)ruff] Replace-nanwithnanwhen 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
Install ruff 0.13.2
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.13.2/ruff-installer.ps1 | iex"Download ruff 0.13.2
| File | Platform | Checksum |
| ---------------------------------------------------------------------------------------------------------------------------