apache-airflow-providers-databricks 6.11.0rc1__tar.gz → 6.12.0__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-databricks might be problematic. Click here for more details.

Files changed (24) hide show
  1. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/PKG-INFO +8 -8
  2. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/README.rst +3 -3
  3. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/__init__.py +1 -1
  4. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/get_provider_info.py +2 -1
  5. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/hooks/databricks_base.py +13 -3
  6. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/pyproject.toml +5 -5
  7. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/LICENSE +0 -0
  8. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/hooks/__init__.py +0 -0
  9. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/hooks/databricks.py +0 -0
  10. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/hooks/databricks_sql.py +0 -0
  11. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/operators/__init__.py +0 -0
  12. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/operators/databricks.py +0 -0
  13. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/operators/databricks_repos.py +0 -0
  14. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/operators/databricks_sql.py +0 -0
  15. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/operators/databricks_workflow.py +0 -0
  16. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/plugins/__init__.py +0 -0
  17. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/plugins/databricks_workflow.py +0 -0
  18. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/sensors/__init__.py +0 -0
  19. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/sensors/databricks_partition.py +0 -0
  20. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/sensors/databricks_sql.py +0 -0
  21. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/triggers/__init__.py +0 -0
  22. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/triggers/databricks.py +0 -0
  23. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/utils/__init__.py +0 -0
  24. {apache_airflow_providers_databricks-6.11.0rc1 → apache_airflow_providers_databricks-6.12.0}/airflow/providers/databricks/utils/databricks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-databricks
3
- Version: 6.11.0rc1
3
+ Version: 6.12.0
4
4
  Summary: Provider package apache-airflow-providers-databricks for Apache Airflow
5
5
  Keywords: airflow-provider,databricks,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -21,8 +21,8 @@ Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Topic :: System :: Monitoring
23
23
  Requires-Dist: aiohttp>=3.9.2, <4
24
- Requires-Dist: apache-airflow-providers-common-sql>=1.10.0rc0
25
- Requires-Dist: apache-airflow>=2.8.0rc0
24
+ Requires-Dist: apache-airflow-providers-common-sql>=1.10.0
25
+ Requires-Dist: apache-airflow>=2.8.0
26
26
  Requires-Dist: databricks-sql-connector>=2.0.0, <3.0.0, !=2.9.0
27
27
  Requires-Dist: mergedeep>=1.3.4
28
28
  Requires-Dist: pandas>=1.5.3,<2.2;python_version<"3.9"
@@ -33,8 +33,8 @@ Requires-Dist: azure-identity>=1.3.1 ; extra == "azure-identity"
33
33
  Requires-Dist: apache-airflow-providers-common-sql ; extra == "common.sql"
34
34
  Requires-Dist: databricks-sdk==0.10.0 ; extra == "sdk"
35
35
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
36
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.11.0/changelog.html
37
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.11.0
36
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.12.0/changelog.html
37
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.12.0
38
38
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
39
39
  Project-URL: Source Code, https://github.com/apache/airflow
40
40
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -87,7 +87,7 @@ Provides-Extra: sdk
87
87
 
88
88
  Package ``apache-airflow-providers-databricks``
89
89
 
90
- Release: ``6.11.0.rc1``
90
+ Release: ``6.12.0``
91
91
 
92
92
 
93
93
  `Databricks <https://databricks.com/>`__
@@ -100,7 +100,7 @@ This is a provider package for ``databricks`` provider. All classes for this pro
100
100
  are in ``airflow.providers.databricks`` python package.
101
101
 
102
102
  You can find package information and changelog for the provider
103
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.11.0/>`_.
103
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.12.0/>`_.
104
104
 
105
105
  Installation
106
106
  ------------
@@ -148,4 +148,4 @@ Dependent package
148
148
  ============================================================================================================ ==============
149
149
 
150
150
  The changelog for the provider package can be found in the
151
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.11.0/changelog.html>`_.
151
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.12.0/changelog.html>`_.
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-databricks``
44
44
 
45
- Release: ``6.11.0.rc1``
45
+ Release: ``6.12.0``
46
46
 
47
47
 
48
48
  `Databricks <https://databricks.com/>`__
@@ -55,7 +55,7 @@ This is a provider package for ``databricks`` provider. All classes for this pro
55
55
  are in ``airflow.providers.databricks`` 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-databricks/6.11.0/>`_.
58
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.12.0/>`_.
59
59
 
60
60
  Installation
61
61
  ------------
@@ -103,4 +103,4 @@ Dependent package
103
103
  ============================================================================================================ ==============
104
104
 
105
105
  The changelog for the provider package can be found in the
106
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.11.0/changelog.html>`_.
106
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.12.0/changelog.html>`_.
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "6.11.0"
32
+ __version__ = "6.12.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.8.0"
@@ -28,8 +28,9 @@ def get_provider_info():
28
28
  "name": "Databricks",
29
29
  "description": "`Databricks <https://databricks.com/>`__\n",
