apache-airflow-providers-teradata 3.4.0rc1__py3-none-any.whl → 3.4.1rc1__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.
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "3.4.0"
32
+ __version__ = "3.4.1"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.11.0"
@@ -23,9 +23,9 @@ import re
23
23
  from typing import TYPE_CHECKING, Any
24
24
 
25
25
  import teradatasql
26
- from sqlalchemy.engine import URL
27
26
  from teradatasql import TeradataConnection
28
27
 
28
+ from airflow.providers.common.compat.sdk import AirflowOptionalProviderFeatureException
29
29
  from airflow.providers.common.sql.hooks.sql import DbApiHook
30
30
 
31
31
  if TYPE_CHECKING:
@@ -38,6 +38,18 @@ DEFAULT_DB_PORT = 1025
38
38
  PARAM_TYPES = {bool, float, int, str}
39
39
 
40
40
 
41
+ def _get_sqlalchemy_url():
42
+ try:
43
+ from sqlalchemy.engine import URL
44
+
45
+ return URL
46
+ except ImportError:
47
+ raise AirflowOptionalProviderFeatureException(
48
+ "SQLAlchemy is required for this Teradata feature."
49
+ "Install it with: pip install 'apache-airflow-providers-teradata[sqlalchemy]'"
50
+ )
51
+
52
+
41
53
  def _map_param(value):
42
54
  if value in PARAM_TYPES:
43
55
  # In this branch, value is a Python type; calling it produces
@@ -197,12 +209,13 @@ class TeradataHook(DbApiHook):
197
209
  return conn_config
198
210
 
199
211
  @property
200
- def sqlalchemy_url(self) -> URL:
212
+ def sqlalchemy_url(self):
201
213
  """
202
214
  Override to return a Sqlalchemy.engine.URL object from the Teradata connection.
203
215
 
204
216
  :return: the extracted sqlalchemy.engine.URL object.
205
217
  """
218
+ URL = _get_sqlalchemy_url()
206
219
  connection = self.get_connection(self.get_conn_id())
207
220
  # Adding only teradatasqlalchemy supported connection parameters.
208
221
  # https://pypi.org/project/teradatasqlalchemy/#ConnectionParameters
@@ -24,7 +24,7 @@ from typing import TYPE_CHECKING
24
24
  try:
25
25
  from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
26
26
  except ModuleNotFoundError as e:
27
- from airflow.exceptions import AirflowOptionalProviderFeatureException
27
+ from airflow.providers.common.compat.sdk import AirflowOptionalProviderFeatureException
28
28
 
29
29
  raise AirflowOptionalProviderFeatureException(e)
30
30
 
@@ -24,7 +24,7 @@ from typing import TYPE_CHECKING
24
24
  try:
25
25
  from airflow.providers.amazon.aws.hooks.s3 import S3Hook
26
26
  except ModuleNotFoundError as e:
27
- from airflow.exceptions import AirflowOptionalProviderFeatureException
27
+ from airflow.providers.common.compat.sdk import AirflowOptionalProviderFeatureException
28
28
 
29
29
  raise AirflowOptionalProviderFeatureException(e)
30
30
  from airflow.providers.common.compat.sdk import BaseOperator
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-teradata
3
- Version: 3.4.0rc1
3
+ Version: 3.4.1rc1
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>
@@ -23,22 +23,24 @@ Classifier: Topic :: System :: Monitoring
23
23
  License-File: LICENSE
24
24
  License-File: NOTICE
25
25
  Requires-Dist: apache-airflow>=2.11.0rc1
26
- Requires-Dist: apache-airflow-providers-common-compat>=1.10.1rc1
26
+ Requires-Dist: apache-airflow-providers-common-compat>=1.12.0rc1
27
27
  Requires-Dist: apache-airflow-providers-common-sql>=1.20.0rc1
28
28
  Requires-Dist: teradatasqlalchemy>=17.20.0.0
29
29
  Requires-Dist: teradatasql>=17.20.0.28
30
30
  Requires-Dist: apache-airflow-providers-amazon ; extra == "amazon"
31
31
  Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft-azure"
32
+ Requires-Dist: sqlalchemy>=1.4.49 ; extra == "sqlalchemy"
32
33
  Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
