Skip to content

Update Python dependencies#76

Merged
carlcsaposs-canonical merged 1 commit into16/edgefrom
renovate/python-dependencies
Feb 10, 2026
Merged

Update Python dependencies#76
carlcsaposs-canonical merged 1 commit into16/edgefrom
renovate/python-dependencies

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 10, 2026

This PR contains the following updates:

Package Change Age Confidence
coverage ==7.13.2==7.13.4 age confidence
ruff (source, changelog) ==0.14.14==0.15.0 age confidence
ty (changelog) ==0.0.14==0.0.15 age confidence

Release Notes

coveragepy/coveragepy (coverage)

v7.13.4

Compare Source

  • Fix: the third-party code fix in 7.13.3 required examining the parent
    directories where coverage was run. In the unusual situation that one of the
    parent directories is unreadable, a PermissionError would occur, as
    described in issue 2129_. This is now fixed.

  • Fix: in test suites that change sys.path, coverage.py could fail with
    "RuntimeError: Set changed size during iteration" as described and fixed in
    pull 2130_. Thanks, Noah Fatsi.

  • We now publish ppc64le wheels, thanks to Pankhudi Jain <pull 2121_>_.

.. _pull 2121: #​2121
.. _issue 2129: #​2129
.. _pull 2130: #​2130

.. _changes_7-13-3:

v7.13.3

Compare Source

  • Fix: in some situations, third-party code was measured when it shouldn't have
    been, slowing down test execution. This happened with layered virtual
    environments such as uv sometimes makes. The problem is fixed, closing issue 2082_. Now any directory on sys.path that is inside a virtualenv is
    considered third-party code.

.. _issue 2082: #​2082

.. _changes_7-13-2:

astral-sh/ruff (ruff)

v0.15.0

Compare Source

Released on 2026-02-03.

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

