apache-airflow-providers-teradata 2.6.1rc1__tar.gz → 3.0.0rc1__tar.gz
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.
Potentially problematic release.
This version of apache-airflow-providers-teradata might be problematic. Click here for more details.
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/PKG-INFO +9 -11
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/README.rst +4 -4
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/__init__.py +3 -3
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/get_provider_info.py +14 -3
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/hooks/teradata.py +0 -36
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/operators/teradata.py +2 -1
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/operators/teradata_compute_cluster.py +2 -1
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/transfers/azure_blob_to_teradata.py +2 -1
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/transfers/s3_to_teradata.py +2 -1
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/transfers/teradata_to_teradata.py +3 -2
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/triggers/teradata_compute_cluster.py +2 -1
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/pyproject.toml +5 -8
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/LICENSE +0 -0
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/hooks/__init__.py +0 -0
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/operators/__init__.py +0 -0
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/transfers/__init__.py +0 -0
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/triggers/__init__.py +0 -0
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/utils/__init__.py +0 -0
- {apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/airflow/providers/teradata/utils/constants.py +0 -0
{apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: apache-airflow-providers-teradata
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0rc1
|
|
4
4
|
Summary: Provider package apache-airflow-providers-teradata for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,teradata,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
@@ -21,21 +21,19 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
|
23
23
|
Requires-Dist: apache-airflow-providers-common-sql>=1.20.0rc0
|
|
24
|
-
Requires-Dist: apache-airflow>=2.
|
|
24
|
+
Requires-Dist: apache-airflow>=2.9.0rc0
|
|
25
25
|
Requires-Dist: teradatasql>=17.20.0.28
|
|
26
26
|
Requires-Dist: teradatasqlalchemy>=17.20.0.0
|
|
27
27
|
Requires-Dist: apache-airflow-providers-amazon ; extra == "amazon"
|
|
28
|
-
Requires-Dist: apache-airflow-providers-common-sql ; extra == "common-sql"
|
|
29
28
|
Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft-azure"
|
|
30
29
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
31
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-teradata/
|
|
32
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-teradata/
|
|
30
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0/changelog.html
|
|
31
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0
|
|
33
32
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
34
33
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
35
|
-
Project-URL: Twitter, https://
|
|
34
|
+
Project-URL: Twitter, https://x.com/ApacheAirflow
|
|
36
35
|
Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
37
36
|
Provides-Extra: amazon
|
|
38
|
-
Provides-Extra: common-sql
|
|
39
37
|
Provides-Extra: microsoft-azure
|
|
40
38
|
|
|
41
39
|
|
|
@@ -82,7 +80,7 @@ Provides-Extra: microsoft-azure
|
|
|
82
80
|
|
|
83
81
|
Package ``apache-airflow-providers-teradata``
|
|
84
82
|
|
|
85
|
-
Release: ``
|
|
83
|
+
Release: ``3.0.0.rc1``
|
|
86
84
|
|
|
87
85
|
|
|
88
86
|
`Teradata <https://www.teradata.com/>`__
|
|
@@ -95,7 +93,7 @@ This is a provider package for ``teradata`` provider. All classes for this provi
|
|
|
95
93
|
are in ``airflow.providers.teradata`` python package.
|
|
96
94
|
|
|
97
95
|
You can find package information and changelog for the provider
|
|
98
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-teradata/
|
|
96
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0/>`_.
|
|
99
97
|
|
|
100
98
|
Installation
|
|
101
99
|
------------
|
|
@@ -112,7 +110,7 @@ Requirements
|
|
|
112
110
|
======================================= ==================
|
|
113
111
|
PIP package Version required
|
|
114
112
|
======================================= ==================
|
|
115
|
-
``apache-airflow`` ``>=2.
|
|
113
|
+
``apache-airflow`` ``>=2.9.0``
|
|
116
114
|
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
|
117
115
|
``teradatasqlalchemy`` ``>=17.20.0.0``
|
|
118
116
|
``teradatasql`` ``>=17.20.0.28``
|
|
@@ -140,4 +138,4 @@ Dependent package
|
|
|
140
138
|
====================================================================================================================== ===================
|
|
141
139
|
|
|
142
140
|
The changelog for the provider package can be found in the
|
|
143
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-teradata/
|
|
141
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0/changelog.html>`_.
|
{apache_airflow_providers_teradata-2.6.1rc1 → apache_airflow_providers_teradata-3.0.0rc1}/README.rst
RENAMED
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
Package ``apache-airflow-providers-teradata``
|
|
44
44
|
|
|
45
|
-
Release: ``
|
|
45
|
+
Release: ``3.0.0.rc1``
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
`Teradata <https://www.teradata.com/>`__
|
|
@@ -55,7 +55,7 @@ This is a provider package for ``teradata`` provider. All classes for this provi
|
|
|
55
55
|
are in ``airflow.providers.teradata`` python package.
|
|
56
56
|
|
|
57
57
|
You can find package information and changelog for the provider
|
|
58
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-teradata/
|
|
58
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0/>`_.
|
|
59
59
|
|
|
60
60
|
Installation
|
|
61
61
|
------------
|
|
@@ -72,7 +72,7 @@ Requirements
|
|
|
72
72
|
======================================= ==================
|
|
73
73
|
PIP package Version required
|
|
74
74
|
======================================= ==================
|
|
75
|
-
``apache-airflow`` ``>=2.
|
|
75
|
+
``apache-airflow`` ``>=2.9.0``
|
|
76
76
|
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
|
77
77
|
``teradatasqlalchemy`` ``>=17.20.0.0``
|
|
78
78
|
``teradatasql`` ``>=17.20.0.28``
|
|
@@ -100,4 +100,4 @@ Dependent package
|
|
|
100
100
|
====================================================================================================================== ===================
|
|
101
101
|
|
|
102
102
|
The changelog for the provider package can be found in the
|
|
103
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-teradata/
|
|
103
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0/changelog.html>`_.
|
|
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "
|
|
32
|
+
__version__ = "3.0.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
|
-
"2.
|
|
35
|
+
"2.9.0"
|
|
36
36
|
):
|
|
37
37
|
raise RuntimeError(
|
|
38
|
-
f"The package `apache-airflow-providers-teradata:{__version__}` needs Apache Airflow 2.
|
|
38
|
+
f"The package `apache-airflow-providers-teradata:{__version__}` needs Apache Airflow 2.9.0+"
|
|
39
39
|
)
|
|
@@ -28,10 +28,21 @@ def get_provider_info():
|
|
|
28
28
|
"name": "Teradata",
|
|
29
29
|
"description": "`Teradata <https://www.teradata.com/>`__\n",
|
|
30
30
|
"state": "ready",
|
|
31
|
-
"source-date-epoch":
|
|
32
|
-
"versions": [
|
|
31
|
+
"source-date-epoch": 1734537340,
|
|
32
|
+
"versions": [
|
|
33
|
+
"3.0.0",
|
|
34
|
+
"2.6.1",
|
|
35
|
+
"2.6.0",
|
|
36
|
+
"2.5.0",
|
|
37
|
+
"2.4.0",
|
|
38
|
+
"2.3.0",
|
|
39
|
+
"2.2.0",
|
|
40
|
+
"2.1.1",
|
|
41
|
+
"2.1.0",
|
|
42
|
+
"2.0.0",
|
|
43
|
+
],
|
|
33
44
|
"dependencies": [
|
|
34
|
-
"apache-airflow>=2.
|
|
45
|
+
"apache-airflow>=2.9.0",
|
|
35
46
|
"apache-airflow-providers-common-sql>=1.20.0",
|
|
36
47
|
"teradatasqlalchemy>=17.20.0.0",
|
|
37
48
|
"teradatasql>=17.20.0.28",
|
|
@@ -20,14 +20,12 @@
|
|
|
20
20
|
from __future__ import annotations
|
|
21
21
|
|
|
22
22
|
import re
|
|
23
|
-
import warnings
|
|
24
23
|
from typing import TYPE_CHECKING, Any
|
|
25
24
|
|
|
26
25
|
import sqlalchemy
|
|
27
26
|
import teradatasql
|
|
28
27
|
from teradatasql import TeradataConnection
|
|
29
28
|
|
|
30
|
-
from airflow.exceptions import AirflowProviderDeprecationWarning
|
|
31
29
|
from airflow.providers.common.sql.hooks.sql import DbApiHook
|
|
32
30
|
|
|
33
31
|
if TYPE_CHECKING:
|
|
@@ -160,40 +158,6 @@ class TeradataHook(DbApiHook):
|
|
|
160
158
|
except Exception as ex:
|
|
161
159
|
self.log.error("Error occurred while setting session query band: %s ", str(ex))
|
|
162
160
|
|
|
163
|
-
def bulk_insert_rows(
|
|
164
|
-
self,
|
|
165
|
-
table: str,
|
|
166
|
-
rows: list[tuple],
|
|
167
|
-
target_fields: list[str] | None = None,
|
|
168
|
-
commit_every: int = 5000,
|
|
169
|
-
):
|
|
170
|
-
"""
|
|
171
|
-
Use :func:`insert_rows` instead, this is deprecated.
|
|
172
|
-
|
|
173
|
-
Insert bulk of records into Teradata SQL Database.
|
|
174
|
-
|
|
175
|
-
This uses prepared statements via `executemany()`. For best performance,
|
|
176
|
-
pass in `rows` as an iterator.
|
|
177
|
-
|
|
178
|
-
:param table: target Teradata database table, use dot notation to target a
|
|
179
|
-
specific database
|
|
180
|
-
:param rows: the rows to insert into the table
|
|
181
|
-
:param target_fields: the names of the columns to fill in the table, default None.
|
|
182
|
-
If None, each row should have some order as table columns name
|
|
183
|
-
:param commit_every: the maximum number of rows to insert in one transaction
|
|
184
|
-
Default 5000. Set greater than 0. Set 1 to insert each row in each transaction
|
|
185
|
-
"""
|
|
186
|
-
warnings.warn(
|
|
187
|
-
"bulk_insert_rows is deprecated. Please use the insert_rows method instead.",
|
|
188
|
-
AirflowProviderDeprecationWarning,
|
|
189
|
-
stacklevel=2,
|
|
190
|
-
)
|
|
191
|
-
|
|
192
|
-
if not rows:
|
|
193
|
-
raise ValueError("parameter rows could not be None or empty iterable")
|
|
194
|
-
|
|
195
|
-
self.insert_rows(table=table, rows=rows, target_fields=target_fields, commit_every=commit_every)
|
|
196
|
-
|
|
197
161
|
def _get_conn_config_teradatasql(self) -> dict[str, Any]:
|
|
198
162
|
"""Return set of config params required for connecting to Teradata DB using teradatasql client."""
|
|
199
163
|
conn: Connection = self.get_connection(self.get_conn_id())
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
# under the License.
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
|
-
from
|
|
20
|
+
from collections.abc import Sequence
|
|
21
|
+
from typing import TYPE_CHECKING, ClassVar
|
|
21
22
|
|
|
22
23
|
from airflow.models import BaseOperator
|
|
23
24
|
from airflow.providers.common.sql.operators.sql import SQLExecuteQueryOperator
|
|
@@ -30,8 +30,9 @@ from airflow.providers.teradata.utils.constants import Constants
|
|
|
30
30
|
if TYPE_CHECKING:
|
|
31
31
|
from airflow.utils.context import Context
|
|
32
32
|
|
|
33
|
+
from collections.abc import Sequence
|
|
33
34
|
from datetime import timedelta
|
|
34
|
-
from typing import TYPE_CHECKING, Any,
|
|
35
|
+
from typing import TYPE_CHECKING, Any, cast
|
|
35
36
|
|
|
36
37
|
from airflow.providers.teradata.triggers.teradata_compute_cluster import TeradataComputeClusterSyncTrigger
|
|
37
38
|
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
# under the License.
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
|
+
from collections.abc import Sequence
|
|
20
21
|
from textwrap import dedent
|
|
21
|
-
from typing import TYPE_CHECKING
|
|
22
|
+
from typing import TYPE_CHECKING
|
|
22
23
|
|
|
23
24
|
from airflow.models import BaseOperator
|
|
24
25
|
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
# under the License.
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
|
+
from collections.abc import Sequence
|
|
20
21
|
from textwrap import dedent
|
|
21
|
-
from typing import TYPE_CHECKING
|
|
22
|
+
from typing import TYPE_CHECKING
|
|
22
23
|
|
|
23
24
|
from airflow.models import BaseOperator
|
|
24
25
|
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
# under the License.
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
|
+
from collections.abc import Sequence
|
|
20
21
|
from functools import cached_property
|
|
21
|
-
from typing import TYPE_CHECKING
|
|
22
|
+
from typing import TYPE_CHECKING
|
|
22
23
|
|
|
23
24
|
from airflow.models import BaseOperator
|
|
24
25
|
from airflow.providers.teradata.hooks.teradata import TeradataHook
|
|
@@ -90,7 +91,7 @@ class TeradataToTeradataOperator(BaseOperator):
|
|
|
90
91
|
rows_total = 0
|
|
91
92
|
if len(target_fields) != 0:
|
|
92
93
|
for rows in iter(lambda: cursor.fetchmany(self.rows_chunk), []):
|
|
93
|
-
dest_hook.
|
|
94
|
+
dest_hook.insert_rows(
|
|
94
95
|
self.destination_table,
|
|
95
96
|
rows,
|
|
96
97
|
target_fields=target_fields,
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
19
|
import asyncio
|
|
20
|
-
from
|
|
20
|
+
from collections.abc import AsyncIterator
|
|
21
|
+
from typing import Any
|
|
21
22
|
|
|
22
23
|
from airflow.exceptions import AirflowException
|
|
23
24
|
from airflow.providers.common.sql.hooks.sql import fetch_one_handler
|
|
@@ -27,7 +27,7 @@ build-backend = "flit_core.buildapi"
|
|
|
27
27
|
|
|
28
28
|
[project]
|
|
29
29
|
name = "apache-airflow-providers-teradata"
|
|
30
|
-
version = "
|
|
30
|
+
version = "3.0.0.rc1"
|
|
31
31
|
description = "Provider package apache-airflow-providers-teradata for Apache Airflow"
|
|
32
32
|
readme = "README.rst"
|
|
33
33
|
authors = [
|
|
@@ -55,18 +55,18 @@ classifiers = [
|
|
|
55
55
|
requires-python = "~=3.9"
|
|
56
56
|
dependencies = [
|
|
57
57
|
"apache-airflow-providers-common-sql>=1.20.0rc0",
|
|
58
|
-
"apache-airflow>=2.
|
|
58
|
+
"apache-airflow>=2.9.0rc0",
|
|
59
59
|
"teradatasql>=17.20.0.28",
|
|
60
60
|
"teradatasqlalchemy>=17.20.0.0",
|
|
61
61
|
]
|
|
62
62
|
|
|
63
63
|
[project.urls]
|
|
64
|
-
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-teradata/
|
|
65
|
-
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-teradata/
|
|
64
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0"
|
|
65
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0/changelog.html"
|
|
66
66
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
|
67
67
|
"Source Code" = "https://github.com/apache/airflow"
|
|
68
68
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
|
69
|
-
"Twitter" = "https://
|
|
69
|
+
"Twitter" = "https://x.com/ApacheAirflow"
|
|
70
70
|
"YouTube" = "https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/"
|
|
71
71
|
|
|
72
72
|
[project.entry-points."apache_airflow_provider"]
|
|
@@ -75,9 +75,6 @@ provider_info = "airflow.providers.teradata.get_provider_info:get_provider_info"
|
|
|
75
75
|
"amazon" = [
|
|
76
76
|
"apache-airflow-providers-amazon",
|
|
77
77
|
]
|
|
78
|
-
"common.sql" = [
|
|
79
|
-
"apache-airflow-providers-common-sql",
|
|
80
|
-
]
|
|
81
78
|
"microsoft.azure" = [
|
|
82
79
|
"apache-airflow-providers-microsoft-azure",
|
|
83
80
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|