Skip to content

chore(deps)(deps): bump the python-dependencies group with 3 updates - #1036

Merged
tschm merged 3 commits into
mainfrom
dependabot/uv/python-dependencies-8a0e396297
Nov 3, 2026
Merged

tschm merged 3 commits into
mainfrom
dependabot/uv/python-dependencies-8a0e396297

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 3, 2026

Copy link
Copy Markdown
Contributor

Bumps the python-dependencies group with 3 updates: narwhals, pytest and hypothesis.

Updates narwhals from 2.27.1 to 2.28.0

Release notes

Sourced from narwhals's releases.

Narwhals v2.28.0

Changes

🚀 Performance improvements

  • perf: drop_nulls before unique in Polars cat.get_categories (#4082)

✨ Enhancements

  • feat: Extend plugin support for IO and from_* methods/functions (#3753)
  • feat: support list.{len,get,min,max,mean,median,sum,sort} for Dask (#4017)

🐞 Bug fixes

  • fix null-handling in mode for sql like (#4111)
  • fix: ignore modules that are still being imported (#4068)
  • fix: handle eager plugin native objects in is_into_lazyframe, get_native_namespace and Series.__getitem__ (#4098)
  • fix: Consistently raise DuplicateError in rename (#4104)
  • fix: support DuckDB 2.0 in joins, time zone lookup and from_native typing (#4099)
  • ci: fix lightgbm, patch tea-tasting (#4100)
  • fix: var/std on Dask return null for N <= ddof, and zero instead of null for constant group_by groups (#4081)
  • fix: don't raise unhashable type for cuDF categorical columns (#4090)
  • fix: treat non-ASCII letters as word characters in str.to_titlecase on DuckDB, Spark-like and old polars (#4085)
  • fix: restore set difference between selectors (#4087)
  • fix: return selector union columns in schema order (#4032)
  • fix: correct var/std with ddof > 1 on SQL backends, including over and null for N <= ddof (#4022)
  • fix: stop using DuckDBPyRelation.fetchone, removed in DuckDB 2.0 (#4078)
  • test: fix Implementation typing tests for pyrefly 1.4 (#4077)
  • fix: floor // on DuckDB for negative operands and floats (#3994)
  • fix: keep the dtype of scalar reduction results on the PyArrow backend (#4043)
  • fix: raise InvalidOperationError for mismatched list.contains items on pyarrow-backed backends (#3915)
  • fix: raise consistent errors for invalid descending/reverse in sort and top_k (#4038)
  • fix: do not drop nulls in mode on pandas-like and dask (#4061)
  • fix: avoid copying numpy arrays in pandas Series.from_numpy on pandas 3 (#4096)
  • fix: DuckDB dt.total_* wrong for durations of one hour or more (#4106)
  • fix: return null from arg_min and arg_max when no valid values exist (#4079)

📖 Documentation

  • docs: mention forward_fill / ffill in fill_null docs (#4057)
  • docs: document that null values are ignored in aggregations (#4050)
  • docs: document unicode case mapping differences in str.{to_uppercase,to_lowercase} (#3986)

🛠️ Other improvements

  • test: avoid tied sort keys in first/last group-by test (#4112)
  • chore: make bump_version.py fail-safe and stop it from churning uv.lock (#4052)
  • test: use packaging.version.Version for backend version checks (#4066)
  • chore(deps): lock file maintenance (#4075)
  • chore: prek autoupdate (#4069)

... (truncated)

Commits
  • 49fea3c release: Bump version to 2.28.0
  • 8e2561e test: avoid tied sort keys in first/last group-by test (#4112)
  • 97545f7 fix null-handling in mode for sql like (#4111)
  • 2090b20 fix: ignore modules that are still being imported (#4068)
  • d2c1728 skip changelog(deps): Update github actions (#4110)
  • 7d0be6c fix: do not drop nulls in mode on pandas-like and dask (#4061)
  • 1ac6a0a fix: handle eager plugin native objects in is_into_lazyframe, `get_native_n...
  • 9b4c7d9 fix: avoid copying numpy arrays in pandas Series.from_numpy on pandas 3 (#4...
  • 632d9c2 test: only xfail test_truediv_same_dims on Polars < 2.1 (#4109)
  • a5c368e fix: DuckDB dt.total_* wrong for durations of one hour or more (#4106)
  • 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 hypothesis from 6.170.9 to 6.170.14

Commits
  • 255a880 Bump hypothesis version to 6.170.14 and update changelog
  • fd6038c Merge pull request #4949 from moreati/issue4926-denylist
  • 8dd4664 Rephrase RELEASE note following review
  • 5e93693 Bump hypothesis version to 6.170.13 and update changelog
  • a5512a3 Merge pull request #4952 from jorenham/codemods/characters-kwargs
  • 8375d12 Fix characters() codemod crash with **kwargs
  • ac21c15 Add RELEASE note
  • 04e55b4 dateutil: Exclude coverage measurement of old releases
  • 891e478 Update pinned dependencies (to block eMudhra certificates)
  • 8fca8fd Bump hypothesis version to 6.170.12 and update changelog
  • Additional commits viewable in compare view

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

Bumps the python-dependencies group with 3 updates: [narwhals](https://github.com/narwhals-dev/narwhals), [pytest](https://github.com/pytest-dev/pytest) and [hypothesis](https://github.com/HypothesisWorks/hypothesis).


Updates `narwhals` from 2.27.1 to 2.28.0
- [Release notes](https://github.com/narwhals-dev/narwhals/releases)
- [Commits](narwhals-dev/narwhals@v2.27.1...v2.28.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 `hypothesis` from 6.170.9 to 6.170.14
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](HypothesisWorks/hypothesis@v6.170.9...v6.170.14)

---
updated-dependencies:
- dependency-name: narwhals
  dependency-version: 2.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: pytest
  dependency-version: 9.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: hypothesis
  dependency-version: 6.170.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot requested a review from tschm as a code owner November 3, 2026 05:12
@dependabot @github

dependabot Bot commented on behalf of github Nov 3, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies, python. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

5.2.3 reads the private Node._nodeid that pytest 9.2 removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tschm
tschm merged commit fdf6392 into main Nov 3, 2026
48 checks passed
@tschm
tschm deleted the dependabot/uv/python-dependencies-8a0e396297 branch November 3, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant