This is an automated email from the ASF dual-hosted git repository.
eladkal pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 35bc7be1d4d Support Python 3.13 in Yandex provider (#61380)
35bc7be1d4d is described below
commit 35bc7be1d4d5f290f417dd3ad251408f0097b8f1
Author: Elad Kalif <[email protected]>
AuthorDate: Wed Feb 4 06:57:20 2026 +0100
Support Python 3.13 in Yandex provider (#61380)
* Support Python 3.13 in Yandex provider
---
dev/breeze/tests/test_selective_checks.py | 2 +-
providers/yandex/docs/index.rst | 12 +++++++-----
providers/yandex/provider.yaml | 2 --
providers/yandex/pyproject.toml | 13 ++++++++++---
.../src/airflow/providers/yandex/operators/dataproc.py | 2 +-
providers/yandex/tests/system/yandex/example_yandexcloud.py | 2 +-
pyproject.toml | 4 ++--
7 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/dev/breeze/tests/test_selective_checks.py
b/dev/breeze/tests/test_selective_checks.py
index 0d30f975b0a..8e5c623a93e 100644
--- a/dev/breeze/tests/test_selective_checks.py
+++ b/dev/breeze/tests/test_selective_checks.py
@@ -1321,7 +1321,7 @@ def test_excluded_providers():
{
"excluded-providers-as-string": json.dumps(
{
- "3.13": ["apache.beam", "apache.kafka", "fab", "yandex",
"ydb"],
+ "3.13": ["apache.beam", "apache.kafka", "fab", "ydb"],
}
),
},
diff --git a/providers/yandex/docs/index.rst b/providers/yandex/docs/index.rst
index 9c9e6c4c61c..86f7f778177 100644
--- a/providers/yandex/docs/index.rst
+++ b/providers/yandex/docs/index.rst
@@ -101,14 +101,16 @@ Requirements
The minimum Apache Airflow version supported by this provider distribution is
``2.11.0``.
-==========================================
======================================
+==========================================
=======================================
PIP package Version required
-==========================================
======================================
+==========================================
=======================================
``apache-airflow`` ``>=2.11.0``
-``yandexcloud`` ``>=0.308.0; python_version <
"3.13"``
-``yandex-query-client`` ``>=0.1.4; python_version <
"3.13"``
+``yandexcloud`` ``>=0.376.0; python_version >=
"3.13"``
+``yandexcloud`` ``>=0.328.0; python_version <
"3.13"``
+``yandex-query-client`` ``>=0.1.4``
``apache-airflow-providers-common-compat`` ``>=1.13.0``
-==========================================
======================================
+``grpcio`` ``>=1.70.0; python_version >=
"3.13"``
+==========================================
=======================================
Cross provider package dependencies
-----------------------------------
diff --git a/providers/yandex/provider.yaml b/providers/yandex/provider.yaml
index bded2cc8b4c..0407d8191ff 100644
--- a/providers/yandex/provider.yaml
+++ b/providers/yandex/provider.yaml
@@ -66,8 +66,6 @@ versions:
- 1.0.1
- 1.0.0
-excluded-python-versions:
- - "3.13"
integrations:
- integration-name: Yandex.Cloud
diff --git a/providers/yandex/pyproject.toml b/providers/yandex/pyproject.toml
index c8abece0ea3..b3183ce040b 100644
--- a/providers/yandex/pyproject.toml
+++ b/providers/yandex/pyproject.toml
@@ -48,9 +48,10 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
"Topic :: System :: Monitoring",
]
-requires-python = ">=3.10,!=3.13"
+requires-python = ">=3.10"
# The dependencies should be modified in place in the generated file.
# Any change in the dependencies is preserved when the file is regenerated
@@ -58,9 +59,15 @@ requires-python = ">=3.10,!=3.13"
# After you modify the dependencies, and rebuild your Breeze CI image with
``breeze ci-image build``
dependencies = [
"apache-airflow>=2.11.0",
- "yandexcloud>=0.308.0; python_version < '3.13'",
- "yandex-query-client>=0.1.4; python_version < '3.13'",
+ 'yandexcloud>=0.376.0; python_version >= "3.13"',
+ 'yandexcloud>=0.328.0; python_version < "3.13"',
+ "yandex-query-client>=0.1.4",
"apache-airflow-providers-common-compat>=1.13.0",
+ # Adding temp min version for grpcio to address
+ # ERROR providers/yandex/tests/unit/yandex/operators/test_dataproc.py -
RuntimeError: The grpc package installed is at version 1.68.1, but the
generated code in yandex/cloud/endpoint/api_endpoint_service_pb2_grpc.py
depends on grpcio>=1.70.0. Please upgrade your grpc module to grpcio>=1.70.0 or
downgrade your generated code using grpcio-tools<=1.68.1.
+ # this dependency can be removed when yandexcloud bump min version of
grpcio to 1.70
+ #
https://github.com/yandex-cloud/python-sdk/blob/82493e32bbf1d678afbb8376632b3f5b5923fd10/pyproject.toml#L23
+ 'grpcio>=1.70.0; python_version >= "3.13"',
]
[dependency-groups]
diff --git
a/providers/yandex/src/airflow/providers/yandex/operators/dataproc.py
b/providers/yandex/src/airflow/providers/yandex/operators/dataproc.py
index e9375b3baaa..792b67b01af 100644
--- a/providers/yandex/src/airflow/providers/yandex/operators/dataproc.py
+++ b/providers/yandex/src/airflow/providers/yandex/operators/dataproc.py
@@ -240,7 +240,7 @@ class DataprocCreateClusterOperator(BaseOperator):
initialization_actions=[
self.hook.sdk.wrappers.InitializationAction(
uri=init_action.uri,
- args=init_action.args,
+ args=list(init_action.args),
timeout=init_action.timeout,
)
for init_action in self.initialization_actions
diff --git a/providers/yandex/tests/system/yandex/example_yandexcloud.py
b/providers/yandex/tests/system/yandex/example_yandexcloud.py
index d19b41ec846..3e0b51ec09a 100644
--- a/providers/yandex/tests/system/yandex/example_yandexcloud.py
+++ b/providers/yandex/tests/system/yandex/example_yandexcloud.py
@@ -139,7 +139,7 @@ def create_cluster(
if operation_result.response is None:
return None
- return operation_result.response.id
+ return operation_result.response.id # type: ignore[attr-defined]
@task
diff --git a/pyproject.toml b/pyproject.toml
index c19371e6464..d90935b468b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -376,7 +376,7 @@ packages = []
"apache-airflow-providers-weaviate>=3.0.0"
]
"yandex" = [
- "apache-airflow-providers-yandex>=4.0.0; python_version !=\"3.13\""
+ "apache-airflow-providers-yandex>=4.0.0"
]
"ydb" = [
"apache-airflow-providers-ydb>=1.4.0; python_version !=\"3.13\""
@@ -481,7 +481,7 @@ packages = []
"apache-airflow-providers-trino>=5.8.1",
"apache-airflow-providers-vertica>=3.9.1",
"apache-airflow-providers-weaviate>=3.0.0",
- "apache-airflow-providers-yandex>=4.0.0; python_version !=\"3.13\"",
+ "apache-airflow-providers-yandex>=4.0.0",
"apache-airflow-providers-ydb>=1.4.0; python_version !=\"3.13\"",
"apache-airflow-providers-zendesk>=4.9.0",
]