33
34
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
34
- Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-teradata/3.4.0/changelog.html
35
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-teradata/3.4.0
35
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-teradata/3.4.1/changelog.html
36
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-teradata/3.4.1
36
37
  Project-URL: Mastodon, https://fosstodon.org/@airflow
37
38
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
38
39
  Project-URL: Source Code, https://github.com/apache/airflow
39
40
  Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
40
41
  Provides-Extra: amazon
41
42
  Provides-Extra: microsoft-azure
43
+ Provides-Extra: sqlalchemy
42
44
  Provides-Extra: ssh
43
45
 
44
46
 
@@ -66,7 +68,7 @@ Provides-Extra: ssh
66
68
 
67
69
  Package ``apache-airflow-providers-teradata``
68
70
 
69
- Release: ``3.4.0``
71
+ Release: ``3.4.1``
70
72
 
71
73
 
72
74
  `Teradata <https://www.teradata.com/>`__
@@ -79,7 +81,7 @@ This is a provider package for ``teradata`` provider. All classes for this provi
79
81
  are in ``airflow.providers.teradata`` python package.
80
82
 
81
83
  You can find package information and changelog for the provider
82
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.4.0/>`_.
84
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.4.1/>`_.
83
85
 
84
86
  Installation
85
87
  ------------
@@ -135,8 +137,9 @@ Extra Dependencies
135
137
  ``microsoft.azure`` ``apache-airflow-providers-microsoft-azure``
136
138
  ``amazon`` ``apache-airflow-providers-amazon``
137
139
  ``ssh`` ``apache-airflow-providers-ssh``
140
+ ``sqlalchemy`` ``sqlalchemy>=1.4.49``
138
141
  =================== ============================================
139
142
 
140
143
  The changelog for the provider package can be found in the
141
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.4.0/changelog.html>`_.
144
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.4.1/changelog.html>`_.
142
145
 
@@ -1,9 +1,9 @@
1
- airflow/providers/teradata/__init__.py,sha256=hYd3EE3Rnw41KQr0wKTrZGzVLaejGasYQU0xURb08sM,1497
1
+ airflow/providers/teradata/__init__.py,sha256=ownY-hN1k7sebrHS3lLBaOFQskS2tBbU4E2ILdkpMIU,1497
2
2
  airflow/providers/teradata/get_provider_info.py,sha256=9lAHlzv_PyU_49LRtapVqukHBObT6_GgEpc5jdX7XXo,5147
3
3
  airflow/providers/teradata/version_compat.py,sha256=cmeoGMcTp0kiFa3GKZlQh31_kMk7UX9nOX8sYyGtuFg,1665
4
4
  airflow/providers/teradata/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
5
5
  airflow/providers/teradata/hooks/bteq.py,sha256=wz0k7_FDp-cKyFdT7PV-t7sFrWY_wBsDAEK9hWkSjv8,15024
6
- airflow/providers/teradata/hooks/teradata.py,sha256=k_u9iJsuwjr7-jdBkEGd_m4yjVfWwDrV0pXrbjUrxPE,11572
6
+ airflow/providers/teradata/hooks/teradata.py,sha256=08TikjxJksraPz9oBJ0rxZ1lzNhECWcm9qWqg4UNu-s,11999
7
7
  airflow/providers/teradata/hooks/tpt.py,sha256=j-NaKFLlkmVfqK3Zjxb5gVC0hnMJnhqR2sEKJe27Fts,21971
8
8
  airflow/providers/teradata/hooks/ttu.py,sha256=L8EE_ytr6GgKNWP9n9YSF2LRMNG6cMGR7U-V1bkn3kk,3659
9
9
  airflow/providers/teradata/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
@@ -12,8 +12,8 @@ airflow/providers/teradata/operators/teradata.py,sha256=7GIkQZWaxAyMYX7srcD6MT1G
12
12
  airflow/providers/teradata/operators/teradata_compute_cluster.py,sha256=bXy284gpRFzboArpIKjyUgF176VBcjIZZnkby36paoc,22050
13
13
  airflow/providers/teradata/operators/tpt.py,sha256=7p6Eo6Ky88AX9tNaA51DjVxF-hXj93VO5ehEjprvZi4,27556
