Python: Refresh dependencies and restore Python 3.15 resolution - #8505
Eduard van Valkenburg (eavanvalkenburg) merged 5 commits into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The lockfile’s global Python cap still prevents Python 3.15 workspace commands.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Restricts Hyperlight to Python 3.10–3.14 and excludes it from core[all] on newer interpreters.
Changes:
- Adds Hyperlight Python-version constraints.
- Documents supported versions.
- Regenerates the workspace lockfile.
File summaries
| File | Description |
|---|---|
python/packages/hyperlight/pyproject.toml |
Caps package support below Python 3.15. |
python/packages/core/pyproject.toml |
Excludes Hyperlight from all on Python 3.15+. |
python/packages/hyperlight/README.md |
Documents the supported range. |
python/uv.lock |
Refreshes resolution with the new constraints. |
Review details
- Files reviewed: 3/4 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
MAF Automated Review — Iteration 1
Result: Findings reported
Scope: full PR (1 commit(s)): 6dd6aeeb48eb
Model: gpt-5.6-sol-fast
Overview
The PR correctly caps the published Hyperlight package and guards its inclusion in core[all]; the existing platform marker, lazy-loading error, and Python 3.10-3.14 CI matrix provide useful guardrails. However, retaining the capped package in the root uv workspace turns that package cap into a workspace-wide Python ceiling, blocking unrelated Python 3.15 workspace operations before those guards execute. One Medium finding remains.
Reviewed the supplied pull-request change set across correctness, security/reliability, architecture, and failure behavior.
1 verified finding remained after source verification (1 medium) across 1 file. Details are attached to the affected lines below.
Affected areas: python/packages/hyperlight/pyproject.toml
Consolidate the open Python dependency updates, remove pandas from the shared development environment, and update checker compatibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Allow sample type checkers to validate the PEP 723 script without requiring pandas in the shared development environment. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep the Hyperlight connector compatible with the workspace Python range while installing the native Wasm backend only where wheels are published. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
MAF Automated Review — Iteration 2
Result: No findings
Scope: 2 net-new commit(s): b06da62fe6e2, 279f55e367d7
Model: gpt-5.6-sol-fast
Overview
This incremental update refreshes development tooling and lockfiles, keeps pandas local to its PEP 723 sample, and adjusts annotations and test fixtures for newer type checkers without changing production behavior. The sample retains explicit pandas metadata, Lab remains independently locked, and focused converter, event-balancing, checker, and lock validation constrain the affected paths. No new publishable defect was established in this review range.
Reviewed the supplied incremental change set across correctness, security/reliability, architecture, and failure behavior.
No publishable findings remained after source verification for this scope.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Motivation & Context
The Python workspace could not resolve its full supported-version matrix because native dependencies used by the Hyperlight and PostgreSQL connectors publish wheels through Python 3.14 but not Python 3.15. At the same time, seven overlapping Python dependency-update PRs had accumulated, and the shared development environment installed the heavy
pandaspackage solely for self-contained samples.This change restores Python 3.15 workspace resolution without narrowing the entire workspace, consolidates the pending dependency maintenance, and keeps sample-only dependencies local to the scripts that use them.
Description & Review Guide
python_version < '3.15'only to Hyperlight's native Wasm backend and keeps the connector out ofagent-framework-core[all]where no backend is available; installs Psycopg's binary distribution below Python 3.15 while retaining Psycopg and its connection pool with the pure-Python implementation on Python 3.15+; documents the resultinglibpqrequirement; refreshes root and Lab development dependencies and lockfiles; removes sample-onlypandasfrom the root development group; and updates checker compatibility for newer Pyright, Pyrefly, and Ty versions. This consolidates Build(deps-dev): Bump uv from 0.12.9 to 0.12.12 in /python in the basics group across 1 directory #8466, Build(deps-dev): Bump the python-type-checkers group across 1 directory with 2 updates #8467, Python: Build(deps-dev): Bump griffe from 2.2.0 to 2.3.0 in /python #8468, Build(deps-dev): Bump the basics group across 2 directories with 3 updates #8499, Build(deps-dev): Bump the python-type-checkers group across 1 directory with 3 updates #8500, Python: Build(deps-dev): Bump the basics group in /python/packages/lab with 2 updates #8501, and Python: Build(deps): Bump tqdm from 4.70.0 to 4.70.1 in /python/packages/lab #8502.libpq. Developers receive current tooling without installingpandasglobally, and PEP 723 samples continue resolving their own external dependencies. Runtime package APIs are unchanged.libpqrequirement.Related Issue
Fixes #8504
Consolidates the dependency updates from #8466, #8467, #8468, #8499, #8500, #8501, and #8502.
Contribution Checklist
breaking changelabel (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.