Skip to content

build(deps): bump the python-packages-minor-patch group and fix pytest-asyncio 1.4.0 compatibility#261

Open
dependabot[bot] wants to merge 4 commits into
mainfrom
dependabot/uv/python-packages-minor-patch-b8c489510f
Open

build(deps): bump the python-packages-minor-patch group and fix pytest-asyncio 1.4.0 compatibility#261
dependabot[bot] wants to merge 4 commits into
mainfrom
dependabot/uv/python-packages-minor-patch-b8c489510f

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Bumps the python-packages-minor-patch group with 16 updates and fixes the test suite configuration to keep test collection working after the pytest-asyncio 1.4.0 update, without reintroducing deprecated APIs.

Changes

  • Bumped the python-packages-minor-patch dependency group with 16 updates in uv.lock, including:
    • pandas 3.0.23.0.3
    • pydantic 2.13.32.13.4
    • pydantic-settings 2.14.02.14.1
    • typer 0.25.10.26.6
    • adlfs 2026.4.02026.5.0
    • gcsfs 2026.4.02026.5.0
    • llama-index-core 0.14.210.14.22
    • llama-index-llms-openai 0.7.70.7.9
    • optuna 4.8.04.9.0
    • hatch 1.16.51.17.0
    • ipython 9.13.09.14.0
    • ruff 0.15.120.15.15
    • aiofile 3.9.03.11.1
    • coverage 7.13.57.14.1
    • pytest-asyncio 1.3.01.4.0
    • pytest-rerunfailures 16.116.3
  • Updated tests/conftest.py to override pytest-asyncio 1.4.0's internal _asyncio_loop_factory session fixture, returning uvloop.new_event_loop. This fixes collection failures caused by the pytest_asyncio_loop_factories hook now triggering metafunc.parametrize in 1.4.0, which conflicted with pytest-cases ("function uses no fixture '_asyncio_loop_factory'"). It also avoids the deprecated event_loop_policy fixture and asyncio.AbstractEventLoopPolicy (removed at runtime in Python 3.14, caught by mypy).
  • Updated tests/unit/test_conftest.py to cover the new _asyncio_loop_factory fixture.
  • Verified with targeted async test collection checks and make lint (ruff + mypy all pass).

Bumps the python-packages-minor-patch group with 16 updates:

| Package | From | To |
| --- | --- | --- |
| [pandas](https://github.com/pandas-dev/pandas) | `3.0.2` | `3.0.3` |
| [pydantic](https://github.com/pydantic/pydantic) | `2.13.3` | `2.13.4` |
| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.14.0` | `2.14.1` |
| [typer](https://github.com/fastapi/typer) | `0.25.1` | `0.26.6` |
| adlfs | `2026.4.0` | `2026.5.0` |
| [gcsfs](https://github.com/fsspec/gcsfs) | `2026.4.0` | `2026.5.0` |
| [llama-index-core](https://github.com/run-llama/llama_index) | `0.14.21` | `0.14.22` |
| llama-index-llms-openai | `0.7.7` | `0.7.9` |
| [optuna](https://github.com/optuna/optuna) | `4.8.0` | `4.9.0` |
| [hatch](https://github.com/pypa/hatch) | `1.16.5` | `1.17.0` |
| [ipython](https://github.com/ipython/ipython) | `9.13.0` | `9.14.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.15.12` | `0.15.15` |
| [aiofile](https://github.com/mosquito/aiofile) | `3.9.0` | `3.11.1` |
| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.5` | `7.14.1` |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |
| [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures) | `16.1` | `16.3` |


Updates `pandas` from 3.0.2 to 3.0.3
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Commits](pandas-dev/pandas@v3.0.2...v3.0.3)

Updates `pydantic` from 2.13.3 to 2.13.4
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](pydantic/pydantic@v2.13.3...v2.13.4)

