deltalake 1.2.1


pip install deltalake

  Latest version

Released: Oct 21, 2025


Meta
Requires Python: >=3.9

Classifiers

License
  • OSI Approved :: Apache Software License

Programming Language
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12

Deltalake-python

PyPI userdoc apidoc

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.files()
['part-00000-cb6b150b-30b8-4662-ad28-ff32ddab96d2-c000.snappy.parquet',
 'part-00000-7c2deba3-1994-4fb8-bc07-d46c948aa415-c000.snappy.parquet',
 'part-00001-c373a5bd-85f0-4758-815e-7eb62007a15c-c000.snappy.parquet']

See the user guide for more examples.

Installation

# with pip
pip install deltalake
# with uv
uv add deltalake
# with poetry
poetry add 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.

1.2.1 Oct 21, 2025
1.2.0 Oct 13, 2025
1.1.4 Aug 08, 2025
1.1.3 Jul 28, 2025
1.1.2 Jul 24, 2025
1.1.1 Jul 24, 2025
1.1.0 Jul 14, 2025
1.0.2 Jun 02, 2025
1.0.1 May 30, 2025
1.0.0 May 28, 2025
0.25.5 Apr 03, 2025
0.25.4 Mar 02, 2025
0.25.2 Feb 25, 2025
0.25.1 Feb 21, 2025
0.25.0 Feb 20, 2025
0.24.0 Jan 15, 2025
0.23.2 Jan 06, 2025
0.23.1 Jan 02, 2025
0.23.0 Jan 01, 2025
0.22.3 Dec 04, 2024
0.21.0 Oct 30, 2024
0.20.2 Oct 08, 2024
0.20.1 Sep 27, 2024
0.20.0 Sep 18, 2024
0.19.2 Sep 05, 2024
0.19.1 Aug 19, 2024
0.19.0 Aug 14, 2024
0.18.2 Jul 03, 2024
0.18.1 Jun 12, 2024
0.18.0 Jun 06, 2024
0.17.4 May 11, 2024
0.17.3 May 02, 2024
0.17.2 Apr 25, 2024
0.17.1 Apr 23, 2024
0.17.0 Apr 22, 2024
0.16.4 Apr 01, 2024
0.16.3 Mar 25, 2024
0.16.2 Mar 21, 2024
0.16.1 Mar 18, 2024
0.16.0 Mar 06, 2024
0.15.3 Feb 06, 2024
0.15.2 Feb 05, 2024
0.15.1 Jan 07, 2024
0.15.0 Jan 02, 2024
0.14.0 Dec 05, 2023
0.13.0 Nov 06, 2023
0.12.0 Oct 18, 2023
0.11.0 Sep 26, 2023
0.10.2 Sep 11, 2023
0.10.1 Jul 27, 2023
0.10.0 Jun 09, 2023
0.9.0 May 06, 2023
0.8.1 Mar 13, 2023
0.8.0 Mar 12, 2023
0.7.0 Jan 26, 2023
0.6.4 Nov 28, 2022
0.6.3 Nov 09, 2022
0.6.2 Oct 11, 2022
0.6.1 Sep 06, 2022
0.6.0 Aug 31, 2022
0.5.8 Jun 23, 2022
0.5.7 Apr 20, 2022
0.5.6 Feb 06, 2022
0.5.5 Jan 24, 2022
0.5.4 Nov 17, 2021
0.5.3 Sep 21, 2021
0.5.2 Aug 09, 2021
0.5.1 Jul 20, 2021
0.5.0 Jun 02, 2021
0.4.8 May 10, 2021
0.4.7 Apr 28, 2021
0.4.6 Apr 15, 2021
0.4.5 Apr 05, 2021
0.4.4 Mar 23, 2021
0.4.1 Mar 17, 2021
0.4.0 Mar 10, 2021
0.3.0 Mar 02, 2021
0.2.1 Jan 18, 2021
0.2.0 Jan 15, 2021
0.1.4 Jan 11, 2021
0.1.3 Jan 05, 2021
0.1.2 Jan 05, 2021
0.1.1 Dec 28, 2020
0.1.0 Nov 01, 2020
Extras:
Dependencies:
arro3-core (>=0.5.0)
deprecated (>=1.2.18)