databricks-sql-connector 4.4.0__tar.gz → 4.5.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.
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/CHANGELOG.md +9 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/PKG-INFO +8 -3
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/README.md +6 -1
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/pyproject.toml +10 -19
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/__init__.py +1 -1
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/databricks_client.py +7 -1
- databricks_sql_connector-4.5.0/src/databricks/sql/backend/kernel/auth_bridge.py +544 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/kernel/client.py +215 -63
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/kernel/result_set.py +4 -7
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/kernel/type_mapping.py +8 -2
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/backend.py +18 -1
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/queue.py +12 -1
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/types.py +17 -2
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/client.py +109 -24
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/cloudfetch/download_manager.py +9 -2
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/cloudfetch/downloader.py +11 -2
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/parameters/native.py +56 -9
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/session.py +131 -8
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/telemetry/telemetry_client.py +3 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/utils.py +17 -6
- databricks_sql_connector-4.4.0/src/databricks/sql/backend/kernel/auth_bridge.py +0 -268
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/LICENSE +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/__init__.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/__init__.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/auth.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/auth_utils.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/authenticators.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/common.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/endpoint.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/oauth.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/oauth_http_handler.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/retry.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/thrift_http_client.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/auth/token_federation.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/kernel/__init__.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/kernel/_errors.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/models/__init__.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/models/base.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/models/requests.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/models/responses.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/result_set.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/utils/constants.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/utils/conversion.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/utils/filters.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/utils/http_client.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/sea/utils/normalize.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/thrift_backend.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/utils/__init__.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/backend/utils/guid_utils.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/common/agent.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/common/feature_flag.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/common/http.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/common/http_utils.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/common/unified_http_client.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/common/url_utils.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/exc.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/experimental/__init__.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/experimental/oauth_persistence.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/parameters/__init__.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/parameters/py.typed +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/py.typed +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/result_set.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/telemetry/circuit_breaker_manager.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/telemetry/latency_logger.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/telemetry/models/endpoint_models.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/telemetry/models/enums.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/telemetry/models/event.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/telemetry/models/frontend_logs.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/telemetry/telemetry_push_client.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/telemetry/utils.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/thrift_api/TCLIService/TCLIService-remote +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/thrift_api/TCLIService/TCLIService.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/thrift_api/TCLIService/__init__.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/thrift_api/TCLIService/constants.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/thrift_api/TCLIService/ttypes.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/thrift_api/__init__.py +0 -0
- {databricks_sql_connector-4.4.0 → databricks_sql_connector-4.5.0}/src/databricks/sql/types.py +0 -0
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
+
# 4.5.0 (2026-09-01)
|
|
4
|
+
- Upgrade Databricks SQL Kernel to 1.0.0.
|
|
5
|
+
- Add JWT private-key M2M and Azure Entra authentication for kernel connections.
|
|
6
|
+
- Add `oauth_token_cache_enabled` for kernel U2M token caching.
|
|
7
|
+
- Forward kernel telemetry, socket timeout, OAuth, identity-federation, and row-limit settings.
|
|
8
|
+
- Preserve empty metadata filters and fix async statement telemetry.
|
|
9
|
+
- Lazy-load Apache Thrift for kernel and SEA connections.
|
|
10
|
+
- Deprecate SEA in favor of the kernel backend.
|
|
11
|
+
|
|
3
12
|
# 4.4.0 (2026-07-22)
|
|
4
13
|
- Raised the minimum supported Python version to 3.10, dropping the end-of-life 3.8/3.9, to update the lockfile and clear CVE-flagged dependencies in the repo (databricks/databricks-sql-python#798)
|
|
5
14
|
- Fix: `REMOVE` staging operations no longer require `staging_allowed_local_path` to be set, since removing a remote file does not touch the local filesystem (databricks/databricks-sql-python#726)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: databricks-sql-connector
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.5.0
|
|
4
4
|
Summary: Databricks SQL Connector for Python
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -16,7 +16,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.14
|
|
17
17
|
Provides-Extra: kernel
|
|
18
18
|
Provides-Extra: pyarrow
|
|
19
|
-
Requires-Dist: databricks-sql-kernel (>=0.2.0
|
|
19
|
+
Requires-Dist: databricks-sql-kernel (>=1.0.0,<2.0.0) ; (python_version >= "3.10") and (extra == "kernel")
|
|
20
20
|
Requires-Dist: lz4 (>=4.0.2,<5.0.0) ; python_version >= "3.10" and python_version < "3.14"
|
|
21
21
|
Requires-Dist: lz4 (>=4.4.5,<5.0.0) ; python_version >= "3.14"
|
|
22
22
|
Requires-Dist: oauthlib (>=3.1.0,<4.0.0)
|
|
@@ -60,6 +60,10 @@ For the latest documentation, see
|
|
|
60
60
|
- [Databricks](https://docs.databricks.com/dev-tools/python-sql-connector.html)
|
|
61
61
|
- [Azure Databricks](https://docs.microsoft.com/en-us/azure/databricks/dev-tools/python-sql-connector)
|
|
62
62
|
|
|
63
|
+
For a full reference of every `sql.connect(...)` keyword argument — type,
|
|
64
|
+
default, per-backend support (Thrift vs Kernel), and meaning — see
|
|
65
|
+
[`CONNECTION_PARAMETERS.md`](CONNECTION_PARAMETERS.md).
|
|
66
|
+
|
|
63
67
|
## Quickstart
|
|
64
68
|
|
|
65
69
|
### Installing the core library
|
|
@@ -90,7 +94,8 @@ Notes:
|
|
|
90
94
|
`cp310-abi3`). On older interpreters the `[kernel]` extra installs
|
|
91
95
|
nothing and `use_kernel=True` raises an `ImportError`.
|
|
92
96
|
- The extra also pulls in PyArrow, which the kernel result path requires.
|
|
93
|
-
- Authentication supports PAT (`access_token`), OAuth M2M, and
|
|
97
|
+
- Authentication supports PAT (`access_token`), OAuth M2M/U2M, and SP-wide
|
|
98
|
+
workload identity federation (`identity_federation_client_id`).
|
|
94
99
|
|
|
95
100
|
|
|
96
101
|
```bash
|
|
@@ -22,6 +22,10 @@ For the latest documentation, see
|
|
|
22
22
|
- [Databricks](https://docs.databricks.com/dev-tools/python-sql-connector.html)
|
|
23
23
|
- [Azure Databricks](https://docs.microsoft.com/en-us/azure/databricks/dev-tools/python-sql-connector)
|
|
24
24
|
|
|
25
|
+
For a full reference of every `sql.connect(...)` keyword argument — type,
|
|
26
|
+
default, per-backend support (Thrift vs Kernel), and meaning — see
|
|
27
|
+
[`CONNECTION_PARAMETERS.md`](CONNECTION_PARAMETERS.md).
|
|
28
|
+
|
|
25
29
|
## Quickstart
|
|
26
30
|
|
|
27
31
|
### Installing the core library
|
|
@@ -52,7 +56,8 @@ Notes:
|
|
|
52
56
|
`cp310-abi3`). On older interpreters the `[kernel]` extra installs
|
|
53
57
|
nothing and `use_kernel=True` raises an `ImportError`.
|
|
54
58
|
- The extra also pulls in PyArrow, which the kernel result path requires.
|
|
55
|
-
- Authentication supports PAT (`access_token`), OAuth M2M, and
|
|
59
|
+
- Authentication supports PAT (`access_token`), OAuth M2M/U2M, and SP-wide
|
|
60
|
+
workload identity federation (`identity_federation_client_id`).
|
|
56
61
|
|
|
57
62
|
|
|
58
63
|
```bash
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "databricks-sql-connector"
|
|
3
|
-
version = "4.
|
|
3
|
+
version = "4.5.0"
|
|
4
4
|
description = "Databricks SQL Connector for Python"
|
|
5
5
|
authors = ["Databricks <databricks-sql-connector-maintainers@databricks.com>"]
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -48,26 +48,19 @@ pybreaker = "^1.0.0"
|
|
|
48
48
|
requests-kerberos = {version = "^0.15.0", optional = true}
|
|
49
49
|
# Optional Rust kernel backend for ``use_kernel=True`` (PyO3 wheel).
|
|
50
50
|
# Pulled in only via the ``[kernel]`` extra below. The published wheel
|
|
51
|
-
# is ``abi3`` with ``Requires-Python: >=3.
|
|
52
|
-
#
|
|
53
|
-
# ``[kernel]`` extra resolves to nothing and ``use_kernel=True`` raises
|
|
54
|
-
# a clear ImportError at runtime (see backend/kernel/_errors.py).
|
|
51
|
+
# is ``abi3`` with ``Requires-Python: >=3.9`` (built ``abi3-py39``); the
|
|
52
|
+
# dependency remains gated to the connector's Python >= 3.10 support floor.
|
|
55
53
|
#
|
|
56
|
-
# Floor is 0.
|
|
57
|
-
#
|
|
58
|
-
#
|
|
59
|
-
|
|
60
|
-
# keeps the same Requires-Python (>=3.10) and pyarrow (>=23.0.1,<24) pin
|
|
61
|
-
# as 0.1.x, so the gating below is unchanged.
|
|
62
|
-
databricks-sql-kernel = {version = "^0.2.0", optional = true, python = ">=3.10"}
|
|
54
|
+
# Floor is 1.0.0 (``^1.0.0`` == ``>=1.0.0,<2.0.0``), allowing compatible
|
|
55
|
+
# 1.x releases while keeping the next major upgrade deliberate. The kernel's
|
|
56
|
+
# pyarrow constraint remains >=23.0.1,<24.
|
|
57
|
+
databricks-sql-kernel = {version = "^1.0.0", optional = true, python = ">=3.10"}
|
|
63
58
|
|
|
64
59
|
|
|
65
60
|
[tool.poetry.extras]
|
|
66
61
|
pyarrow = ["pyarrow"]
|
|
67
62
|
# ``pip install databricks-sql-connector[kernel]`` adds the Rust kernel
|
|
68
|
-
# backend so ``use_kernel=True`` works.
|
|
69
|
-
# wheel's floor) — those users get a runtime ImportError if they pass
|
|
70
|
-
# ``use_kernel=True``.
|
|
63
|
+
# backend so ``use_kernel=True`` works.
|
|
71
64
|
#
|
|
72
65
|
# The kernel result path (``backend/kernel/result_set.py``) needs
|
|
73
66
|
# pyarrow, but it is NOT listed in this extra on purpose: the published
|
|
@@ -75,10 +68,8 @@ pyarrow = ["pyarrow"]
|
|
|
75
68
|
# dependency, so ``pip install ...[kernel]`` already pulls a compatible
|
|
76
69
|
# pyarrow transitively. Listing bare ``pyarrow`` here additionally
|
|
77
70
|
# forces poetry to co-resolve an unconstrained pyarrow against the
|
|
78
|
-
# kernel's ``>=23.0.1,<24
|
|
79
|
-
#
|
|
80
|
-
# on 3.8/3.9 and breaks ``poetry lock``. The kernel's own dependency
|
|
81
|
-
# metadata is the single source of truth for the pyarrow floor.
|
|
71
|
+
# kernel's ``>=23.0.1,<24``. The kernel's own dependency metadata is the
|
|
72
|
+
# single source of truth for the pyarrow floor.
|
|
82
73
|
kernel = ["databricks-sql-kernel"]
|
|
83
74
|
|
|
84
75
|
[tool.poetry.group.dev.dependencies]
|
|
@@ -7,7 +7,13 @@ if TYPE_CHECKING:
|
|
|
7
7
|
from databricks.sql.client import Cursor
|
|
8
8
|
from databricks.sql.result_set import ResultSet
|
|
9
9
|
|
|
10
|
-
from
|
|
10
|
+
# Type-annotation-only import (deferred by ``from __future__ import
|
|
11
|
+
# annotations``). ``execute_command`` is typed with ``TSparkParameter`` for
|
|
12
|
+
# backwards compatibility, but this abstract base -- and the SEA/kernel
|
|
13
|
+
# implementations of it -- never import the Apache Thrift ``thrift`` package
|
|
14
|
+
# at load time. See ``test_lazy_thrift_import``.
|
|
15
|
+
from databricks.sql.thrift_api.TCLIService import ttypes
|
|
16
|
+
|
|
11
17
|
from databricks.sql.backend.types import SessionId, CommandId, CommandState
|
|
12
18
|
|
|
13
19
|
|