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.15.0.tar.gz (4.7 MB view details)

Uploaded Source

Built Distributions

deltalake-0.15.0-cp38-abi3-win_amd64.whl (21.0 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.15.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.0 MB view details)

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

deltalake-0.15.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (21.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.15.0-cp38-abi3-macosx_11_0_arm64.whl (18.6 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.15.0-cp38-abi3-macosx_10_12_x86_64.whl (19.9 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.15.0.tar.gz
Algorithm Hash digest
SHA256 c956791c25fbb8958e89f058428d6a167dcb3bebd23889077473865f1faa1263
MD5 65d3fb389f7dfd3249eed5872eeb0cb6
BLAKE2b-256 57ffef6a03286d5384158b63d63e10ecc73f6a024853919667645c56a1ea9223

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 070eb96de56ffdcd9bfba8dc17a74b012d18671f4f88895bbbd64bbb2eaead36
MD5 072d7759d888a84f61e457a43fe8b9c6
BLAKE2b-256 3cb6275943cb3c1eed47c38472a86a19a7f1413341bacc9dfb64bf107ff853c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6b6245b4877be27082f3e4ee677f808382e65a7a0fae895c14af35845d5e309
MD5 7046a42e1d4d30476b079a8a53cbae91
BLAKE2b-256 48354a594e30aa5d1c1266233b10635e9a13b7b4df2aee765c5d7125fa6e528d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 047f2071c38ebd2c0d44a8e517d6e7a3a8b029f5cf26d20f53210f06b7ee830e
MD5 cd8cc1f18d131494ddd10e70d01b84a0
BLAKE2b-256 af943871bca7b06391a3f5b55567c994dcfcdf78f51cb61df99ddf456335d216

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e94390bf396074d7ce04c61a764fa129285d0bc025064ac328ba1d0f4a39dede
MD5 dfad4486d139e86ab47db89f054454c0
BLAKE2b-256 98f6884665178c2ec1cb071c8dbe01b129fef9fa5499d03d2be8ee72370f4f69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 72f1febda01905b0ede0b20687197c44bdd57301a765fae4dd978bd23fa2513c
MD5 dd2d0350c88819e21134f23f1b10f2e8
BLAKE2b-256 f3931070eda14733ef4b038d6342399de6421a169524eec3070d593b748754c3

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