14
14
  airflow/providers/teradata/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
15
- airflow/providers/teradata/transfers/azure_blob_to_teradata.py,sha256=mwvqDLPLOFH-9R6Uj-MjUdsRJ2lOAFVlCuAvI9u-AZY,5686
16
- airflow/providers/teradata/transfers/s3_to_teradata.py,sha256=vzxOAjq8_uxMxXqtqCrA3JVy1LlY4a-XkK0qheNZ_to,5546
15
+ airflow/providers/teradata/transfers/azure_blob_to_teradata.py,sha256=9N5RrqSOBMYs8I-mbKmbR3Mw4QOkXZ87Q0nHH4IB_lg,5703
16
+ airflow/providers/teradata/transfers/s3_to_teradata.py,sha256=SSO4An_qRKBXEUF5oKB-0-2wROZf8e8gYdOqL-MUtNA,5563
17
17
  airflow/providers/teradata/transfers/teradata_to_teradata.py,sha256=Gf5t90sUf4ZgUVYMMA6qSHk_nob2ZQkWoGNV8oeoVSs,3891
18
18
  airflow/providers/teradata/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
19
19
  airflow/providers/teradata/triggers/teradata_compute_cluster.py,sha256=r-o6dMZKPB0RseZxBBvQpaRbQOrNEBcdfh3JYiUDt4U,6961
@@ -22,9 +22,9 @@ airflow/providers/teradata/utils/bteq_util.py,sha256=kn7DnBQ8x4_e1f3gZjoIPcrHzll
22
22
  airflow/providers/teradata/utils/constants.py,sha256=daNhA6ixICQi2lqliSXHezBEVcibL_kOBq6hOZTCGdM,3090
23
23
  airflow/providers/teradata/utils/encryption_utils.py,sha256=ARGWmgBbvSq6_MQHfTevvfvHjaiBjQI62UXltDcJLJo,2578
24
24
  airflow/providers/teradata/utils/tpt_util.py,sha256=wSPGj6btV3XhDy-PkNSLzKScVvtVDRZpO4pJaWpuK7A,24012
25
- apache_airflow_providers_teradata-3.4.0rc1.dist-info/entry_points.txt,sha256=JbigXoUoKVSNWG-_-029FCCuehMOmAvuSnNGZ9Bz1Kc,104
26
- apache_airflow_providers_teradata-3.4.0rc1.dist-info/licenses/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
27
- apache_airflow_providers_teradata-3.4.0rc1.dist-info/licenses/NOTICE,sha256=E3-_E02gwwSEFzeeWPKmnIjOoos3hW28CLISV6sYrbQ,168
28
- apache_airflow_providers_teradata-3.4.0rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
29
- apache_airflow_providers_teradata-3.4.0rc1.dist-info/METADATA,sha256=mHHgyjfAJSyYolh-b2ek0XxTCnepZFy4DC0K__qn358,6769
30
- apache_airflow_providers_teradata-3.4.0rc1.dist-info/RECORD,,
25
+ apache_airflow_providers_teradata-3.4.1rc1.dist-info/entry_points.txt,sha256=JbigXoUoKVSNWG-_-029FCCuehMOmAvuSnNGZ9Bz1Kc,104
26
+ apache_airflow_providers_teradata-3.4.1rc1.dist-info/licenses/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
27
+ apache_airflow_providers_teradata-3.4.1rc1.dist-info/licenses/NOTICE,sha256=_cWHznIoUSbLCY_KfmKqetlKlsoH0c2VBjmZjElAzuc,168
28
+ apache_airflow_providers_teradata-3.4.1rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
29
+ apache_airflow_providers_teradata-3.4.1rc1.dist-info/METADATA,sha256=wuOlThkVtozMO4YFPlvtabryYDtccA1_9PcQjQ630MM,6898
30
+ apache_airflow_providers_teradata-3.4.1rc1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Apache Airflow
2
- Copyright 2016-2025 The Apache Software Foundation
2
+ Copyright 2016-2026 The Apache Software Foundation
3
3
 
4
4
  This product includes software developed at
5
5
  The Apache Software Foundation (http://www.apache.org/).