30
30
  "state": "ready",
31
- "source-date-epoch": 1728485027,
31
+ "source-date-epoch": 1730012521,
32
32
  "versions": [
33
+ "6.12.0",
33
34
  "6.11.0",
34
35
  "6.10.0",
35
36
  "6.9.0",
@@ -28,12 +28,14 @@ from __future__ import annotations
28
28
  import copy
29
29
  import platform
30
30
  import time
31
+ from asyncio.exceptions import TimeoutError
31
32
  from functools import cached_property
32
33
  from typing import TYPE_CHECKING, Any
33
34
  from urllib.parse import urlsplit
34
35
 
35
36
  import aiohttp
36
37
  import requests
38
+ from aiohttp.client_exceptions import ClientConnectorError
37
39
  from requests import PreparedRequest, exceptions as requests_exceptions
38
40
  from requests.auth import AuthBase, HTTPBasicAuth
39
41
  from requests.exceptions import JSONDecodeError
@@ -515,6 +517,11 @@ class BaseDatabricksHook(BaseHook):
515
517
  def _log_request_error(self, attempt_num: int, error: str) -> None:
516
518
  self.log.error("Attempt %s API Request to Databricks failed with reason: %s", attempt_num, error)
517
519
 
520
+ def _endpoint_url(self, endpoint):
521
+ port = f":{self.databricks_conn.port}" if self.databricks_conn.port else ""
522
+ schema = self.databricks_conn.schema or "https"
523
+ return f"{schema}://{self.host}{port}/{endpoint}"
524
+
518
525
  def _do_api_call(
519
526
  self,
520
527
  endpoint_info: tuple[str, str],
@@ -533,7 +540,7 @@ class BaseDatabricksHook(BaseHook):
533
540
  method, endpoint = endpoint_info
534
541
 
535
542
  # TODO: get rid of explicit 'api/' in the endpoint specification
536
- url = f"https://{self.host}/{endpoint}"
543
+ url = self._endpoint_url(endpoint)
537
544
 
538
545
  aad_headers = self._get_aad_headers()
539
546
  headers = {**self.user_agent_header, **aad_headers}
@@ -599,7 +606,7 @@ class BaseDatabricksHook(BaseHook):
599
606
  """
600
607
  method, endpoint = endpoint_info
601
608
 
602
- url = f"https://{self.host}/{endpoint}"
609
+ url = self._endpoint_url(endpoint)
603
610
 
604
611
  aad_headers = await self._a_get_aad_headers()
605
612
  headers = {**self.user_agent_header, **aad_headers}
@@ -638,7 +645,7 @@ class BaseDatabricksHook(BaseHook):
638
645
  headers={**headers, **self.user_agent_header},
639
646
  timeout=self.timeout_seconds,
640
647
  ) as response:
641
- self.log.debug("Response Status Code: %s", response.status_code)
648
+ self.log.debug("Response Status Code: %s", response.status)
642
649
  self.log.debug("Response text: %s", response.text)
643
650
  response.raise_for_status()
644
651
  return await response.json()
@@ -678,6 +685,9 @@ class BaseDatabricksHook(BaseHook):
678
685
  if exception.status >= 500 or exception.status == 429:
679
686
  return True
680
687
 
688
+ if isinstance(exception, (ClientConnectorError, TimeoutError)):
689
+ return True
690
+
681
691
  return False
682
692
 
683
693
 
@@ -28,7 +28,7 @@ build-backend = "flit_core.buildapi"
28
28
 
29
29
  [project]
30
30
  name = "apache-airflow-providers-databricks"
31
- version = "6.11.0.rc1"
31
+ version = "6.12.0"
32
32
  description = "Provider package apache-airflow-providers-databricks for Apache Airflow"
33
33
  readme = "README.rst"
34
34
  authors = [
@@ -56,8 +56,8 @@ classifiers = [
56
56
  requires-python = "~=3.9"
57
57
  dependencies = [
58
58
  "aiohttp>=3.9.2, <4",
59
- "apache-airflow-providers-common-sql>=1.10.0rc0",
60
- "apache-airflow>=2.8.0rc0",
59
+ "apache-airflow-providers-common-sql>=1.10.0",
60
+ "apache-airflow>=2.8.0",
61
61
  "databricks-sql-connector>=2.0.0, <3.0.0, !=2.9.0",
62
62
  "mergedeep>=1.3.4",
63
63
  "pandas>=1.5.3,<2.2;python_version<\"3.9\"",
@@ -67,8 +67,8 @@ dependencies = [
67
67
  ]
68
68
 
69
69
  [project.urls]
70
- "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.11.0"
71
- "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.11.0/changelog.html"
70
+ "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.12.0"
71
+ "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-databricks/6.12.0/changelog.html"
72
72
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
73
73
  "Source Code" = "https://github.com/apache/airflow"
74
74
  "Slack Chat" = "https://s.apache.org/airflow-slack"