NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #513 most downloaded on PyPI
Databricks SQL Connector for Python
Last release 10 days ago
24 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
8 versions withdrawn
withdrawn after publishing
5 years old
104 releases · first in 2021
One column per quarter.
Upgrade Databricks SQL Kernel to 1.1.0; the kernel dependency is now stable and no longer experimental.
KP001), the session is re-opened on the kernel backend and the warehouse is remembered so later connections skip Thrift. Applies only when no backend was chosen explicitly._pool_maxsize to supported Databricks SQL Kernel versions.Deprecate SEA in favor of the kernel backend.
oauth_token_cache_enabled for kernel U2M token caching.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 th…
REMOVE staging operations no longer require staging_allowed_local_path to be set, since removing a remote file does not touch the local filesystem (#726)cursor.rowcount for DML on the Thrift backend: INSERT/UPDATE/DELETE/MERGE now set rowcount to the server's affected-row count instead of the hardcoded -1; SELECT (and statements the server does not report a count for) still return -1. executemany aggregates the count across all parameter sets per PEP 249 (#784)New: optional Rust kernel backend ( use_kernel=True ). Adds an alternative connection path backed by the native databricks-sql-kernel client (a Rust c
use_kernel=True). Adds an alternative connection path backed by the native databricks-sql-kernel client (a Rust core exposed via PyO3), installable with the new databricks-sql-connector[kernel] extra. The kernel talks to Databricks over the SEA (Statement Execution API) HTTP transport — not Thrift — with CloudFetch and inline-Arrow result fetching, so use_kernel=True gives you a modern SEA-native client through the same DB-API surface. Supports PAT, OAuth M2M, and OAuth U2M auth. Requires Python >= 3.10 (the kernel wheel is cp310-abi3); on older interpreters the extra is a no-op and use_kernel=True raises a clear ImportError. The default backend remains Thrift — opt in per connection.query_id / get_query_state), metadata (catalogs/schemas/tables/columns with JDBC-style filter semantics and case-insensitive table_types), DML rowcount, server-sourced async execution state, sync cancel(), fail-loud staging/volume operations, and structured error context (SQLSTATE, diagnostic info). Kernel logs surface through Python logging under the databricks.sql.kernel logger (#824, #825, #830, #838, #839 by @vikrantpuppala)Add optional Rust kernel backend for use_kernel=True , installable via the new databricks-sql-connector[kernel] extra (requires Python >= 3.10). Route
use_kernel=True, installable via the new databricks-sql-connector[kernel] extra (requires Python >= 3.10). Routes connections through the native databricks-sql-kernel client, with parity work across cursor-state tracking, metadata, logging (kernel logs surface through Python logging), staging fail-loud behavior, error context, and sync cancel (#824, #825, #830, #838, #839 by @vikrantpuppala)Extract SPOG org-id from cluster http_path for non-Thrift requests ( #817 by @msrathore-db )
_retry_server_directed_only mode for Retry-After header compliance (#756 by @sd-db)_retry_server_directed_only mode for Retry-After header compliance (databricks/databricks-sql-python#756 by @sd-db)Bump thrift to fix deprecation warning ( #733 by @Korijn )
Fix feature-flag endpoint retries in gov region ( #735 by @samikshya-db )
Fixed the exception handler close() on _TelemetryClientHolder by @msrathore-db in #723
Full Changelog: v4.2.3...v4.2.4
added pandas < 2.4.0 support and tests for py 3.14 by @sreekanth-db in #720
Full Changelog: v4.2.2...v4.2.3
Change default use_hybrid_disposition to False by @samikshya-db in https://github.com/databricks/databricks-sql-python/pull/714
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.2.1...v4.2.2
Add ignore_transactions config to disable transaction operations by @jayantsing-db in https://github.com/databricks/databricks-sql-python/pull/711
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.2.0...v4.2.1
Add multi-statement transaction support (databricks/databricks-sql-python#704 by @jayantsing-db)
Add _retry_server_directed_only mode for Retry-After header compliance ( #757 by @sd-db )
Full Changelog: v4.1.0...v4.1.5
[PECOBLR-681] added new session conf to enable metric view metadata by @shivam2680 in https://github.com/databricks/databricks-sql-python/pull/688
Query tags integration (databricks/databricks-sql-python#663 by @sreekanth-db)
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.1.2...v4.1.3
Streaming ingestion support for PUT operation (databricks/databricks-sql-python#643 by @sreekanth-db)
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.1.0...v4.1.2
Add documentation for proxy support by @vikrantpuppala in https://github.com/databricks/databricks-sql-python/pull/680
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.1.0...v4.1.1
Removed Codeowners by @jprakash-db in https://github.com/databricks/databricks-sql-python/pull/623
CloudFetchQueue by @varun-edachali-dbx in https://github.com/databricks/databricks-sql-python/pull/624Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.0.5...v4.1.0
CloudFetchQueue (databricks/databricks-sql-python#624 by @varun-edachali-dbx)Nothing published for this version
Revert "Enhance Cursor close handling and context manager exception m… by @madhav-db in https://github.com/databricks/databricks-sql-python/pull/613
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.0.0...v4.0.5
Update thrift client library after cleaning up unused fields and structs (databricks/databricks-sql-python#553 by @vikrantpuppala)
fetchall_arrow to always return results in arrow format (databricks/databricks-sql-python#551 by @shivam2680)Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.0.0...v4.0.4
Fix: Removed packaging dependency in favour of default libraries, for urllib3 version checks (databricks/databricks-sql-python#547 by @jprakash-db)
packaging dependency in favour of default libraries, for urllib3 version checks (databricks/databricks-sql-python#547 by @jprakash-db)Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.0.0...v4.0.3
Fix: Relaxed the pin for python-dateutil to be ^2.8.0 (databricks/databricks-sql-python#538 by @jprakash-db)
python-dateutil to be ^2.8.0 (databricks/databricks-sql-python#538 by @jprakash-db)Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.0.0...v4.0.2
⚠️ This release has been yanked from Pypi due to issues with resolving dependencies when using dbt-databricks v1.4.1/1.4.2
⚠️ This release has been yanked from Pypi due to issues with resolving dependencies when using dbt-databricks v1.4.1/1.4.2
_user_agent_entry in connect call to user_agent_entry to expose it as a public parameter. (databricks/databricks-sql-python#530 by @shivam2680)Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v4.0.0...v4.0.1
Note: this release was yanked from Pypi on 19 March 2025 due to compatibility issues with dbt-databricks<1.5.3
_user_agent_entry in connect call to user_agent_entry to expose it as a public parameter. (databricks/databricks-sql-python#530 by @shivam2680)Split the connector into two separate packages: databricks-sql-connector and databricks-sqlalchemy. The databricks-sql-connector package contains the
databricks-sql-connector and databricks-sqlalchemy. The databricks-sql-connector package contains the core functionality of the connector, while the databricks-sqlalchemy Github contains the SQLAlchemy dialect for the connector. (databricks/databricks-sql-python#444 by @jprakash-db)databricks-sql-connector. Users needing arrow are supposed to explicitly install pyarrowFull Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.6.0...v4.0.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix: Pyarrow concat to now merge with promote options as default ( #745 by @jprakash-db )
Full Changelog: v3.6.0...v3.7.5
Fix: compatibility with urllib3 versions less than 2.x (databricks/databricks-sql-python#545 by @jprakash-db)
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.6.0...v3.7.4
Fix: Unable to poll small results in execute_async function (databricks/databricks-sql-python#515 by @jprakash-db)
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.6.0...v3.7.3
Updated the retry_dela_max and retry_timeout (databricks/databricks-sql-python#497 by @jprakash-db)
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.6.0...v3.7.2
Relaxed the number of Http retry attempts (databricks/databricks-sql-python#486 by @jprakash-db)
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.6.0...v3.7.1
Fix: Incorrect number of rows fetched in inline results when fetching results with FETCH_NEXT orientation (databricks/databricks-sql-python#479 by @jp
pyarrow and numpy pin (databricks/databricks-sql-python#452 by @arredond)Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.6.0...v3.7.0
Support encryption headers in the cloud fetch request by @jackyhu-db in https://github.com/databricks/databricks-sql-python/pull/460
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.5.0...v3.6.0
Create a non pyarrow flow to handle small results for the column set by @jprakash-db in https://github.com/databricks/databricks-sql-python/pull/440
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.4.0...v3.5.0
Unpin pandas to support v2.2.2 (databricks/databricks-sql-python#416 by @kfollesdal)
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.3.0...v3.4.0
Therefore, Basic auth support was removed from the library. See https://docs.databricks.com/en/security/auth-authz/password-deprecation.html
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.2.0...v3.3.0
Databricks-managed passwords reached end of life on July 10, 2024. Therefore, Basic auth support was removed from the library. See https://docs.databricks.com/en/security/auth-authz/password-deprecation.html
The existing option _tls_no_verify=True of sql.connect(...) will now also disable SSL cert verification
(but not the SSL itself) for CloudFetch links. This option should be used as a workaround only, when other ways
to fix SSL certificate errors didn't work.
Update proxy authentication (databricks/databricks-sql-python#354 by @amir-haroun)
pyarrow pin (databricks/databricks-sql-python#389 by @dhirschfeld)thrift dependency (databricks/databricks-sql-python#397 by @m1n0)Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.1.2...v3.2.0
Fix cookie setting by @benc-db in https://github.com/databricks/databricks-sql-python/pull/379
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.1.1...v3.1.2
[PECO-1440] Expose current query id on cursor object by @kravets-levko in https://github.com/databricks/databricks-sql-python/pull/364
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v3.1.0...v3.1.1
Support Databricks OAuth on GCP
Fix: Revised docstrings and examples for OAuth
Nothing published for this version
SQLAlchemy dialect now supports table and column comments (thanks @cbornet!) Fix: SQLAlchemy dialect now correctly reflects TINYINT types (thanks @Tim
In this release:
SQLAlchemy dialect now supports table and column comments (thanks @cbornet!) Fix: SQLAlchemy dialect now correctly reflects TINYINT types (thanks @TimTheinAtTabs!) Fix: server_hostname URIs that included https:// would raise an exception Other: pinned to pandas<=2.1 and urllib3>=1.26 to avoid runtime errors in dbt-databricks (#330)
server_hostname URIs that included https:// would raise an exceptionpandas<=2.1 and urllib3>=1.26 to avoid runtime errors in dbt-databricks (#330)dbapi classmethod (#294)README.sqlalchemy.mdTIME, TIMESTAMP, TIMESTAMP_NTZ, TINYINTNumeric type scale and precision, like Numeric(10,2)PrimaryKeyConstraint and ForeignKeyConstraintIdentity to tables (i.e. autoincrementing primary keys)LIMIT and OFFSET for paging through resultsuse_cloud_fetch=False when building databricks.sql.client._retry_max_redirects config_enable_v3_retries=True and warn if users override itNote: this release was yanked from Pypi on 13 September 2023 due to compatibility issues with environments where urllib3<=2.0.0 were installed. The log changes are incorporated into version 2.9.3 and greater.
examples/v3_retries_query_execute.py (#199)_enable_v3_retries is not True (#199)urllib3>=1.0.0 (#197)Note: this release was yanked from Pypi on 13 September 2023 due to compatibility issues with environments where urllib3<=2.0.0 were installed.
_enable_v3_retries=True when creating databricks.sql.client (#182)make_request (#188)use_cloud_fetch=True when building databricks.sql.client to enable it (#146, #151, #154)Huge thanks to @dbaxa for contributing this change!
GetOperationStatus requests that fail with an OSErrorNote: The code for versions prior to v2.0.0b is not contained in this repository. The below entries are included for reference only.
Fix: SQLAlchemy dialect raised DeprecationWarning due to dbapi classmethod
In this release:
Security: Bumps minimum pyarrow version to 14.0.1 (CVE-2023-47248)
You can now pip install databricks-sql-connector==3.0.0.
This release:
TIME, TIMESTAMP, TIMESTAMP_NTZ, TINYINTNumeric type scale and precision, like Numeric(10,2)PrimaryKeyConstraint and ForeignKeyConstraintIdentity to tables (i.e. autoincrementing primary keys)LIMIT and OFFSET for paging through resultsuse_cloud_fetch=False when building databricks.sql.client._retry_max_redirects config_enable_v3_retries=True and warn if users override it.README.sqlalchemy.mdTIME, TIMESTAMP, TIMESTAMP_NTZ, TINYINTNumeric type scale and precision, like Numeric(10,2)PrimaryKeyConstraint and ForeignKeyConstraintIdentity to tables (i.e. autoincrementing primary keys)LIMIT and OFFSET for paging through resultsuse_cloud_fetch=False when building databricks.sql.client._retry_max_redirects config_enable_v3_retries=True and warn if users override itNothing published for this version
Backported fix: remove cookie handling code
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v2.9.5...v2.9.6
Backporting a fix to give a default retry-after on 429s/503s
Fix: Cloud fetch file download errors (https://github.com/databricks/databricks-sql-python/pull/356) Fix: Redact the URL query parameters from the url
Fix: Cloud fetch file download errors (https://github.com/databricks/databricks-sql-python/pull/356) Fix: Redact the URL query parameters from the urllib3.connectionpool logs (https://github.com/databricks/databricks-sql-python/pull/341)
Full Changelog: https://github.com/databricks/databricks-sql-python/compare/v2.9.3...v2.9.4
Fix: Cloud fetch file download errors
Fix: Connections failed when urllib3~=1.0.0 is installed
In this release:
⚠️ This release has been yanked from Pypi. See https://github.com/databricks/databricks-sql-python/pull/222 for details.
⚠️ This release has been yanked from Pypi. See https://github.com/databricks/databricks-sql-python/pull/222 for details.
In this release:
Note: this release was yanked from Pypi on 13 September 2023 due to compatibility issues with environments where urllib3<=2.0.0 were installed. The log changes are incorporated into version 2.9.3 and greater.
examples/v3_retries_query_execute.py (#199)_enable_v3_retries is not True (#199)urllib3>=1.0.0 (#197)Nothing published for this version
⚠️ This release has been yanked from Pypi. See https://github.com/databricks/databricks-sql-python/pull/222 for details.
⚠️ This release has been yanked from Pypi. See https://github.com/databricks/databricks-sql-python/pull/222 for details.
In this release:
Note: this release was yanked from Pypi on 13 September 2023 due to compatibility issues with environments where urllib3<=2.0.0 were installed.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →