Skip to content

build(deps-dev): bump the uv-minor-patch group across 1 directory with 3 updates - #9

Merged
v-byte-cpu merged 1 commit into
mainfrom
dependabot/uv/uv-minor-patch-fd2ad3c0dd
Oct 31, 2026
Merged

v-byte-cpu merged 1 commit into
mainfrom
dependabot/uv/uv-minor-patch-fd2ad3c0dd

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 31, 2026

Copy link
Copy Markdown
Contributor

Bumps the uv-minor-patch group with 3 updates in the / directory: complexipy, pytest and ruff.

Updates complexipy from 8.0.1 to 8.3.0

Release notes

Sourced from complexipy's releases.

8.3.0

Minor release: a clearer and more correct --diff gate. A run gated by --diff or --staged now shows which functions fail it, and SARIF output is diff-aware (#305). --diff works from outside the repository and inside submodules, --staged respects the selected paths, and a renamed or moved function no longer fails the gate (#291, #305). --fix writes loop guards that linters accept (#291).

Added

  • A run gated by --diff or --staged shows which functions fail it. A REGRESSED or NEW function above the threshold is listed as FAILED and marked FAILS in the diff table, which ends with a Gate: line that counts them. A function above the threshold that the gate lets through is listed as ALLOWED instead of FAILED, and --failed lists only the functions that fail the run. A snapshot run lists the functions its snapshot lets through as ALLOWED too, instead of PASSED. (#305)
  • SARIF output is diff-aware. With a diff, every result carries the baselineState of its function, new, unchanged, or updated, against the reference, and when the diff decides the exit code a complexity result's level is error for a function that fails the run, through the gate or the snapshot, and note for one the run lets through. The GitLab Code Quality report rates the same functions major and info. Fingerprints are unchanged. (#305)

Fixed

  • --diff and --diff-only read each file from the repository that holds it, so a run from outside the repository compares against the ref instead of reporting every function as NEW. A submodule, a repository that the repository around it tracks as a gitlink, is read at the commit the outer repository pins for it at the ref, unless the run starts inside it. A file outside any repository, a ref that names no commit in the file's repository, or a submodule without a pinned commit it has, still reports its functions as NEW, and the run now prints a warning that names the cause. (#291)
  • --diff-only alone no longer warns that --diff and --diff-only are both set. (#291)
  • --staged compares only the staged files the run selects: the path arguments, paths, and exclude apply as they do without it, so complexipy one.py --staged no longer reports the other staged files. They apply to the index, so a staged regular file is compared whatever the working tree holds at its path. A staged deletion that discovery would have selected still reports its functions as REMOVED: under a selected directory, outside hidden paths, and not matched by exclude, .gitignore, .ignore, or git's exclude file. Each file is named by the path the rest of the run reports. (#305)
  • A rename or a move no longer fails --diff or --staged when the function's body stays as it was. A file that git pairs as renamed compares with its old path when the run covers that path, and as added when it moves in from outside the selected paths; a file moved out of them reports nothing. A function above the threshold that the change adds passes only when it replaces a REMOVED function with the same body and at least its complexity, each removed function replaced once, and the compared files (modified, renamed from a covered path, deleted from a covered path, or added) do not hold more functions with that body than they did at the ref, counting the functions that ignore comments hide. Bodies count and pair only within the repository that holds each file. Bodies compare structurally, without formatting, comments, the name, the decorators, or the parameters, so a function or class rename, a move to another file, and a method that becomes a function pass, and a function that moves and changes fails. The diff table names, in a Gate column, the REMOVED function each passing one replaces. has_regressions sees no bodies, so it still fails a moved function above the threshold. A function that an ignore comment now hides is not reported as REMOVED. A deleted Python file that discovery would have selected reports its functions as REMOVED in --diff too, and a deleted symbolic link reports nothing. The snapshot gate does not pair functions: a moved or renamed function above the threshold fails it until --snapshot-create records the function again, and a snapshot rewrite drops the entries of files that no longer exist. (#305)
  • --diff reports the functions of a file that does not parse at the reference as NEW, as --staged does, instead of leaving the file out of the comparison. (#305)
  • The C002 loop guard negates its condition the way a linter expects: x in y becomes x not in y, a is b becomes a is not b, and a name or a call gets a bare not, so --fix no longer writes E713/E714 violations. Parentheses stay around and, or, other comparisons, conditional expressions, lambdas, and walrus assignments. (#291)

Documentation

  • The README and the docs state that --diff, --diff-only, and --staged need Git 2.30 or newer on the PATH, and that analysis without these options does not need Git. (#301)

PRs

New Contributors

Full Changelog: rohaquinlop/complexipy@8.2.0...8.3.0

8.2.0

Minor release: faster runs, fewer crashes, and security hardening. Discovery, refactor plans, --diff, and the language server are faster (#289). Long chained expressions, CR line endings, and several --fix rewrites that changed what the code does are fixed (#288). The language server is quieter by default, and the VS Code extension can draw colored badges (#296). complexipy now treats the content of the analyzed repository as untrusted; see Security below.

Added

  • file_complexity() and code_complexity() take with_plans, True by default. Pass with_plans=False to skip building refactor plans when only the scores are needed.
  • The language server answers complexipy/lineComplexities with the total of every function and the increment of every line, whatever the hint settings say. The VS Code extension draws its colored badges from it (#292).
  • [lsp] diagnostic-range and [lsp] hover choose what the warning underlines and where hover answers.
  • --isolated ignores every configuration file, and --config <path> reads only the named file: its [tool.complexipy] section when the file is named pyproject.toml, and the whole file otherwise. The two flags cannot be combined. Pass either one in CI to pin the gate, so a change to the repository's configuration cannot change it.

Changed

  • The language server is quieter by default. The warning underlines the function name instead of the whole function, and hover answers only on the def lines, so it no longer covers the editor's own hover inside the body (#290). Set diagnostic-range = "function" or hover = "function" under [lsp] for the previous behaviour.
  • Faster runs. File discovery walks the tree once, in parallel, and no longer reads gitignored directories; paths that fail to analyze are listed in path order. The default report, --report-ignored, and the stale ignore comment report share one read of each file. File arguments are analyzed in parallel, and --fix analyzes again only the files it wrote. The analysis cache keeps the entries of other targets unparsed, rewrites its file only when this run's results changed, and holds at most 32 MiB of entries. On macOS, Windows, and 64-bit Linux, complexipy allocates with mimalloc.
  • Refactor plans are measured on their own function instead of the whole file, so --suggest-refactors grows linearly with the file size (#274). --failed, --fix, and --dry-run build plans only for functions over the limit, unless an output lists the others. The web demo builds no plans.
  • --diff and --staged read every file at the ref through one git cat-file --batch process, and look each file up at its own repository path. A file that moved since the ref is reported as new, and a run from a subdirectory finds the history of each file.

... (truncated)

Changelog

Sourced from complexipy's changelog.

[8.3.0] - 2026-10-26

Added

  • A run gated by --diff or --staged shows which functions fail it. A REGRESSED or NEW function above the threshold is listed as FAILED and marked FAILS in the diff table, which ends with a Gate: line that counts them. A function above the threshold that the gate lets through is listed as ALLOWED instead of FAILED, and --failed lists only the functions that fail the run. A snapshot run lists the functions its snapshot lets through as ALLOWED too, instead of PASSED.
  • SARIF output is diff-aware. With a diff, every result carries the baselineState of its function, new, unchanged, or updated, against the reference, and when the diff decides the exit code a complexity result's level is error for a function that fails the run, through the gate or the snapshot, and note for one the run lets through. The GitLab Code Quality report rates the same functions major and info. Fingerprints are unchanged.

Fixed

  • --diff and --diff-only read each file from the repository that holds it, so a run from outside the repository compares against the ref instead of reporting every function as NEW. A submodule, a repository that the repository around it tracks as a gitlink, is read at the commit the outer repository pins for it at the ref, unless the run starts inside it. A file outside any repository, a ref that names no commit in the file's repository, or a submodule without a pinned commit it has, still reports its functions as NEW, and the run now prints a warning that names the cause.
  • --diff-only alone no longer warns that --diff and --diff-only are both set.
  • --staged compares only the staged files the run selects: the path arguments, paths, and exclude apply as they do without it, so complexipy one.py --staged no longer reports the other staged files. They apply to the index, so a staged regular file is compared whatever the working tree holds at its path. A staged deletion that discovery would have selected still reports its functions as REMOVED: under a selected directory, outside hidden paths, and not matched by exclude, .gitignore, .ignore, or git's exclude file. Each file is named by the path the rest of the run reports.
  • A rename or a move no longer fails --diff or --staged when the function's body stays as it was. A file that git pairs as renamed compares with its old path when the run covers that path, and as added when it moves in from outside the selected paths; a file moved out of them reports nothing. A function above the threshold that the change adds passes only when it replaces a REMOVED function with the same body and at least its complexity, each removed function replaced once, and the compared files (modified, renamed from a covered path, deleted from a covered path, or added) do not hold more functions with that body than they did at the ref, counting the functions that ignore comments

... (truncated)

Commits
  • 710ee3a Merge pull request #306 from rohaquinlop/release-8.3.0
  • c8a6309 docs(changelog): list the gate output and diff-aware sarif as added
  • a5be628 docs(changelog): keep an empty unreleased section
  • b79e652 docs(changelog): release 8.3.0
  • 2f70e9c chore(release): bump version to 8.3.0
  • a5055f3 Merge pull request #301 from awais-ur-rehman/feat/document-git-requirement
  • 514d0db chore: merge main
  • 12f0785 docs(diff): drop the changelog entry and note git for compute_diff
  • b539373 Merge pull request #305 from dsfaccini/fix/diff-gate-renames-staged-verdict
  • 6da2728 fix(diff): clarify the gate summary and restore the read_objects doc
  • Additional commits viewable in compare view

Updates pytest from 9.1.1 to 9.2.0

Release notes

Sourced from pytest's releases.

9.2.0

pytest 9.2.0 (2026-10-27)

Removals and backward incompatible breaking changes

  • #14716: -c now raises a usage error for a path that does not exist, is a directory, or is in a format pytest has no loader for. Such paths were previously either ignored or reported as an unhandled FileNotFoundError.

  • #8593: The indirect, ids and scope arguments of Metafunc.parametrize() <pytest.Metafunc.parametrize> -- and therefore of @pytest.mark.parametrize <pytest.mark.parametrize ref> -- are now keyword-only.

    Passing them positionally was a common source of confusing errors, e.g. parametrize("arg1", "arg2", [(1, 2)]) made the argvalues land in indirect and failed with indirect fixture '(1, 2)' doesn't exist; such mistakes now fail with an understandable TypeError. The type annotations have always declared these arguments as keyword-only.

  • #993: Plugin import failures at startup are now reported and classified instead of escaping as a raw traceback with the accidental exit code 1:

    • a plugin that cannot be found -- via -p, pytest_plugins or PYTEST_PLUGINS -- exits with pytest.ExitCode USAGE_ERROR (4), like a conftest.py that fails to import;
    • a plugin that is found but raises while importing -- including a broken pytest11 entry point or a missing plugin dependency -- exits with pytest.ExitCode INTERNAL_ERROR (3), with the traceback preserved.

    pytest.main now returns these codes instead of raising ImportError. Also fixed an IndexError from pytest's own internals when the plugin raised an exception with no arguments.

Deprecations (removal in next major release)

  • #14742: The private _pytest.python.CallSpec2 name has been renamed to CallSpec. The old CallSpec2 alias remains available for now and will be removed in pytest 10 or 11.

  • #14755: Schedule yield_fixture decorator for removal in pytest 10 or 11.

  • #14774: Similarly to the deprecation of class-scoped fixtures defined as instance methods in pytest 9.1, all higher-scoped fixtures (module, package, and session) defined as instance methods are now deprecated.

    They suffer from the same issue the original deprecation only fixed for class-scoped fixtures, see 10819 and 14011.

  • #14808: Passing a non-string value to a string-typed ini option now emits a pytest.PytestRemovedIn10Warning. This affects [tool.pytest.ini_options] in pyproject.toml. In pytest 10 this will raise a TypeError, matching the behavior of the corresponding TOML config path.

  • #7323: Passing bytes to TerminalReporter.write_line() is now deprecated, pass a str instead.

New features

  • #14743: Full diff: now contains a legend explaining the + & - symbols in diff output.
  • #2781: When strict_markers is enabled, marker names used in -m expressions are now validated against registered markers.
  • #6881: Added the parametrize_long_str_id_strategy configuration option to control how long str/bytes parameter values are handled in auto-generated test IDs. Explicit IDs set via ids=[...] or pytest.param(..., id=...) are not affected. Available strategies: short (default, values over 100 chars fall back to argname+index), sha256 (SHA-256 hex digest), legacy (keep full value), and disallow (error requesting explicit IDs).

Improvements in existing functionality

  • #10745: A RecursionError whose recursion origin cannot be located now shows only the first and last 10 stack frames, matching what pytest already did when locating the origin failed outright. Previously the full traceback -- often around a thousand near-identical frames -- was rendered, which was both slow and unreadable. Pass --full-trace to see every frame.

... (truncated)

Commits
  • ae1d0ff Prepare release version 9.2.0
  • 143ce31 pre-commit: exclude codespell on generated release announcements
  • 532dc5f tox: add attrs dependency to regen, needed in reportingdemo.rst
  • a7b2446 Merge pull request #15245 from pytest-dev/claude/project-thread-9jcf91
  • 679d09c [pre-commit.ci] pre-commit autoupdate (#15266)
  • 41d12cd docs: clarify typing for yield fixtures
  • b9022ba Merge pull request #15182 from 1871698/docs/improve-getting-started-description
  • 16f87a7 docs: improve getting-started.rst test execution description
  • 082ed70 Merge pull request #15255 from pytest-dev/claude/project-thread-eoi3d6
  • ae37a01 Merge pull request #15227 from pytest-dev/claude/project-thread-4etye4
  • Additional commits viewable in compare view

Updates ruff from 0.17.0 to 0.17.3

Release notes

Sourced from ruff's releases.

0.17.3

Release Notes

Released on 2026-10-26.

Preview features

  • [suspicious] Add shared-clock-mock (#29074)

Bug fixes

  • [pyupgrade] Avoid incorrect conversions to f-strings (UP032) (#25485)

Performance

  • Buffer stdout in ruff format (#29631)
  • Specialize ASCII identifier lexing (#29503)
  • Speed up identifier and keyword lexing (#29463)

Documentation

  • [flake8-bandit] Describe what the rule actually checks for httpx (S113) (#27936)

Contributors

Install ruff 0.17.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.17.3/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.17.3/ruff-installer.ps1 | iex"

Download ruff 0.17.3

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum

... (truncated)

Changelog

Sourced from ruff's changelog.

0.17.3

Released on 2026-10-26.

Preview features

  • [suspicious] Add shared-clock-mock (#29074)

Bug fixes

  • [pyupgrade] Avoid incorrect conversions to f-strings (UP032) (#25485)

Performance

  • Buffer stdout in ruff format (#29631)
  • Specialize ASCII identifier lexing (#29503)
  • Speed up identifier and keyword lexing (#29463)

Documentation

  • [flake8-bandit] Describe what the rule actually checks for httpx (S113) (#27936)

Contributors

0.17.2

Released on 2026-10-22.

Preview features

  • [complexity] Add unnecessary-regular-expression-compile (#25533)

Bug fixes

  • Avoid syntax errors for type variables with starred constraints (UP040, UP046, UP047, RUF053) (#28362)
  • [pydocstyle] Treat backslash-escaped *args and **kwargs as documented (D417) (#29536)
  • [pylint] Avoid false positive on starred elements (PLE0643) (#29483)
  • [pylint] Mark fixes unsafe when deleting comments (PLR5501, PLW0120) (#29414)
  • [pyupgrade] Mark fix unsafe when deleting comments (UP035) (#29413)

Performance

  • Avoid intermediate names in lint name resolution (#29506)
  • Prefilter bidirectional Unicode checks by UTF-8 leading bytes (#29561)
  • Share postfix parsing and reduce expression copies (#29480)

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

…h 3 updates

Bumps the uv-minor-patch group with 3 updates in the / directory: [complexipy](https://github.com/rohaquinlop/complexipy), [pytest](https://github.com/pytest-dev/pytest) and [ruff](https://github.com/astral-sh/ruff).


Updates `complexipy` from 8.0.1 to 8.3.0
- [Release notes](https://github.com/rohaquinlop/complexipy/releases)
- [Changelog](https://github.com/rohaquinlop/complexipy/blob/main/CHANGELOG.md)
- [Commits](rohaquinlop/complexipy@8.0.1...8.3.0)

Updates `pytest` from 9.1.1 to 9.2.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.1.1...9.2.0)

Updates `ruff` from 0.17.0 to 0.17.3
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.17.0...0.17.3)

---
updated-dependencies:
- dependency-name: complexipy
  dependency-version: 8.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: uv-minor-patch
- dependency-name: pytest
  dependency-version: 9.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: uv-minor-patch
- dependency-name: ruff
  dependency-version: 0.17.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: uv-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Oct 31, 2026
@v-byte-cpu
v-byte-cpu merged commit fa9c9bc into main Oct 31, 2026
2 checks passed
@v-byte-cpu
v-byte-cpu deleted the dependabot/uv/uv-minor-patch-fd2ad3c0dd branch October 31, 2026 14:01
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 python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant