Skip to main content

Hops-deltalake-python

PyPI userdoc apidoc

A HopsFS supported version of native Delta Lake Python binding based on delta-rs with Pandas integration.

Example

from deltalake import DeltaTable
dt = DeltaTable("../rust/tests/data/delta-0.2.0")
dt.version()
3
dt.file_uris()
['s3://bucket/table/part-00000-cb6b150b-30b8-4662-ad28-ff32ddab96d2-c000.snappy.parquet',
 's3://bucket/table/part-00000-7c2deba3-1994-4fb8-bc07-d46c948aa415-c000.snappy.parquet',
 's3://bucket/table/part-00001-c373a5bd-85f0-4758-815e-7eb62007a15c-c000.snappy.parquet']

See the user guide for more examples.

Compatibility Matrix

hops-deltalake hops-object-store HopsFS
1.1.2-post2 1.0.3 3.2.0.18
1.4.0 1.1.0 3.2.0.18-EE-RC1
1.4.0-post1 1.1.1 >= 3.2.0.18-EE-RC1 < 3.4.4.0-EE-RC0

Installation

# with pip
pip install hops-deltalake

NOTE: official binary wheels are linked against openssl statically for remote objection store communication. Please file Github issue to request for critical openssl upgrade.

Tracing and Observability

Delta-rs supports OpenTelemetry tracing for performance analysis and debugging.

Basic Example

import os
import deltalake
from deltalake import write_deltalake, DeltaTable

# Enable logging to see trace output in stdout
os.environ["RUST_LOG"] = "deltalake=debug"

# Initialize tracing (uses default HTTP endpoint or OTEL_EXPORTER_OTLP_ENDPOINT env var)
# For authentication, set OTEL_EXPORTER_OTLP_HEADERS="x-honeycomb-team=your-api-key"
# The HTTP exporter automatically reads OTEL_EXPORTER_OTLP_HEADERS for API keys
deltalake.init_tracing()

# All Delta operations are now traced
write_deltalake("my_table", data)
dt = DeltaTable("my_table")
df = dt.to_pandas()

When you run this code, you'll see trace information in stdout showing operation timings and execution flow.

Build custom wheels

Sometimes you may wish to build custom wheels. Maybe you want to try out some unreleased features. Or maybe you want to tweak the optimization of the Rust code.

To compile the package, you will need the Rust compiler and maturin:

curl https://sh.rustup.rs -sSf | sh -s

Then you can build wheels for your own platform like so:

```sh
uvx maturin build --release --out wheels

Note:

  • uvx invokes a tool without installing it.
  • if you plan to often use maturin, you can install the "tool" with uv tool install maturin.

For a build that is optimized for the system you are on (but sacrificing portability):

RUSTFLAGS="-C target-cpu=native" uvx maturin build --release --out wheels

Cross compilation

The above command only works for your current platform. To create wheels for other platforms, you'll need to cross compile. Cross compilation requires installing two additional components: to cross compile Rust code, you will need to install the target with rustup; to cross compile the Python bindings, you will need to install ziglang.

The following example is for manylinux2014. Other targets will require different Rust target and Python compatibility tags.

rustup target add x86_64-unknown-linux-gnu

Then you can build wheels for the target platform like so:

uvx --from 'maturin[zig]' maturin build --release --zig \
    --target x86_64-unknown-linux-gnu \
    --compatibility manylinux2014 \
    --out wheels

If you expect to only run on more modern system, you can set a newer target-cpu flag to Rust and use a newer compatibility tag for Linux. For example, here we set compatibility with CPUs newer than Haswell (2013) and Linux OS with glibc version of at least 2.24:

RUSTFLAGS="-C target-cpu=haswell" uvx --from 'maturin[zig]' maturin build --release --zig \
    --target x86_64-unknown-linux-gnu \
    --compatibility manylinux_2_24 \
    --out wheels

See note about RUSTFLAGS from the arrow-rs readme.

Metadata

Release files for hops-deltalake 1.4.0.post121

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

Source distribution (sdist)

Source distribution for hops-deltalake 1.4.0.post121
File Size Uploaded
hops_deltalake-1.4.0.post121.tar.gz 5.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for hops-deltalake 1.4.0.post121
File Interpreter ABI Platform
hops_deltalake-1.4.0.post121-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
hops_deltalake-1.4.0.post121-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 93.4 MB

Release files / hops_deltalake-1.4.0.post121.tar.gz

Download URL hops_deltalake-1.4.0.post121.tar.gz
Size 5.2 MB
Tags Source
SHA-256 checksum
How to use checksums
bb1e76d39784edc25a28f6131f8c3f3cfc61de549605c937bfe97f36936bae58
BLAKE2b-256 checksum
How to use checksums
4449d0010894c48c8cf109b8722b6b01eb73efc6ef5e9132c98a7196c4c42e3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.6.0

Release files / hops_deltalake-1.4.0.post121-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL hops_deltalake-1.4.0.post121-cp310-abi3-manylinux_2_28_x86_64.whl
Size 48.3 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
f4b5fbfa16d894977662c2ba9fa08959d1ef7cc8823813266dd62e015f15fb5b
BLAKE2b-256 checksum
How to use checksums
cc006824f6055f4a6fd98ac81046281063f1b80b5bd27327dfc277f5026ee7ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.6.0

Release files / hops_deltalake-1.4.0.post121-cp310-abi3-macosx_11_0_arm64.whl

Download URL hops_deltalake-1.4.0.post121-cp310-abi3-macosx_11_0_arm64.whl
Size 39.9 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8bf769ac78c61971b1de4d61e0436d4ad103e92e3a93bea07a2f3108646e4175
BLAKE2b-256 checksum
How to use checksums
bea80d4f239f7c4b5dab3858898251ae955bb61213746ac734e07011820182ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.13.3
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