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

pip install 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
pip install maturin

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

maturin build --release --out wheels

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

RUSTFLAGS="-C target-cpu=native" 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
pip install ziglang

Then you can build the wheel with:

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" 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.17.3.tar.gz (4.8 MB view details)

Uploaded Source

Built Distributions

deltalake-0.17.3-cp38-abi3-win_amd64.whl (24.1 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.17.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.4 MB view details)

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

deltalake-0.17.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (24.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.17.3-cp38-abi3-macosx_11_0_arm64.whl (21.7 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.17.3-cp38-abi3-macosx_10_12_x86_64.whl (23.2 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.17.3.tar.gz
Algorithm Hash digest
SHA256 5f518c04d87c99c1e921dd76fbe7f3a9e5558534a0b21dd822b13eb5a62f3145
MD5 3ed8737bdfe0f5d19c7fd77dd839972d
BLAKE2b-256 4da351991293d0385e9602d7af4cacce6ae28ec8f1425f8b7d0f100ddff72630

See more details on using hashes here.

File details

Details for the file deltalake-0.17.3-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for deltalake-0.17.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 72228dcff9a5719bac0663050677938de199105171a40466e9491d79ced1fbf5
MD5 6d4b79dbb2d6f18270864df9461c2c09
BLAKE2b-256 26e14b4028d8ac101da4d3647be96f7cc5bf58ec0fd7cba331ced6cc5b26a31a

See more details on using hashes here.

File details

Details for the file deltalake-0.17.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltalake-0.17.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9c85e23894dc6b29148d2632e2284dbde52689094ff1f0418cededa3cebab06
MD5 3b599b930b250ed2d38422520e1a63a4
BLAKE2b-256 61f2bc6326cf9416a699246da76ad6a657b0e09b1214bd1d1ed709e77345bc44

See more details on using hashes here.

File details

Details for the file deltalake-0.17.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltalake-0.17.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c579355192e062c48c6ffff06784d8b2ffcde94308d16c1368e94c02148637a3
MD5 a323dacff6a8fe818f0eb244c8d14e8f
BLAKE2b-256 26f175ffe65298778575107469bc26b4cfc18ee93ae2abe9f6ede4d182a7dacd

See more details on using hashes here.

File details

Details for the file deltalake-0.17.3-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deltalake-0.17.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0d83a4b1bd5eb2781f39e5c817868c24551b67b292b6a219ac41fc866fdfb1cf
MD5 2bd9f8ce61fd8acd9c23952e274f1bdf
BLAKE2b-256 084bae87a464c73c0b05d85e70ef4395b538c0fbe15c07f4fb75df34c9b1a2fc

See more details on using hashes here.

File details

Details for the file deltalake-0.17.3-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for deltalake-0.17.3-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bde8e2b38e41935e726e195959bced8c59e9e2be5ad4140823611f2fd5348393
MD5 32f31b373947cfb5172af5670781ab25
BLAKE2b-256 7fb7f063788f353c0628f8ccdd30cd4bbca0ea6d12d896b76a20e5f18bf94d5a

See more details on using hashes here.

Supported by

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