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

ephraimanierobi pushed a commit to branch v2-8-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit ac868952c6fc127ac7481faacc3ac1657ac310c6
Author: Jarek Potiuk <[email protected]>
AuthorDate: Wed Feb 14 00:08:09 2024 +0100

    Add Python 3.12 exclusions in providers/pyproject.toml (#37404)
    
    Some of the providers need to be currently excluded from Python 3.12
    because they have conflicting dependencies. While we are working on
    Python 3.12 support in #36755, in order to install airflow (for
    caching purposes) from GitHub URL, we need to separately merge the
    exclusions to main - this will help to build Python 3.12 CI
    image with all necessary dependencies cached.
    
    (cherry picked from commit b53fe08797d910ffab82b7b2ff6a27ba50b1d8a5)
---
 airflow/providers/apache/beam/provider.yaml |  4 ++++
 airflow/providers/papermill/provider.yaml   |  5 +++++
 generated/provider_dependencies.json        |  8 ++++++--
 pyproject.toml                              | 10 +++++-----
 4 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/airflow/providers/apache/beam/provider.yaml 
b/airflow/providers/apache/beam/provider.yaml
index 339f0c23e5..875f74a8c5 100644
--- a/airflow/providers/apache/beam/provider.yaml
+++ b/airflow/providers/apache/beam/provider.yaml
@@ -61,6 +61,10 @@ additional-extras:
     dependencies:
       - apache-beam[gcp]
 
+# Apache Beam currently does not support Python 3.12
+# There is an issue tracking it https://github.com/apache/beam/issues/29149
+excluded-python-versions: ['3.12']
+
 integrations:
   - integration-name: Apache Beam
     external-doc-url: https://beam.apache.org/
diff --git a/airflow/providers/papermill/provider.yaml 
b/airflow/providers/papermill/provider.yaml
index ccc762b656..1b7bf53ffb 100644
--- a/airflow/providers/papermill/provider.yaml
+++ b/airflow/providers/papermill/provider.yaml
@@ -21,6 +21,11 @@ name: Papermill
 description: |
     `Papermill <https://github.com/nteract/papermill>`__
 
+# Papermill is technically compliant with 3.12, but it's 2.5.0 version that is 
compliant, requires pinned
+# version of aiohttp which conflicts with other providers. The fix for that is 
implemented extra-links:
+# https://github.com/nteract/papermill/pull/771 and waits for new Papermill 
release
+excluded-python-versions: ['3.12']
+
 state: ready
 source-date-epoch: 1703288159
 versions:
diff --git a/generated/provider_dependencies.json 
b/generated/provider_dependencies.json
index 9fc56fad58..fb1791ded8 100644
--- a/generated/provider_dependencies.json
+++ b/generated/provider_dependencies.json
@@ -76,7 +76,9 @@
     "cross-providers-deps": [
       "google"
     ],
-    "excluded-python-versions": [],
+    "excluded-python-versions": [
+      "3.12"
+    ],
     "state": "ready"
   },
   "apache.cassandra": {
@@ -886,7 +888,9 @@
     ],
     "devel-deps": [],
     "cross-providers-deps": [],
-    "excluded-python-versions": [],
+    "excluded-python-versions": [
+      "3.12"
+    ],
     "state": "ready"
   },
   "pgvector": {
diff --git a/pyproject.toml b/pyproject.toml
index aaa001b942..708c6525be 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -571,8 +571,8 @@ amazon = [ # source: airflow/providers/amazon/provider.yaml
   "s3fs>=2023.10.0",
 ]
 apache-beam = [ # source: airflow/providers/apache/beam/provider.yaml
-  "apache-beam>=2.53.0",
-  "pyarrow>=14.0.1",
+  "apache-beam>=2.53.0;python_version != \"3.12\"",
+  "pyarrow>=14.0.1;python_version != \"3.12\"",
 ]
 apache-cassandra = [ # source: airflow/providers/apache/cassandra/provider.yaml
   "cassandra-driver>=3.13.0",
@@ -865,9 +865,9 @@ pagerduty = [ # source: 
airflow/providers/pagerduty/provider.yaml
   "pdpyras>=4.1.2",
 ]
 papermill = [ # source: airflow/providers/papermill/provider.yaml
-  "ipykernel",
-  "papermill[all]>=2.4.0",
-  "scrapbook[all]",
+  "ipykernel;python_version != \"3.12\"",
+  "papermill[all]>=2.4.0;python_version != \"3.12\"",
+  "scrapbook[all];python_version != \"3.12\"",
 ]
 pgvector = [ # source: airflow/providers/pgvector/provider.yaml
   "apache-airflow[postgres]",

Reply via email to