From aad672eceaf5393d434bc47b3eb4762031c09dc4 Mon Sep 17 00:00:00 2001 From: Niko Oliveira Date: Tue, 25 Aug 2026 12:19:28 -0700 Subject: [PATCH] Limit anthropic provider to anthropic SDK below 1.0.0 anthropic 1.0.0 replaces httpx with httpx2 and is a major release the provider has not been validated against. Once the CI environment upgrade pulled it into uv.lock, MyPy providers checks started failing on every PR built on top of it, blocking unrelated work such as the provider release PR #72069. Cap the dependency until the provider is migrated to the 1.x SDK, tracked in #72071. --- providers/anthropic/README.rst | 8 ++++---- providers/anthropic/docs/index.rst | 20 ++++++++++---------- providers/anthropic/pyproject.toml | 12 ++++++++---- uv.lock | 17 +++++++++-------- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/providers/anthropic/README.rst b/providers/anthropic/README.rst index eea65725b0672..aa2a8a925e3ad 100644 --- a/providers/anthropic/README.rst +++ b/providers/anthropic/README.rst @@ -52,13 +52,13 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================== +========================================== ==================== PIP package Version required -========================================== ================== +========================================== ==================== ``apache-airflow`` ``>=3.0.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` -``anthropic`` ``>=0.121.0`` -========================================== ================== +``anthropic`` ``>=0.121.0,<1.0.0`` +========================================== ==================== Optional dependencies ---------------------- diff --git a/providers/anthropic/docs/index.rst b/providers/anthropic/docs/index.rst index f6c79ccb07c2c..fd9c4ef97f7c6 100644 --- a/providers/anthropic/docs/index.rst +++ b/providers/anthropic/docs/index.rst @@ -133,13 +133,13 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``3.0.0``. -========================================== ================== +========================================== ==================== PIP package Version required -========================================== ================== +========================================== ==================== ``apache-airflow`` ``>=3.0.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` -``anthropic`` ``>=0.121.0`` -========================================== ================== +``anthropic`` ``>=0.121.0,<1.0.0`` +========================================== ==================== Optional dependencies --------------------- @@ -152,13 +152,13 @@ Install them when installing from PyPI. For example: pip install apache-airflow-providers-anthropic[bedrock] -=========== =============================== +=========== ====================================== Extra Dependencies -=========== =============================== -``bedrock`` ``anthropic[bedrock]>=0.121.0`` -``vertex`` ``anthropic[vertex]>=0.121.0`` -``aws`` ``anthropic[aws]>=0.121.0`` -=========== =============================== +=========== ====================================== +``bedrock`` ``anthropic[bedrock]>=0.121.0,<1.0.0`` +``vertex`` ``anthropic[vertex]>=0.121.0,<1.0.0`` +``aws`` ``anthropic[aws]>=0.121.0,<1.0.0`` +=========== ====================================== Downloading official packages ----------------------------- diff --git a/providers/anthropic/pyproject.toml b/providers/anthropic/pyproject.toml index 41286bea7b279..a967811f13ff8 100644 --- a/providers/anthropic/pyproject.toml +++ b/providers/anthropic/pyproject.toml @@ -66,15 +66,19 @@ dependencies = [ # reason happens to work further back -- older clients mis-build the discriminated # union into the wrong variant class while preserving ``.type`` -- but only with # response validation left non-strict, so it is not something to depend on. - "anthropic>=0.121.0", + # anthropic 1.0.0 replaces httpx with httpx2 and is a major release the provider + # has not been validated against. Remove the <1.0.0 cap (here and in the extras + # below) after migrating to the 1.x SDK; + # tracked at https://github.com/apache/airflow/issues/72071 + "anthropic>=0.121.0,<1.0.0", ] # The optional dependencies should be modified in place in the generated file # Any change in the dependencies is preserved when the file is regenerated [project.optional-dependencies] -"bedrock" = ["anthropic[bedrock]>=0.121.0"] -"vertex" = ["anthropic[vertex]>=0.121.0"] -"aws" = ["anthropic[aws]>=0.121.0"] +"bedrock" = ["anthropic[bedrock]>=0.121.0,<1.0.0"] +"vertex" = ["anthropic[vertex]>=0.121.0,<1.0.0"] +"aws" = ["anthropic[aws]>=0.121.0,<1.0.0"] [dependency-groups] dev = [ diff --git a/uv.lock b/uv.lock index 8e2e61c1860d7..243691d0e61fe 100644 --- a/uv.lock +++ b/uv.lock @@ -1097,20 +1097,21 @@ wheels = [ [[package]] name = "anthropic" -version = "1.0.0" +version = "0.125.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, + { name = "distro" }, { name = "docstring-parser" }, - { name = "httpx2" }, + { name = "httpx" }, { name = "jiter" }, { name = "pydantic" }, { name = "sniffio" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/25/aa/4978e58035bd6c638c7b483450a68b7ef2d732ab78885e27bb9db0cff1a2/anthropic-1.0.0.tar.gz", hash = "sha256:42be3c97604af7252c5898413aee076ace6c46e9bca0d0d90ceb77c7d3719027", size = 1077769, upload-time = "2026-08-20T19:59:00.565Z" } +sdist = { url = "https://files.pythonhosted.org/packages/62/f8/6f0560884b5363848347bd640b6c1d04abc25e7aa61787a232f790c6b60a/anthropic-0.125.0.tar.gz", hash = "sha256:e0cdd336580cb7411c1cdab69f80973e9bf4bff7f8e08141811d46307d45c682", size = 1112593, upload-time = "2026-08-19T22:00:42.837Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ad/5b/db4a854aebf5d33a5ab714c46af6eb85ee44f390ed29b7b325c00b9f11ed/anthropic-1.0.0-py3-none-any.whl", hash = "sha256:32dd52e9e1d774393b27182f451398ba4262287a4d0eab30887f89f1481b3ae4", size = 1171725, upload-time = "2026-08-20T19:58:58.725Z" }, + { url = "https://files.pythonhosted.org/packages/2f/1a/b1bd30cda3790557e8791bec5922a6ec8fabb6fa8b008c76a39cf7be6152/anthropic-0.125.0-py3-none-any.whl", hash = "sha256:3486013602eca76d8b12540764e53654f02cf4951110bca86cf06e67428a9f21", size = 1184067, upload-time = "2026-08-19T22:00:44.596Z" }, ] [package.optional-dependencies] @@ -3441,10 +3442,10 @@ docs = [ [package.metadata] requires-dist = [ - { name = "anthropic", specifier = ">=0.121.0" }, - { name = "anthropic", extras = ["aws"], marker = "extra == 'aws'", specifier = ">=0.121.0" }, - { name = "anthropic", extras = ["bedrock"], marker = "extra == 'bedrock'", specifier = ">=0.121.0" }, - { name = "anthropic", extras = ["vertex"], marker = "extra == 'vertex'", specifier = ">=0.121.0" }, + { name = "anthropic", specifier = ">=0.121.0,<1.0.0" }, + { name = "anthropic", extras = ["aws"], marker = "extra == 'aws'", specifier = ">=0.121.0,<1.0.0" }, + { name = "anthropic", extras = ["bedrock"], marker = "extra == 'bedrock'", specifier = ">=0.121.0,<1.0.0" }, + { name = "anthropic", extras = ["vertex"], marker = "extra == 'vertex'", specifier = ">=0.121.0,<1.0.0" }, { name = "apache-airflow", editable = "." }, { name = "apache-airflow-providers-common-compat", editable = "providers/common/compat" }, ]