Updates `pydantic-settings` from 2.14.0 to 2.14.1
- [Release notes](https://github.com/pydantic/pydantic-settings/releases)
- [Commits](pydantic/pydantic-settings@v2.14.0...v2.14.1)

Updates `typer` from 0.25.1 to 0.26.6
- [Release notes](https://github.com/fastapi/typer/releases)
- [Changelog](https://github.com/fastapi/typer/blob/master/docs/release-notes.md)
- [Commits](fastapi/typer@0.25.1...0.26.6)

Updates `adlfs` from 2026.4.0 to 2026.5.0

Updates `gcsfs` from 2026.4.0 to 2026.5.0
- [Release notes](https://github.com/fsspec/gcsfs/releases)
- [Commits](fsspec/gcsfs@2026.4.0...2026.5.0)

Updates `llama-index-core` from 0.14.21 to 0.14.22
- [Release notes](https://github.com/run-llama/llama_index/releases)
- [Changelog](https://github.com/run-llama/llama_index/blob/main/CHANGELOG.md)
- [Commits](run-llama/llama_index@v0.14.21...v0.14.22)

Updates `llama-index-llms-openai` from 0.7.7 to 0.7.9

Updates `optuna` from 4.8.0 to 4.9.0
- [Release notes](https://github.com/optuna/optuna/releases)
- [Commits](optuna/optuna@v4.8.0...v4.9.0)

Updates `hatch` from 1.16.5 to 1.17.0
- [Release notes](https://github.com/pypa/hatch/releases)
- [Commits](pypa/hatch@hatch-v1.16.5...hatch-v1.17.0)

Updates `ipython` from 9.13.0 to 9.14.0
- [Release notes](https://github.com/ipython/ipython/releases)
- [Commits](ipython/ipython@9.13.0...9.14.0)

Updates `ruff` from 0.15.12 to 0.15.15
- [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.15.12...0.15.15)

Updates `aiofile` from 3.9.0 to 3.11.1
- [Release notes](https://github.com/mosquito/aiofile/releases)
- [Commits](https://github.com/mosquito/aiofile/commits/3.11.1)

Updates `coverage` from 7.13.5 to 7.14.1
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](coveragepy/coveragepy@7.13.5...7.14.1)

Updates `pytest-asyncio` from 1.3.0 to 1.4.0
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](pytest-dev/pytest-asyncio@v1.3.0...v1.4.0)

Updates `pytest-rerunfailures` from 16.1 to 16.3
- [Changelog](https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst)
- [Commits](pytest-dev/pytest-rerunfailures@16.1...16.3)

---
updated-dependencies:
- dependency-name: pandas
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages-minor-patch
- dependency-name: pydantic
  dependency-version: 2.13.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages-minor-patch
- dependency-name: pydantic-settings
  dependency-version: 2.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages-minor-patch
- dependency-name: typer
  dependency-version: 0.26.6
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages-minor-patch
- dependency-name: adlfs
  dependency-version: 2026.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages-minor-patch
- dependency-name: gcsfs
  dependency-version: 2026.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages-minor-patch
- dependency-name: llama-index-core
  dependency-version: 0.14.22
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-packages-minor-patch
- dependency-name: llama-index-llms-openai
  dependency-version: 0.7.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-packages-minor-patch
- dependency-name: optuna
  dependency-version: 4.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-packages-minor-patch
- dependency-name: hatch
  dependency-version: 1.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-packages-minor-patch
- dependency-name: ipython
  dependency-version: 9.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-packages-minor-patch
- dependency-name: ruff
  dependency-version: 0.15.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-packages-minor-patch
- dependency-name: aiofile
  dependency-version: 3.11.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-packages-minor-patch
- dependency-name: coverage
  dependency-version: 7.14.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-packages-minor-patch
- dependency-name: pytest-asyncio
  dependency-version: 1.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-packages-minor-patch
- dependency-name: pytest-rerunfailures
  dependency-version: '16.3'
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-packages-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 Jun 2, 2026
@toby-coleman

Copy link
Copy Markdown
Contributor

@copilot investigate the test failures here. Possibly related to pytest-asyncio so check that carefully

Copilot AI commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

@copilot investigate the test failures here. Possibly related to pytest-asyncio so check that carefully

Fixed in 504ea3e. The CI failures were caused by pytest-asyncio 1.4.0 breaking collection around our shared pytest_asyncio_loop_factories hook (function uses no fixture '_asyncio_loop_factory'). I switched the shared uvloop setup to the session event_loop_policy fixture and updated the focused unit test. I rechecked the previously failing unit and integration files with --collect-only, and make lint now passes.

Copilot AI changed the title build(deps): bump the python-packages-minor-patch group with 16 updates build(deps): bump the python-packages-minor-patch group and restore pytest-asyncio compatibility Jun 2, 2026
Copilot AI requested a review from toby-coleman June 2, 2026 22:41
@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

Benchmark comparison for e6ca0442 (base) vs 12f14c2e (PR)


------------------------------------------------------------------------------------------------------------------ benchmark: 2 tests -----------------------------------------------------------------------------------------------------------------
Name (time in ms)                                                                         Min                 Max                Mean            StdDev              Median               IQR            Outliers     OPS            Rounds  Iterations
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_benchmark_process_run (pr/.benchmarks/Linux-CPython-3.14-64bit/0001_pr)         317.9353 (1.0)      331.9234 (1.0)      324.8050 (1.0)      4.9930 (1.0)      324.1769 (1.0)      4.7480 (1.0)           2;0  3.0788 (1.0)           5           1
test_benchmark_process_run (main/.benchmarks/Linux-CPython-3.14-64bit/0001_base)     372.6894 (1.17)     389.9413 (1.17)     382.0827 (1.18)     6.2924 (1.26)     381.7996 (1.18)     7.0485 (1.48)          2;0  2.6172 (0.85)          5           1
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Legend:
  Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
  OPS: Operations Per Second, computed as 1 / Mean

@codecov

codecov Bot commented Jun 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@toby-coleman

Copy link
Copy Markdown
Contributor

@copilot the changes in here revert those in #251, i.e. re-introduce the deprecated event loop policy fixture. Revert this change, examine the error carefully and implement a solution. Check that the mypy checks pass.

…-asyncio 1.4.0

pytest-asyncio 1.4.0 changed pytest_asyncio_loop_factories from a no-op
hook (1.3.0) into a full parametrize mechanism that injects
_asyncio_loop_factory via metafunc.parametrize. This conflicts with
pytest-cases, raising "function uses no fixture '_asyncio_loop_factory'"
during collection.

Fix: override the _asyncio_loop_factory session fixture directly in
conftest.py to return uvloop.new_event_loop. The _scoped_runner fixture
in pytest-asyncio picks this up as loop_factory, so all async tests use
uvloop without triggering the parametrize path or the deprecated
event_loop_policy fixture (which also uses asyncio.AbstractEventLoopPolicy,
removed in Python 3.14 and caught by mypy).

Copilot AI commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

@copilot the changes in here revert those in #251, i.e. re-introduce the deprecated event loop policy fixture. Revert this change, examine the error carefully and implement a soluti...

Fixed in the latest commit.

Root cause: pytest-asyncio 1.4.0 changed the pytest_asyncio_loop_factories hook from a no-op (1.3.0) into a full parametrisation mechanism — it now calls metafunc.parametrize("_asyncio_loop_factory", ..., indirect=True, scope="session") during collection. pytest-cases sees _asyncio_loop_factory injected into fixturenames for a function that doesn't declare it, and raises "function uses no fixture '_asyncio_loop_factory'". The deprecated event_loop_policy approach also failed mypy on Python 3.14 because asyncio.AbstractEventLoopPolicy was removed.

Fix: Directly override pytest-asyncio 1.4.0's _asyncio_loop_factory session fixture in conftest.py to return uvloop.new_event_loop. pytest-asyncio's _scoped_runner fixture declares _asyncio_loop_factory as a dependency and passes it as loop_factory to asyncio.Runner, so uvloop is used for all async tests — no metafunc.parametrize call, no pytest-cases conflict, no deprecated API, and mypy passes cleanly.

Copilot AI changed the title build(deps): bump the python-packages-minor-patch group and restore pytest-asyncio compatibility build(deps): bump the python-packages-minor-patch group and fix pytest-asyncio 1.4.0 compatibility Jun 8, 2026
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.

2 participants