Python: Bump locked OpenAI SDK to 3.22.1 - #8882
Eduard van Valkenburg (eavanvalkenburg) merged 1 commit into
Conversation
Development lock only: update openai 3.15.0 -> 3.22.1 in python/uv.lock. No package dependency ranges changed. uv also tightened five transitive dependency-edge markers without changing any resolved package version.
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request. Check if the Files changed in this pull request are included in default exclusions.
💡 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: No findings
Scope: full PR (1 commit(s)): c30a17b10f17
Model: gpt-5.6-sol
Overview
This PR updates only the shared Python development/CI lock from OpenAI 3.15.0 to 3.22.1 while preserving published dependency ranges. The new artifacts are hash-pinned, the lock validates, and the transitive marker changes follow their parent Python-version gates. Existing cross-version workflows and OpenAI-facing tests provide concrete compatibility coverage, and no publishable Critical, High, or Medium issue was established.
Reviewed the supplied pull-request change set across correctness, security/reliability, architecture, and failure behavior.
No publishable findings remained after source verification for this scope.
Motivation & Context
python/uv.lockresolvesopenai==3.15.0. That version still has the SDK import-time regression tracked in openai/openai-python#2819. The fix, openai/openai-python#3898, shipped in OpenAI 3.16.1 and stops loading unused resources and Assistants types at startup. Every local and CI test process that imports the OpenAI-based clients pays the extra cost. This PR moves the development lock to the latest OpenAI release. It speeds up test runs and doesn't change what we ship.Description & Review Guide
python/uv.lock:openaigoes from 3.15.0 to 3.22.1, the latest on PyPI. I generated it withuv lock --upgrade-package openai==3.22.1. The lock has oneopenaientry with no resolution forks, and that entry moved.pyproject.tomlchanged, and package ranges and floors stay the same:openai>=2.25.0,<4in agent-framework-openai,openai>=2.45.0,<4in DevUI, andopenai>=1.99.0,<4in Hosting Responses. The existing SDK-floor CI lanes keep testing those minimums. Lab's separate lock is untouched.aiologic→sniffio/wraptandculsans→aiologicnow usepython_full_version < '3.13'. That matchesculsans, which is only required below Python 3.13.powerfx→cffi/pythonnetandpythonnet→clr-loadernow usepython_full_version < '3.14'. That matchespowerfx, which declarative only requires below Python 3.14.uv export --all-packages --all-extras --all-groupsoutput for Python 3.11–3.14 before and after. The only difference is theopenailine.python -Iprocesses, interleaved, with mocked HTTP, inert credentials, and no network:FoundryChatClientimport through the first mocked non-streaming response: median 1,767 ms → 1,137 ms.import openaialone, 20 processes each: median 826 ms → 530 ms.import openaialone, with the same pinned dependencies and 20 interleavedpython -Iprocesses, gave a median of 931 ms on 3.15.0, 576 ms on 3.20.0, and 570 ms on 3.22.1. So 3.22.1 keeps the improvement.uv run poe test -P <package>) and type checks (uv run poe typing -P <package>) pass locally with the new lock for openai, foundry, devui, hosting-responses, and foundry_hosting. The type checks are strict Pyright on source plus mypy, pyrefly, ty, zuban, and relaxed Pyright on tests. The OpenAI and Foundry import tests pass. Unit tests for core, foundry_local, ollama, and chatkit, and typing for core and foundry_local, pass too.Related Issue
No Agent Framework issue tracks this development-lock update, and no other open PR changes the locked OpenAI version. For the upstream fix, see openai/openai-python#2819, which openai/openai-python#3898 fixed in OpenAI 3.16.1.
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.