kaxil opened a new pull request, #73627: URL: https://github.com/apache/airflow/pull/73627
After #73308 refreshed `uv.lock`, main started failing `pip check`, and #73621 reverted the refresh: > azure-ai-projects 2.7.0 has requirement openai>=3.0.0, but you have openai 2.54.0. The cause is the `openai>=2.47.0,<3` override from #73511. A uv override replaces every package's openai requirement, not only pydantic-ai-slim's extra-gated `openai>=3.8`, which is the one it was added for. azure-ai-projects 2.5.0 moved to an unconditional `openai>=3.0.0`. Without the override the resolver keeps it at 2.4.0, because litellm and llama-index-llms-openai cap openai below 3. With the override there is no conflict left to see, so `uv lock --upgrade` moves it to 2.7.0 and only `pip check` notices. This caps azure-ai-projects at `<2.5`, the version the resolver would choose without the override. The Azure provider declares `azure-ai-projects>=2.2.0` and main was already on 2.4.0, so the tested version does not change. The comment next to the override now says that any package whose next release needs openai 3 unconditionally has to be capped the same way. It also corrects the condition for dropping the override: besides the two upstream fixes it already names, google-cloud-aiplatform has to lift its litellm cap (`<1.86` below Python 3.14), otherwise the lock stays on a litellm that still caps openai. Checked with `breeze ci-image build --python 3.10`, which runs the same frozen `uv sync` and `pip check` as the failing job: | Tree | azure-ai-projects | CI image build | |---|---|---| | main at #73308 (`ecfa20322b`) | 2.7.0 | fails in `pip check` with the error above | | that tree plus this change, relocked (azure-ai-projects is the only lock change) | 2.4.0 | `No broken requirements found.` | | current main plus this change | 2.4.0 | `No broken requirements found.` | I also ran a full `uv lock --upgrade` with this change and compared the PyPI metadata of every locked package that depends on openai against the locked openai 2.54.0. azure-ai-projects was the only unconditional requirement it failed. pydantic-ai-slim's `openai>=3.8` still sits behind its `openai` extra, which `pip check` skips, same as on main today. **Moving the override to openai 3 instead does not work yet.** The latest litellm (1.102.1) and llama-index-llms-openai (0.8.1) still require openai below 3, so `pip check` would fail on them instead. The `pandas` reorder in `uv.lock` is `uv lock` restoring the order #73308's lock already had; the revert brought back the unsorted entry. --- * Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)** for more information. Note: commit author/co-author name and email in commits become permanently public when merged. * For fundamental code changes, an Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals)) is needed. * When adding dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x). * For significant user-facing changes create newsfragment: `{pr_number}.significant.rst`, in [airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments). You can add this file in a follow-up commit after the PR is created so you know the PR number. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
