Skip to main content

tentaclio-databricks

A package containing all the dependencies for the databricks+thrift tentaclio schema .

Quick Start

This project comes with a Makefile which is ready to do basic common tasks

$ make help
install                       Initalise the virtual env installing deps
clean                         Remove all the unwanted clutter
lock                          Lock dependencies
update                        Update dependencies (whole tree)
sync                          Install dependencies as per the lock file
lint                          Lint files with flake and mypy
format                        Run black and isort
test                          Run unit tests
circleci                      Validate circleci configuration (needs circleci cli)

Configuring access to Databricks

Your connection url should be in the following format:

databricks+thrift://<token>@<host>?HTTPPath=<http_path>

Example values:

  • token: dapi1213456789abc
  • host: myhost.databricks.com
  • http_path: /sql/1.0/endpoints/123456789

Query Comments

Queries can be annotated with comments for observability using the query_annotations parameter.

Example: Basic usage

import os
from tentaclio import URL
from tentaclio_databricks.clients.databricks_client import DatabricksClient

url = URL("databricks+thrift://token@host.databricks.com?HTTPPath=/sql/1.0/endpoints/123")
client = DatabricksClient(
    url,
    query_annotations={
        "app_name": "JupyterHub",
        "user": os.environ.get("USER_NAME", "unknown"),
        "pipeline_id": "456"
    }
)

Result

All queries executed by the client will have prepended comments:

/* app_name='JupyterHub', user='john', pipeline_id='456' */
SELECT * FROM table

Arrow Usage

DatabricksClient enables Arrow's usage for faster data transfer and more faithful type handling.

Example: Default row-based fetch

from tentaclio import URL
from tentaclio_databricks.clients.databricks_client import DatabricksClient

url = URL("databricks+thrift://token@host.databricks.com?HTTPPath=/sql/1.0/endpoints/123")
with DatabricksClient(url) as client:
    df = client.get_df("SELECT * FROM sample_table")

When Arrow is disabled, the client falls back to fetchall() and uses arraysize for the cursor.

Example: Arrow enabled

from tentaclio import URL
from tentaclio_databricks.clients.databricks_client import DatabricksClient

url = URL("databricks+thrift://token@host.databricks.com?HTTPPath=/sql/1.0/endpoints/123")
with DatabricksClient(url, use_arrow=True) as client:
    df = client.get_df("SELECT * FROM sample_table")

When Arrow is enabled, the client configures the connection with:

  • use_arrow_native_complex_types
  • use_arrow_native_decimals
  • use_arrow_native_timestamps

Metadata

Release files for tentaclio-databricks 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tentaclio-databricks 2.2.0
File Size Uploaded Provenance
tentaclio_databricks-2.2.0.tar.gz 132.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tentaclio-databricks 2.2.0
File Interpreter ABI Platform
tentaclio_databricks-2.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 139.0 kB

Release files / tentaclio_databricks-2.2.0.tar.gz

Download URL tentaclio_databricks-2.2.0.tar.gz
Size 132.6 kB
Tags Source
SHA-256 checksum
How to use checksums
126670d8e27fb61e4a3f39f739dc0e3ff204c86dce6e9a3a1c3b6c45b35e5c0b
BLAKE2b-256 checksum
How to use checksums
9e3255a155f3776024ebecc443417a77140dc264bee2333b56a81ec8f6dd3e36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / tentaclio_databricks-2.2.0-py3-none-any.whl

Download URL tentaclio_databricks-2.2.0-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
154c2f09f3e56cc47a487ba8cb9fc412d180378ee451062a0c287284883576bf
BLAKE2b-256 checksum
How to use checksums
5093072955c88aec8f4fd00dd9f3811f898b3f238974ef75efd55c4ec5eb6128
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for tentaclio-databricks 2.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page