apache-airflow-providers-snowflake 6.0.0rc1__py3-none-any.whl → 6.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airflow/providers/snowflake/LICENSE +0 -52
- airflow/providers/snowflake/__init__.py +1 -1
- airflow/providers/snowflake/get_provider_info.py +15 -15
- airflow/providers/snowflake/hooks/snowflake.py +15 -6
- airflow/providers/snowflake/operators/snowflake.py +15 -5
- {apache_airflow_providers_snowflake-6.0.0rc1.dist-info → apache_airflow_providers_snowflake-6.1.0.dist-info}/METADATA +17 -36
- {apache_airflow_providers_snowflake-6.0.0rc1.dist-info → apache_airflow_providers_snowflake-6.1.0.dist-info}/RECORD +9 -9
- {apache_airflow_providers_snowflake-6.0.0rc1.dist-info → apache_airflow_providers_snowflake-6.1.0.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_snowflake-6.0.0rc1.dist-info → apache_airflow_providers_snowflake-6.1.0.dist-info}/entry_points.txt +0 -0
|
@@ -199,55 +199,3 @@ distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
199
199
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
200
|
See the License for the specific language governing permissions and
|
|
201
201
|
limitations under the License.
|
|
202
|
-
|
|
203
|
-
============================================================================
|
|
204
|
-
APACHE AIRFLOW SUBCOMPONENTS:
|
|
205
|
-
|
|
206
|
-
The Apache Airflow project contains subcomponents with separate copyright
|
|
207
|
-
notices and license terms. Your use of the source code for the these
|
|
208
|
-
subcomponents is subject to the terms and conditions of the following
|
|
209
|
-
licenses.
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
========================================================================
|
|
213
|
-
Third party Apache 2.0 licenses
|
|
214
|
-
========================================================================
|
|
215
|
-
|
|
216
|
-
The following components are provided under the Apache 2.0 License.
|
|
217
|
-
See project link for details. The text of each license is also included
|
|
218
|
-
at 3rd-party-licenses/LICENSE-[project].txt.
|
|
219
|
-
|
|
220
|
-
(ALv2 License) hue v4.3.0 (https://github.com/cloudera/hue/)
|
|
221
|
-
(ALv2 License) jqclock v2.3.0 (https://github.com/JohnRDOrazio/jQuery-Clock-Plugin)
|
|
222
|
-
(ALv2 License) bootstrap3-typeahead v4.0.2 (https://github.com/bassjobsen/Bootstrap-3-Typeahead)
|
|
223
|
-
(ALv2 License) connexion v2.7.0 (https://github.com/zalando/connexion)
|
|
224
|
-
|
|
225
|
-
========================================================================
|
|
226
|
-
MIT licenses
|
|
227
|
-
========================================================================
|
|
228
|
-
|
|
229
|
-
The following components are provided under the MIT License. See project link for details.
|
|
230
|
-
The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.
|
|
231
|
-
|
|
232
|
-
(MIT License) jquery v3.5.1 (https://jquery.org/license/)
|
|
233
|
-
(MIT License) dagre-d3 v0.6.4 (https://github.com/cpettitt/dagre-d3)
|
|
234
|
-
(MIT License) bootstrap v3.4.1 (https://github.com/twbs/bootstrap/)
|
|
235
|
-
(MIT License) d3-tip v0.9.1 (https://github.com/Caged/d3-tip)
|
|
236
|
-
(MIT License) dataTables v1.10.25 (https://datatables.net)
|
|
237
|
-
(MIT License) normalize.css v3.0.2 (http://necolas.github.io/normalize.css/)
|
|
238
|
-
(MIT License) ElasticMock v1.3.2 (https://github.com/vrcmarcos/elasticmock)
|
|
239
|
-
(MIT License) MomentJS v2.24.0 (http://momentjs.com/)
|
|
240
|
-
(MIT License) eonasdan-bootstrap-datetimepicker v4.17.49 (https://github.com/eonasdan/bootstrap-datetimepicker/)
|
|
241
|
-
|
|
242
|
-
========================================================================
|
|
243
|
-
BSD 3-Clause licenses
|
|
244
|
-
========================================================================
|
|
245
|
-
The following components are provided under the BSD 3-Clause license. See project links for details.
|
|
246
|
-
The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.
|
|
247
|
-
|
|
248
|
-
(BSD 3 License) d3 v5.16.0 (https://d3js.org)
|
|
249
|
-
(BSD 3 License) d3-shape v2.1.0 (https://github.com/d3/d3-shape)
|
|
250
|
-
(BSD 3 License) cgroupspy 0.2.1 (https://github.com/cloudsigma/cgroupspy)
|
|
251
|
-
|
|
252
|
-
========================================================================
|
|
253
|
-
See 3rd-party-licenses/LICENSES-ui.txt for packages used in `/airflow/www`
|
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "6.
|
|
32
|
+
__version__ = "6.1.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
35
|
"2.9.0"
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
# specific language governing permissions and limitations
|
|
16
16
|
# under the License.
|
|
17
17
|
|
|
18
|
-
# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
|
|
19
|
-
# OVERWRITTEN WHEN PREPARING PACKAGES.
|
|
18
|
+
# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
|
|
20
19
|
#
|
|
21
20
|
# IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
|
22
21
|
# `get_provider_info_TEMPLATE.py.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
|
|
@@ -28,8 +27,9 @@ def get_provider_info():
|
|
|
28
27
|
"name": "Snowflake",
|
|
29
28
|
"description": "`Snowflake <https://www.snowflake.com/>`__\n",
|
|
30
29
|
"state": "ready",
|
|
31
|
-
"source-date-epoch":
|
|
30
|
+
"source-date-epoch": 1739964397,
|
|
32
31
|
"versions": [
|
|
32
|
+
"6.1.0",
|
|
33
33
|
"6.0.0",
|
|
34
34
|
"5.8.1",
|
|
35
35
|
"5.8.0",
|
|
@@ -85,17 +85,6 @@ def get_provider_info():
|
|
|
85
85
|
"1.1.0",
|
|
86
86
|
"1.0.0",
|
|
87
87
|
],
|
|
88
|
-
"dependencies": [
|
|
89
|
-
"apache-airflow>=2.9.0",
|
|
90
|
-
"apache-airflow-providers-common-compat>=1.1.0",
|
|
91
|
-
"apache-airflow-providers-common-sql>=1.20.0",
|
|
92
|
-
'pandas>=2.1.2,<2.2;python_version>="3.9"',
|
|
93
|
-
'pandas>=1.5.3,<2.2;python_version<"3.9"',
|
|
94
|
-
"pyarrow>=14.0.1",
|
|
95
|
-
"snowflake-connector-python>=3.7.1",
|
|
96
|
-
"snowflake-sqlalchemy>=1.4.0",
|
|
97
|
-
'snowflake-snowpark-python>=1.17.0;python_version<"3.12"',
|
|
98
|
-
],
|
|
99
88
|
"integrations": [
|
|
100
89
|
{
|
|
101
90
|
"integration-name": "Snowflake",
|
|
@@ -104,7 +93,7 @@ def get_provider_info():
|
|
|
104
93
|
"/docs/apache-airflow-providers-snowflake/operators/snowflake.rst",
|
|
105
94
|
"/docs/apache-airflow-providers-snowflake/operators/snowpark.rst",
|
|
106
95
|
],
|
|
107
|
-
"logo": "/integration-logos/
|
|
96
|
+
"logo": "/docs/integration-logos/Snowflake.png",
|
|
108
97
|
"tags": ["service"],
|
|
109
98
|
}
|
|
110
99
|
],
|
|
@@ -162,4 +151,15 @@ def get_provider_info():
|
|
|
162
151
|
"python-modules": ["airflow.providers.snowflake.triggers.snowflake_trigger"],
|
|
163
152
|
}
|
|
164
153
|
],
|
|
154
|
+
"dependencies": [
|
|
155
|
+
"apache-airflow>=2.9.0",
|
|
156
|
+
"apache-airflow-providers-common-compat>=1.1.0",
|
|
157
|
+
"apache-airflow-providers-common-sql>=1.20.0",
|
|
158
|
+
"pandas>=2.1.2,<2.2",
|
|
159
|
+
"pyarrow>=14.0.1",
|
|
160
|
+
"snowflake-connector-python>=3.7.1",
|
|
161
|
+
"snowflake-sqlalchemy>=1.4.0",
|
|
162
|
+
"snowflake-snowpark-python>=1.17.0;python_version<'3.12'",
|
|
163
|
+
],
|
|
164
|
+
"optional-dependencies": {"openlineage": ["apache-airflow-providers-openlineage"]},
|
|
165
165
|
}
|
|
@@ -28,15 +28,15 @@ from urllib.parse import urlparse
|
|
|
28
28
|
|
|
29
29
|
from cryptography.hazmat.backends import default_backend
|
|
30
30
|
from cryptography.hazmat.primitives import serialization
|
|
31
|
-
from snowflake import connector
|
|
32
|
-
from snowflake.connector import DictCursor, SnowflakeConnection, util_text
|
|
33
|
-
from snowflake.sqlalchemy import URL
|
|
34
31
|
from sqlalchemy import create_engine
|
|
35
32
|
|
|
36
33
|
from airflow.exceptions import AirflowException
|
|
37
34
|
from airflow.providers.common.sql.hooks.sql import DbApiHook, return_single_query_results
|
|
38
35
|
from airflow.providers.snowflake.utils.openlineage import fix_snowflake_sqlalchemy_uri
|
|
39
36
|
from airflow.utils.strings import to_boolean
|
|
37
|
+
from snowflake import connector
|
|
38
|
+
from snowflake.connector import DictCursor, SnowflakeConnection, util_text
|
|
39
|
+
from snowflake.sqlalchemy import URL
|
|
40
40
|
|
|
41
41
|
T = TypeVar("T")
|
|
42
42
|
if TYPE_CHECKING:
|
|
@@ -299,6 +299,12 @@ class SnowflakeHook(DbApiHook):
|
|
|
299
299
|
if snowflake_port:
|
|
300
300
|
conn_config["port"] = snowflake_port
|
|
301
301
|
|
|
302
|
+
# if a value for ocsp_fail_open is set, pass it along.
|
|
303
|
+
# Note the check is for `is not None` so that we can pass along `False` as a value.
|
|
304
|
+
ocsp_fail_open = extra_dict.get("ocsp_fail_open")
|
|
305
|
+
if ocsp_fail_open is not None:
|
|
306
|
+
conn_config["ocsp_fail_open"] = _try_to_boolean(ocsp_fail_open)
|
|
307
|
+
|
|
302
308
|
return conn_config
|
|
303
309
|
|
|
304
310
|
def get_uri(self) -> str:
|
|
@@ -320,6 +326,7 @@ class SnowflakeHook(DbApiHook):
|
|
|
320
326
|
"client_request_mfa_token",
|
|
321
327
|
"client_store_temporary_credential",
|
|
322
328
|
"json_result_force_utf8_decoding",
|
|
329
|
+
"ocsp_fail_open",
|
|
323
330
|
]
|
|
324
331
|
}
|
|
325
332
|
)
|
|
@@ -345,6 +352,9 @@ class SnowflakeHook(DbApiHook):
|
|
|
345
352
|
if "json_result_force_utf8_decoding" in conn_params:
|
|
346
353
|
engine_kwargs.setdefault("connect_args", {})
|
|
347
354
|
engine_kwargs["connect_args"]["json_result_force_utf8_decoding"] = True
|
|
355
|
+
if "ocsp_fail_open" in conn_params:
|
|
356
|
+
engine_kwargs.setdefault("connect_args", {})
|
|
357
|
+
engine_kwargs["connect_args"]["ocsp_fail_open"] = conn_params["ocsp_fail_open"]
|
|
348
358
|
for key in ["session_parameters", "private_key"]:
|
|
349
359
|
if conn_params.get(key):
|
|
350
360
|
engine_kwargs.setdefault("connect_args", {})
|
|
@@ -357,10 +367,9 @@ class SnowflakeHook(DbApiHook):
|
|
|
357
367
|
|
|
358
368
|
:return: the created session.
|
|
359
369
|
"""
|
|
360
|
-
from snowflake.snowpark import Session
|
|
361
|
-
|
|
362
370
|
from airflow import __version__ as airflow_version
|
|
363
371
|
from airflow.providers.snowflake import __version__ as provider_version
|
|
372
|
+
from snowflake.snowpark import Session
|
|
364
373
|
|
|
365
374
|
conn_config = self._get_conn_params
|
|
366
375
|
session = Session.builder.configs(conn_config).create()
|
|
@@ -471,7 +480,7 @@ class SnowflakeHook(DbApiHook):
|
|
|
471
480
|
_last_description = cur.description
|
|
472
481
|
else:
|
|
473
482
|
results.append(result)
|
|
474
|
-
self.descriptions.append(cur.description)
|
|
483
|
+
self.descriptions.append(cur.description) # type: ignore[has-type]
|
|
475
484
|
|
|
476
485
|
query_id = cur.sfqid
|
|
477
486
|
self.log.info("Rows affected: %s", cur.rowcount)
|
|
@@ -34,12 +34,16 @@ from airflow.providers.snowflake.hooks.snowflake_sql_api import SnowflakeSqlApiH
|
|
|
34
34
|
from airflow.providers.snowflake.triggers.snowflake_trigger import SnowflakeSqlApiTrigger
|
|
35
35
|
|
|
36
36
|
if TYPE_CHECKING:
|
|
37
|
-
|
|
37
|
+
try:
|
|
38
|
+
from airflow.sdk.definitions.context import Context
|
|
39
|
+
except ImportError:
|
|
40
|
+
# TODO: Remove once provider drops support for Airflow 2
|
|
41
|
+
from airflow.utils.context import Context
|
|
38
42
|
|
|
39
43
|
|
|
40
44
|
class SnowflakeCheckOperator(SQLCheckOperator):
|
|
41
45
|
"""
|
|
42
|
-
|
|
46
|
+
Perform a check against Snowflake.
|
|
43
47
|
|
|
44
48
|
The ``SnowflakeCheckOperator`` expects a sql query that will return a single row. Each
|
|
45
49
|
value on that first row is evaluated using python ``bool`` casting. If any of the values
|
|
@@ -290,8 +294,9 @@ class SnowflakeIntervalCheckOperator(SQLIntervalCheckOperator):
|
|
|
290
294
|
|
|
291
295
|
class SnowflakeSqlApiOperator(SQLExecuteQueryOperator):
|
|
292
296
|
"""
|
|
293
|
-
Implemented Snowflake SQL API Operator to support multiple SQL statements sequentially
|
|
294
|
-
|
|
297
|
+
Implemented Snowflake SQL API Operator to support multiple SQL statements sequentially.
|
|
298
|
+
|
|
299
|
+
This is the behavior of the SQLExecuteQueryOperator, the Snowflake SQL API allows submitting
|
|
295
300
|
multiple SQL statements in a single request. It make post request to submit SQL
|
|
296
301
|
statements for execution, poll to check the status of the execution of a statement. Fetch query results
|
|
297
302
|
concurrently.
|
|
@@ -349,11 +354,16 @@ class SnowflakeSqlApiOperator(SQLExecuteQueryOperator):
|
|
|
349
354
|
When executing the statement, Snowflake replaces placeholders (? and :name) in
|
|
350
355
|
the statement with these specified values.
|
|
351
356
|
:param deferrable: Run operator in the deferrable mode.
|
|
352
|
-
"""
|
|
357
|
+
"""
|
|
353
358
|
|
|
354
359
|
LIFETIME = timedelta(minutes=59) # The tokens will have a 59 minutes lifetime
|
|
355
360
|
RENEWAL_DELTA = timedelta(minutes=54) # Tokens will be renewed after 54 minutes
|
|
356
361
|
|
|
362
|
+
template_fields: Sequence[str] = tuple(
|
|
363
|
+
set(SQLExecuteQueryOperator.template_fields) | {"snowflake_conn_id"}
|
|
364
|
+
)
|
|
365
|
+
conn_id_field = "snowflake_conn_id"
|
|
366
|
+
|
|
357
367
|
def __init__(
|
|
358
368
|
self,
|
|
359
369
|
*,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: apache-airflow-providers-snowflake
|
|
3
|
-
Version: 6.0
|
|
3
|
+
Version: 6.1.0
|
|
4
4
|
Summary: Provider package apache-airflow-providers-snowflake for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,snowflake,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
@@ -20,19 +20,18 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
|
23
|
-
Requires-Dist: apache-airflow
|
|
24
|
-
Requires-Dist: apache-airflow-providers-common-
|
|
25
|
-
Requires-Dist: apache-airflow>=
|
|
26
|
-
Requires-Dist: pandas>=1.
|
|
27
|
-
Requires-Dist: pandas>=2.1.2,<2.2;python_version>="3.9"
|
|
23
|
+
Requires-Dist: apache-airflow>=2.9.0
|
|
24
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.1.0
|
|
25
|
+
Requires-Dist: apache-airflow-providers-common-sql>=1.20.0
|
|
26
|
+
Requires-Dist: pandas>=2.1.2,<2.2
|
|
28
27
|
Requires-Dist: pyarrow>=14.0.1
|
|
29
28
|
Requires-Dist: snowflake-connector-python>=3.7.1
|
|
30
|
-
Requires-Dist: snowflake-snowpark-python>=1.17.0;python_version<"3.12"
|
|
31
29
|
Requires-Dist: snowflake-sqlalchemy>=1.4.0
|
|
30
|
+
Requires-Dist: snowflake-snowpark-python>=1.17.0;python_version<'3.12'
|
|
32
31
|
Requires-Dist: apache-airflow-providers-openlineage ; extra == "openlineage"
|
|
33
32
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
34
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.
|
|
35
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.
|
|
33
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.1.0/changelog.html
|
|
34
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.1.0
|
|
36
35
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
37
36
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
38
37
|
Project-URL: Twitter, https://x.com/ApacheAirflow
|
|
@@ -40,23 +39,6 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
40
39
|
Provides-Extra: openlineage
|
|
41
40
|
|
|
42
41
|
|
|
43
|
-
.. Licensed to the Apache Software Foundation (ASF) under one
|
|
44
|
-
or more contributor license agreements. See the NOTICE file
|
|
45
|
-
distributed with this work for additional information
|
|
46
|
-
regarding copyright ownership. The ASF licenses this file
|
|
47
|
-
to you under the Apache License, Version 2.0 (the
|
|
48
|
-
"License"); you may not use this file except in compliance
|
|
49
|
-
with the License. You may obtain a copy of the License at
|
|
50
|
-
|
|
51
|
-
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
52
|
-
|
|
53
|
-
.. Unless required by applicable law or agreed to in writing,
|
|
54
|
-
software distributed under the License is distributed on an
|
|
55
|
-
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
56
|
-
KIND, either express or implied. See the License for the
|
|
57
|
-
specific language governing permissions and limitations
|
|
58
|
-
under the License.
|
|
59
|
-
|
|
60
42
|
.. Licensed to the Apache Software Foundation (ASF) under one
|
|
61
43
|
or more contributor license agreements. See the NOTICE file
|
|
62
44
|
distributed with this work for additional information
|
|
@@ -74,8 +56,7 @@ Provides-Extra: openlineage
|
|
|
74
56
|
specific language governing permissions and limitations
|
|
75
57
|
under the License.
|
|
76
58
|
|
|
77
|
-
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
|
|
78
|
-
OVERWRITTEN WHEN PREPARING PACKAGES.
|
|
59
|
+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
|
|
79
60
|
|
|
80
61
|
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
|
81
62
|
`PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
|
|
@@ -83,7 +64,7 @@ Provides-Extra: openlineage
|
|
|
83
64
|
|
|
84
65
|
Package ``apache-airflow-providers-snowflake``
|
|
85
66
|
|
|
86
|
-
Release: ``6.
|
|
67
|
+
Release: ``6.1.0``
|
|
87
68
|
|
|
88
69
|
|
|
89
70
|
`Snowflake <https://www.snowflake.com/>`__
|
|
@@ -96,7 +77,7 @@ This is a provider package for ``snowflake`` provider. All classes for this prov
|
|
|
96
77
|
are in ``airflow.providers.snowflake`` python package.
|
|
97
78
|
|
|
98
79
|
You can find package information and changelog for the provider
|
|
99
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.
|
|
80
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.1.0/>`_.
|
|
100
81
|
|
|
101
82
|
Installation
|
|
102
83
|
------------
|
|
@@ -110,19 +91,18 @@ The package supports the following python versions: 3.9,3.10,3.11,3.12
|
|
|
110
91
|
Requirements
|
|
111
92
|
------------
|
|
112
93
|
|
|
113
|
-
==========================================
|
|
94
|
+
========================================== =====================================
|
|
114
95
|
PIP package Version required
|
|
115
|
-
==========================================
|
|
96
|
+
========================================== =====================================
|
|
116
97
|
``apache-airflow`` ``>=2.9.0``
|
|
117
98
|
``apache-airflow-providers-common-compat`` ``>=1.1.0``
|
|
118
99
|
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
|
119
|
-
``pandas`` ``>=2.1.2,<2.2
|
|
120
|
-
``pandas`` ``>=1.5.3,<2.2; python_version < "3.9"``
|
|
100
|
+
``pandas`` ``>=2.1.2,<2.2``
|
|
121
101
|
``pyarrow`` ``>=14.0.1``
|
|
122
102
|
``snowflake-connector-python`` ``>=3.7.1``
|
|
123
103
|
``snowflake-sqlalchemy`` ``>=1.4.0``
|
|
124
104
|
``snowflake-snowpark-python`` ``>=1.17.0; python_version < "3.12"``
|
|
125
|
-
==========================================
|
|
105
|
+
========================================== =====================================
|
|
126
106
|
|
|
127
107
|
Cross provider package dependencies
|
|
128
108
|
-----------------------------------
|
|
@@ -146,4 +126,5 @@ Dependent package
|
|
|
146
126
|
================================================================================================================== =================
|
|
147
127
|
|
|
148
128
|
The changelog for the provider package can be found in the
|
|
149
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.
|
|
129
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.1.0/changelog.html>`_.
|
|
130
|
+
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
airflow/providers/snowflake/LICENSE,sha256=
|
|
2
|
-
airflow/providers/snowflake/__init__.py,sha256=
|
|
3
|
-
airflow/providers/snowflake/get_provider_info.py,sha256=
|
|
1
|
+
airflow/providers/snowflake/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
|
2
|
+
airflow/providers/snowflake/__init__.py,sha256=wbduNpHC6V1I9K4YVLh4ZhvnqMDn2Jl-HIR0Cf1eNOE,1496
|
|
3
|
+
airflow/providers/snowflake/get_provider_info.py,sha256=x9uRV99oSHoTBm21ikl2MqVkthQs3bjiqwIJZZDsQT8,5644
|
|
4
4
|
airflow/providers/snowflake/decorators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
5
5
|
airflow/providers/snowflake/decorators/snowpark.py,sha256=IXAzhcf7lkim9wsb_7SZlk5JPMQ38KOsEtymQUr0Q68,5298
|
|
6
6
|
airflow/providers/snowflake/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
7
|
-
airflow/providers/snowflake/hooks/snowflake.py,sha256=
|
|
7
|
+
airflow/providers/snowflake/hooks/snowflake.py,sha256=cIJMMG76SUh0XrPw8uub-zqqrEG9oQt9_GSk4s4Jucc,24161
|
|
8
8
|
airflow/providers/snowflake/hooks/snowflake_sql_api.py,sha256=3W3wGAWRUxu1K62qqw682vBrXrRzyEmoCYID7PlMfaA,15486
|
|
9
9
|
airflow/providers/snowflake/operators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
10
|
-
airflow/providers/snowflake/operators/snowflake.py,sha256=
|
|
10
|
+
airflow/providers/snowflake/operators/snowflake.py,sha256=OgaX1Y-26LYG9MLv7vImcQTXR1tD-PtQVI_Ahdc3hCk,22292
|
|
11
11
|
airflow/providers/snowflake/operators/snowpark.py,sha256=Wt3wzcsja0ed4q2KE9WyL74XH6mUVSPNZvcCHWEHQtc,5815
|
|
12
12
|
airflow/providers/snowflake/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
13
13
|
airflow/providers/snowflake/transfers/copy_into_snowflake.py,sha256=splXX_zn35NecxhWqbs0rAO6zJL0jzeIEdJCqBw5IOI,12511
|
|
@@ -18,7 +18,7 @@ airflow/providers/snowflake/utils/common.py,sha256=DG-KLy2KpZWAqZqm_XIECm8lmdoUl
|
|
|
18
18
|
airflow/providers/snowflake/utils/openlineage.py,sha256=XkcYvb_cXG8tZQ6h1IwhfGCkOVf7MSBfOxW0WLGBW0s,3257
|
|
19
19
|
airflow/providers/snowflake/utils/snowpark.py,sha256=lw_tleNGFJICtTw2qCJ3TjWFOwZK1t8ZCIfYumS2Q18,1616
|
|
20
20
|
airflow/providers/snowflake/utils/sql_api_generate_jwt.py,sha256=9mR-vHIquv60tfAni87f6FAjKsiRHUDDrsVhzw4M9vM,6762
|
|
21
|
-
apache_airflow_providers_snowflake-6.0.
|
|
22
|
-
apache_airflow_providers_snowflake-6.0.
|
|
23
|
-
apache_airflow_providers_snowflake-6.0.
|
|
24
|
-
apache_airflow_providers_snowflake-6.0.
|
|
21
|
+
apache_airflow_providers_snowflake-6.1.0.dist-info/entry_points.txt,sha256=bCrl5J1PXUMzbgnrKYho61rkbL2gHRT4I6f_1jlxAX4,105
|
|
22
|
+
apache_airflow_providers_snowflake-6.1.0.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
|
23
|
+
apache_airflow_providers_snowflake-6.1.0.dist-info/METADATA,sha256=5whcYkTWZjVZpDmsdFgM1tksqylxyncCThrKXMHdlrc,6222
|
|
24
|
+
apache_airflow_providers_snowflake-6.1.0.dist-info/RECORD,,
|
|
File without changes
|