Skip to main content

Native Delta Lake Python binding based on delta-rs with Pandas integration

Project description

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.

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deltalake-0.24.0.tar.gz (5.0 MB view details)

Uploaded Source

Built Distributions

deltalake-0.24.0-cp39-abi3-win_amd64.whl (36.6 MB view details)

Uploaded CPython 3.9+ Windows x86-64

deltalake-0.24.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (46.0 MB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ x86-64

deltalake-0.24.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (44.5 MB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ ARM64

deltalake-0.24.0-cp39-abi3-macosx_11_0_arm64.whl (37.6 MB view details)

Uploaded CPython 3.9+ macOS 11.0+ ARM64

deltalake-0.24.0-cp39-abi3-macosx_10_12_x86_64.whl (40.0 MB view details)

Uploaded CPython 3.9+ macOS 10.12+ x86-64

File details

Details for the file deltalake-0.24.0.tar.gz.

File metadata

  • Download URL: deltalake-0.24.0.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.6.0

File hashes

Hashes for deltalake-0.24.0.tar.gz
Algorithm Hash digest
SHA256 0a33528b40067ee204b527efd88cc1a4cea4b61af4886ca57539d5b6b657e20f
MD5 1b15cde4f47216a3523271c939540715
BLAKE2b-256 0f3dfa40c41cc07fb911f58db3485e4c5a7d0d65686189e361749aa28176d71b

See more details on using hashes here.

File details

Details for the file deltalake-0.24.0-cp39-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for deltalake-0.24.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1c423bdab46fa3c01a9364ba5533167d3b58099fd4a0599e6d0c363e9ba64799
MD5 28fba73e3dc2f9238de627b3b5694e31
BLAKE2b-256 a174be1d4d465b22526ecd2d2dc6b6cfa257285ac091a90ac86b99fcd043a7a5

See more details on using hashes here.

File details

Details for the file deltalake-0.24.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltalake-0.24.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 05dc5ee8adb05cc4aaf8988335c14720b4e7b042d0d1976bde10c2a5cc3b9654
MD5 3d19a9f002c3973888064a6bf835c8ac
BLAKE2b-256 f7af6d423118b7ce1f20a53e6eba2598b8494062a1f40c0da4ca3e7fe0815e47

See more details on using hashes here.

File details

Details for the file deltalake-0.24.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltalake-0.24.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 59487ae82c7de5950ec951e2dad7d4b2b281e81fac7b65d8187dac64b1506359
MD5 a8bdd46abcfa31c164702c8c28ed2944
BLAKE2b-256 2d190fdb5dc29293384a74ac4b3327c2015bf467e0d57e2f50b23658acab0343

See more details on using hashes here.

File details

Details for the file deltalake-0.24.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deltalake-0.24.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3d59e62305d42b76c78e0c3dcb479d9ad512a2bbe12867c24e3ed2d66492d2b4
MD5 c12d62605afc084d3d60358ab8004515
BLAKE2b-256 8acc1d790ccac050e7888d2e8b39beee2debe604fd4ee9bca2448f2c73dd4e48

See more details on using hashes here.

File details

Details for the file deltalake-0.24.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for deltalake-0.24.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1c4c5b2d3b8d467fb35504ef5649344bf3ad4f656303101e463ece3db2843c79
MD5 5c49066187ab14f7827cea41f1a2accb
BLAKE2b-256 b1aadf35473f67a5d88270c87dd95048096b747c630ec0c3981aac2ddab17f81

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page