Breaking changes
  • Ruff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.

  • The linter now supports block suppression comments. For example, to suppress N803 for all parameters in this function:

    # ruff: disable[N803]
    def foo(
        legacyArg1,
        legacyArg2,
        legacyArg3,
        legacyArg4,
    ): ...
    # ruff: enable[N803]

    See the documentation for more details.

  • The ruff:alpine Docker image is now based on Alpine 3.23 (up from 3.21).

  • The ruff:debian and ruff:debian-slim Docker images are now based on Debian 13 "Trixie" instead of Debian 12 "Bookworm."

  • Binaries for the ppc64 (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.

  • Ruff now resolves all extended configuration files before falling back on a default Python version.

Stabilization

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

The following behaviors have been stabilized:

  • The --output-format flag is now respected when running Ruff in --watch mode, and the full output format is now used by default, matching the regular CLI output.
  • builtin-attribute-shadowing (A003) now detects the use of shadowed built-in names in additional contexts like decorators, default arguments, and other attribute definitions.
  • duplicate-union-member (PYI016) now considers typing.Optional when searching for duplicate union members.
  • split-static-string (SIM905) now offers an autofix when the maxsplit argument is provided, even without a sep argument.
  • dict-get-with-none-default (SIM910) now applies to more types of key expressions.
  • super-call-with-parameters (UP008) now has a safe fix when it will not delete comments.
  • unnecessary-default-type-args (UP043) now applies to stub (.pyi) files on Python versions before 3.13.
Formatter

This release introduces the new 2026 style guide, with the following changes:

  • Lambda parameters are now kept on the same line and lambda bodies will be parenthesized to let
    them break across multiple lines (#​21385)
  • Parentheses around tuples of exceptions in except clauses will now be removed on Python 3.14 and
    later (#​20768)
  • A single empty line is now permitted at the beginning of function bodies (#​21110)
  • Parentheses are avoided for long as captures in match statements (#​21176)
  • Extra spaces between escaped quotes and ending triple quotes can now be omitted (#​17216)
  • Blank lines are now enforced before classes with decorators in stub files (#​18888)
Preview features
Bug fixes
  • Fix suppression indentation matching (#​22903)
Rule changes
  • Customize where the fix_title sub-diagnostic appears (#​23044)
  • [FastAPI] Add sub-diagnostic explaining why a fix was unavailable (FAST002) (#​22565)
  • [flake8-annotations] Don't suggest NoReturn for functions raising NotImplementedError (ANN201, ANN202, ANN205, ANN206) (#​21311)
  • [pyupgrade] Make fix unsafe if it deletes comments (UP017) (#​22873)
  • [pyupgrade] Make fix unsafe if it deletes comments (UP020) (#​22872)
  • [pyupgrade] Make fix unsafe if it deletes comments (UP033) (#​22871)
  • [refurb] Do not add abc.ABC if already present (FURB180) (#​22234)
  • [refurb] Make fix unsafe if it deletes comments (FURB110) (#​22768)
  • [ruff] Add sub-diagnostics with permissions (RUF064) (#​22972)
Server
  • Identify notebooks by LSP didOpen instead of .ipynb file extension (#​22810)
CLI
  • Add --color CLI option to force colored output (#​22806)
Documentation
  • Document - stdin convention in CLI help text (#​22817)
  • [refurb] Change example to re.search with ^ anchor (FURB167) (#​22984)
  • Fix link to Sphinx code block directives (#​23041)
  • [pydocstyle] Clarify which quote styles are allowed (D300) (#​22825)
  • [flake8-bugbear] Improve docs for no-explicit-stacklevel (B028) (#​22538)
Other changes
Contributors
astral-sh/ty (ty)

v0.0.15

Compare Source

Released on 2026-02-04.

Bug fixes
  • Add support for resolving imports of packages installed into Debian/Ubuntu dist-packages directories (#​22466)
  • Avoid not-iterable false positives when iterating over an instance of an intersection type with only negated elements (#​22089)
  • Fix support for stringized annotations in very large files (#​22913)
  • Don't emit Liskov diagnostics for methods with mangled names (#​23062)
  • Enforce that a Final symbol cannot be reassigned even after a conditional binding (#​22986)
  • Fix TypedDict construction from existing TypedDict values (#​22904)
  • Fix Self resolution for classes nested within methods (#​22964)
  • Fix bidirectional inference with PEP 695 union type aliases (#​22988)
  • Fix edge-case bugs when narrowing tagged unions in match statements (#​22870)
  • Fix false-positive diagnostics when iterating over an instance of an intersection that includes a TypeVar of which the upper bound is a union where the union includes a non-iterable type (#​22117)
  • Fix lookup of __contains__ to respect descriptors (#​23056)
  • Fix narrowing of nonlocal variables with conditional assignments (#​22966)
  • Fix several bugs that could affect NewTypes of NewTypes of float (#​22997)
  • Fix several type narrowing bugs involving PEP-695 type aliases (#​22894)
  • Fix spurious query cycles in decorated functions with parameter defaults, for improved performance and improved determinism (#​23014)
  • Fix unary and comparison operators for TypeVars with union bounds (#​22925)
  • Understand functions as method descriptors even if they are decorated with a decorator annotated as returning a PEP-695 alias to a Callable type (#​22902)
  • dataclass_transform: Fix visibility of field specifiers when models are nested inside methods (#​23069)
LSP server
  • Fix hover showing Unknown for bare Final instance attributes (#​23003)
  • Improve support for goto-type, goto-declaration, hover, and highlighting of string annotations (#​22878)
  • Include setters and deleters when renaming properties (#​22999)
  • Show type qualifiers like Final in on-hover hints (#​23005)
Configuration
  • Add new unused-type-ignore-comment rule (#​22790)
  • Add a mechanism to ignore/warn/select all rules (#​22832)
  • Support multiple workspace folders in a single ty LSP server instance (#​22953)
  • Only add ./src as a search path if ./src/__init__.py(i) does not exist (#​22851)
Type checking
  • Add a diagnostic detecting if a variable is declared as Final but never has any bindings (#​23001)
  • Add a diagnostic detecting overridden comparison dunder methods on order=True dataclasses (#​22689)
  • Add a hint to invalid-argument-type and invalid-assignment diagnostics if a variable is annotated with a type from the numbers module (#​22931, #​22938)
  • Add diagnostic hint on unresolved-reference to suggest using "list" instead of "List" (#​22827)
  • Add new diagnostic for invalid dataclass field orders (#​19825)
  • Allow a subclass method with a positional-only parameter to override a superclass method without that parameter if the parameter in the subclass method has a default value (#​23037)
  • Allow self-referential imports outside the global scope (#​22963)
  • Ban ... in odd places inside tuple specializations (#​22889)
  • Ban Required, NotRequired and ReadOnly in parameter annotations (#​22888)
  • Ban legacy TypeVar bounds or constraints from containing type variables (#​22949)
  • Ban multiple unpacked variadic tuples in a tuple specialization (#​22884)
  • Detect generic Callables in the return type of function signatures (#​22954)
  • Detect invalid isinstance() and issubclass() calls against TypedDict classes (#​22887)
  • Detect invalid issubclass() calls against Protocol classes with non-method members (#​22896)
  • Detect invalid attempts to subclass Protocol[] and Generic[] simultaneously (#​22948)
  • Emit a diagnostic on incorrect applications of the legacy convention for specifying positional-only parameters (#​22943)
  • Emit an error if a TypeVarTuple is used to subscript Generic or Protocol without being unpacked (#​22952)
  • Fallback to metaclass __getattr__ or __getattribute__ when looking up attributes on class objects (#​22985)
  • Fix a bug where an overridden type in a dataclass subclass would not be respected if the dataclass subclass field had a default value but the superclass field did not (#​22965)
  • Improve bidirectional type inference involving PEP-695 type aliases (#​22989)
  • Improve detection of invalid NewTypes with generic bases (#​22961)
  • Improve reachability analysis when evaluating the truthiness of expressions that involve variables that may not be bound in all code paths (#​22971)
  • Improve the error message if ** is used with a non-mapping in the context of a call to an overloaded function (#​22921)
  • Infer ParamSpec from class constructors for callable protocols (#​22853)
  • Move the location of some invalid-overload diagnostics (#​22933)
  • Point to an overload with an invalid @final decorator when emitting invalid-overload errors for invalid @final decorators (#​22893)
  • Avoid false positives when iterating over an instance of an intersection with only negated elements by preserving "pure negation" types in descriptor lookups (#​22907)
  • Promote Literal types when inferring elements for very large unannotated tuples, for improved performance (#​22841)
  • Recognize functions with stub bodies in Protocol classes as implicitly abstract (#​22838)
  • Reduce false positives involving heterogeneous dicts by tracking dictionary literal keys as individual places (#​22882)
  • Reduce false positives when subscripting classes generic over TypeVarTuples (#​22950)
  • Remove special handling for Any() in match class patterns (#​23011)
  • Support type[None] in type expressions (#​22892)
  • Support legacy namespace packages declared using pkg_resources.declare_namespace (#​22987)
  • Sync vendored typeshed stubs (#​23006), Typeshed diff
  • Validate signatures of dataclass __post_init__ methods (#​22730)
Contributors

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.


  • 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 requested review from a team, carlcsaposs-canonical, dragomirp, juju-charm-bot, marceloneppel and taurus-forever and removed request for a team February 10, 2026 04:06
@codecov
Copy link

codecov bot commented Feb 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 53.37%. Comparing base (b87eb27) to head (08c0466).
⚠️ Report is 3 commits behind head on 16/edge.

❌ Your project status has failed because the head coverage (53.37%) is below the target coverage (70.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files
@@           Coverage Diff            @@
##           16/edge      #76   +/-   ##
========================================
  Coverage    53.37%   53.37%           
========================================
  Files            5        5           
  Lines          948      948           
  Branches       109      109           
========================================
  Hits           506      506           
  Misses         423      423           
  Partials        19       19           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@carlcsaposs-canonical carlcsaposs-canonical merged commit 2839278 into 16/edge Feb 10, 2026
7 of 8 checks passed
@renovate renovate bot deleted the renovate/python-dependencies branch February 10, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant