This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v3-3-test by this push:
     new ed33d6efff8 Exclude SQLAlchemy 2.1.0 (#73865) (#73871)
ed33d6efff8 is described below

commit ed33d6efff8eb277c6d6f95848eb663bac06b0ed
Author: Jarek Potiuk <[email protected]>
AuthorDate: Tue Sep 29 00:08:30 2026 +0200

    Exclude SQLAlchemy 2.1.0 (#73865) (#73871)
    
    The SQLAlchemy 2.1.0 sdist ships a pyproject.toml with a duplicate 
normalized extra (mssql-pymssql), which uv refuses to parse, so the constraints 
jobs fail building it whenever highest resolution selects it.
    
    Generated-by: Claude Opus 5
    (cherry picked from commit c1b878ad22c21c32e478ee2876dcaaa13b02f07a)
---
 airflow-core/pyproject.toml            |  2 +-
 devel-common/pyproject.toml            |  2 +-
 providers/amazon/pyproject.toml        |  2 +-
 providers/apache/hive/pyproject.toml   |  2 +-
 providers/apache/impala/pyproject.toml |  2 +-
 providers/common/sql/pyproject.toml    |  2 +-
 providers/exasol/pyproject.toml        |  2 +-
 providers/openlineage/pyproject.toml   |  2 +-
 providers/postgres/pyproject.toml      |  2 +-
 providers/presto/pyproject.toml        |  2 +-
 providers/teradata/pyproject.toml      |  2 +-
 providers/vertica/pyproject.toml       |  2 +-
 uv.lock                                | 24 ++++++++++++------------
 13 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/airflow-core/pyproject.toml b/airflow-core/pyproject.toml
index 98012b4b1d3..523f641792e 100644
--- a/airflow-core/pyproject.toml
+++ b/airflow-core/pyproject.toml
@@ -144,7 +144,7 @@ dependencies = [
     "rich-argparse>=1.0.0",
     "rich>=13.6.0",
     "setproctitle>=1.3.3",
-    "sqlalchemy[asyncio]>=2.0.50",
+    "sqlalchemy[asyncio]>=2.0.50,!=2.1.0",
     "svcs>=25.1.0",
     "tabulate>=0.9.0",
     "tenacity>=8.3.0",
diff --git a/devel-common/pyproject.toml b/devel-common/pyproject.toml
index 19608e482e1..6ca8766cd21 100644
--- a/devel-common/pyproject.toml
+++ b/devel-common/pyproject.toml
@@ -154,7 +154,7 @@ dependencies = [
     "beautifulsoup4>=4.7.1",
 ]
 "sqlalchemy" = [
-    "sqlalchemy[asyncio]>=1.4.49",
+    "sqlalchemy[asyncio]>=1.4.49,!=2.1.0",
     "sqlalchemy-utils>=0.41.2",
 ]
 
diff --git a/providers/amazon/pyproject.toml b/providers/amazon/pyproject.toml
index 03eaf1d6588..fd0cace5c49 100644
--- a/providers/amazon/pyproject.toml
+++ b/providers/amazon/pyproject.toml
@@ -150,7 +150,7 @@ dependencies = [
     "apache-airflow-providers-common-messaging>=2.0.0"
 ]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54",
+    "sqlalchemy>=1.4.54,!=2.1.0",
 ]
 
 [dependency-groups]
diff --git a/providers/apache/hive/pyproject.toml 
b/providers/apache/hive/pyproject.toml
index 21cb37746c5..d79e4b2089b 100644
--- a/providers/apache/hive/pyproject.toml
+++ b/providers/apache/hive/pyproject.toml
@@ -89,7 +89,7 @@ dependencies = [
     "apache-airflow-providers-samba"
 ]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54",
+    "sqlalchemy>=1.4.54,!=2.1.0",
 ]
 "vertica" = [
     "apache-airflow-providers-vertica"
diff --git a/providers/apache/impala/pyproject.toml 
b/providers/apache/impala/pyproject.toml
index 1557d495ea5..a2ad691497e 100644
--- a/providers/apache/impala/pyproject.toml
+++ b/providers/apache/impala/pyproject.toml
@@ -72,7 +72,7 @@ dependencies = [
     "kerberos>=1.3.0",
 ]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54",
+    "sqlalchemy>=1.4.54,!=2.1.0",
 ]
 
 [dependency-groups]
diff --git a/providers/common/sql/pyproject.toml 
b/providers/common/sql/pyproject.toml
index f6cb260264d..1a320012d86 100644
--- a/providers/common/sql/pyproject.toml
+++ b/providers/common/sql/pyproject.toml
@@ -85,7 +85,7 @@ dependencies = [
     "polars>=1.26.0"
 ]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54",
+    "sqlalchemy>=1.4.54,!=2.1.0",
 ]
 "amazon" = [
     "apache-airflow-providers-amazon"
diff --git a/providers/exasol/pyproject.toml b/providers/exasol/pyproject.toml
index 9d24f19b32f..a8a895f85bd 100644
--- a/providers/exasol/pyproject.toml
+++ b/providers/exasol/pyproject.toml
@@ -72,7 +72,7 @@ dependencies = [
 # Any change in the dependencies is preserved when the file is regenerated
 [project.optional-dependencies]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54",
+    "sqlalchemy>=1.4.54,!=2.1.0",
 ]
 
 [dependency-groups]
diff --git a/providers/openlineage/pyproject.toml 
b/providers/openlineage/pyproject.toml
index f39284c8650..fb771faf349 100644
--- a/providers/openlineage/pyproject.toml
+++ b/providers/openlineage/pyproject.toml
@@ -71,7 +71,7 @@ dependencies = [
 # Any change in the dependencies is preserved when the file is regenerated
 [project.optional-dependencies]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54",
+    "sqlalchemy>=1.4.54,!=2.1.0",
 ]
 
 [dependency-groups]
diff --git a/providers/postgres/pyproject.toml 
b/providers/postgres/pyproject.toml
index 58119ceecf0..77cbf38e5d3 100644
--- a/providers/postgres/pyproject.toml
+++ b/providers/postgres/pyproject.toml
@@ -92,7 +92,7 @@ dependencies = [
     "psycopg[binary]>=3.3.3; python_version >= '3.14'",
 ]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54"
+    "sqlalchemy>=1.4.54,!=2.1.0"
 ]
 
 [dependency-groups]
diff --git a/providers/presto/pyproject.toml b/providers/presto/pyproject.toml
index 10a6ec1799f..84caf03ba14 100644
--- a/providers/presto/pyproject.toml
+++ b/providers/presto/pyproject.toml
@@ -77,7 +77,7 @@ dependencies = [
     "apache-airflow-providers-google"
 ]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54",
+    "sqlalchemy>=1.4.54,!=2.1.0",
 ]
 
 [dependency-groups]
diff --git a/providers/teradata/pyproject.toml 
b/providers/teradata/pyproject.toml
index e72ef45c61c..28559cff0b9 100644
--- a/providers/teradata/pyproject.toml
+++ b/providers/teradata/pyproject.toml
@@ -76,7 +76,7 @@ dependencies = [
     "apache-airflow-providers-amazon",
 ]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54",
+    "sqlalchemy>=1.4.54,!=2.1.0",
 ]
 "ssh" = [
     "apache-airflow-providers-ssh"
diff --git a/providers/vertica/pyproject.toml b/providers/vertica/pyproject.toml
index f7239d9d2d1..447da192dfb 100644
--- a/providers/vertica/pyproject.toml
+++ b/providers/vertica/pyproject.toml
@@ -69,7 +69,7 @@ dependencies = [
 # Any change in the dependencies is preserved when the file is regenerated
 [project.optional-dependencies]
 "sqlalchemy" = [
-    "sqlalchemy>=1.4.54",
+    "sqlalchemy>=1.4.54,!=2.1.0",
 ]
 
 [dependency-groups]
diff --git a/uv.lock b/uv.lock
index fd9e566603a..a8f04a87f9d 100644
--- a/uv.lock
+++ b/uv.lock
@@ -2081,7 +2081,7 @@ requires-dist = [
     { name = "rich", specifier = ">=13.6.0" },
     { name = "rich-argparse", specifier = ">=1.0.0" },
     { name = "setproctitle", specifier = ">=1.3.3" },
-    { name = "sqlalchemy", extras = ["asyncio"], specifier = ">=2.0.50" },
+    { name = "sqlalchemy", extras = ["asyncio"], specifier = 
">=2.0.50,!=2.1.0" },
     { name = "starlette", specifier = ">=1.0.1" },
     { name = "statsd", marker = "extra == 'statsd'", specifier = ">=3.3.0" },
     { name = "structlog", specifier = ">=26.1.0" },
@@ -2649,7 +2649,7 @@ requires-dist = [
     { name = "sphinxcontrib-qthelp", marker = "extra == 'docs'", specifier = 
">=1.0.3" },
     { name = "sphinxcontrib-serializinghtml", marker = "extra == 'docs'", 
specifier = ">=1.1.5" },
     { name = "sphinxcontrib-spelling", marker = "extra == 'docs'", specifier = 
">=8.0.0" },
-    { name = "sqlalchemy", extras = ["asyncio"], marker = "extra == 
'sqlalchemy'", specifier = ">=1.4.49" },
+    { name = "sqlalchemy", extras = ["asyncio"], marker = "extra == 
'sqlalchemy'", specifier = ">=1.4.49,!=2.1.0" },
     { name = "sqlalchemy-utils", marker = "extra == 'sqlalchemy'", specifier = 
">=0.41.2" },
     { name = "swagger-plugin-for-sphinx", marker = "extra == 'docs'", 
specifier = ">=7.1.0,!=7.2.0" },
     { name = "time-machine", extras = ["dateutil"], specifier = ">=3.0.0" },
@@ -3141,7 +3141,7 @@ requires-dist = [
     { name = "redshift-connector", marker = "python_full_version >= '3.14'", 
specifier = ">=2.1.13" },
     { name = "s3fs", marker = "extra == 's3fs'", specifier = ">=2023.10.0" },
     { name = "sagemaker-studio", specifier = ">=1.0.25,<1.1.0" },
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
     { name = "watchtower", specifier = ">=3.3.1,<4" },
     { name = "xmlsec", marker = "python_full_version < '3.13' and extra == 
'python3-saml'", specifier = ">=1.3.14" },
 ]
@@ -3484,7 +3484,7 @@ requires-dist = [
     { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
     { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "pyhive", extras = ["hive-pure-sasl"], specifier = ">=0.7.0" },
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
     { name = "winkerberos", marker = "sys_platform == 'win32' and extra == 
'gssapi'", specifier = ">=0.7.0" },
 ]
 provides-extras = ["amazon", "microsoft-mssql", "mysql", "presto", "samba", 
"sqlalchemy", "vertica", "gssapi"]
@@ -3586,7 +3586,7 @@ requires-dist = [
     { name = "apache-airflow-providers-common-sql", editable = 
"providers/common/sql" },
     { name = "impyla", specifier = ">=0.22.0,<1.0" },
     { name = "kerberos", marker = "extra == 'kerberos'", specifier = ">=1.3.0" 
},
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
 ]
 provides-extras = ["kerberos", "sqlalchemy"]
 
@@ -4632,7 +4632,7 @@ requires-dist = [
     { name = "pandas", extras = ["sql-other"], marker = "python_full_version < 
'3.13' and extra == 'pandas'", specifier = ">=2.1.2" },
     { name = "polars", marker = "extra == 'polars'", specifier = ">=1.26.0" },
     { name = "pyiceberg-core", marker = "extra == 'pyiceberg-core'", specifier 
= ">=0.8.0" },
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
     { name = "sqlparse", specifier = ">=0.5.1" },
 ]
 provides-extras = ["pandas", "openlineage", "polars", "sqlalchemy", "amazon", 
"datafusion", "pyiceberg-core", "apache-iceberg"]
@@ -5105,7 +5105,7 @@ requires-dist = [
     { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
     { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "pyexasol", specifier = ">=0.26.0" },
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
 ]
 provides-extras = ["sqlalchemy"]
 
@@ -6705,7 +6705,7 @@ requires-dist = [
     { name = "attrs", specifier = ">=22.2" },
     { name = "openlineage-integration-common", specifier = ">=1.47.0" },
     { name = "openlineage-python", specifier = ">=1.47.0" },
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
 ]
 provides-extras = ["sqlalchemy"]
 
@@ -7109,7 +7109,7 @@ requires-dist = [
     { name = "psycopg", extras = ["binary"], marker = "python_full_version < 
'3.14' and extra == 'psycopg'", specifier = ">=3.2.9" },
     { name = "psycopg2-binary", marker = "python_full_version < '3.13'", 
specifier = ">=2.9.9" },
     { name = "psycopg2-binary", marker = "python_full_version >= '3.13'", 
specifier = ">=2.9.10" },
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
 ]
 provides-extras = ["amazon", "microsoft-azure", "openlineage", "pandas", 
"polars", "psycopg", "sqlalchemy"]
 
@@ -7178,7 +7178,7 @@ requires-dist = [
     { name = "presto-python-client", specifier = ">=0.8.4" },
     { name = "psycopg2-binary", marker = "python_full_version < '3.13'", 
specifier = ">=2.9.9" },
     { name = "psycopg2-binary", marker = "python_full_version >= '3.13'", 
specifier = ">=2.9.10" },
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
 ]
 provides-extras = ["google", "sqlalchemy"]
 
@@ -7945,7 +7945,7 @@ requires-dist = [
     { name = "apache-airflow-providers-common-sql", editable = 
"providers/common/sql" },
     { name = "apache-airflow-providers-microsoft-azure", marker = "extra == 
'microsoft-azure'", editable = "providers/microsoft/azure" },
     { name = "apache-airflow-providers-ssh", marker = "extra == 'ssh'", 
editable = "providers/ssh" },
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
     { name = "teradatasql", specifier = ">=17.20.0.28" },
     { name = "teradatasqlalchemy", specifier = ">=17.20.0.0" },
 ]
@@ -8063,7 +8063,7 @@ requires-dist = [
     { name = "apache-airflow", editable = "." },
     { name = "apache-airflow-providers-common-compat", editable = 
"providers/common/compat" },
     { name = "apache-airflow-providers-common-sql", editable = 
"providers/common/sql" },
-    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
+    { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54,!=2.1.0" },
     { name = "vertica-python", specifier = ">=1.3.0" },
 ]
 provides-extras = ["sqlalchemy"]

Reply via email to