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

Uploaded Source

Built Distributions

deltalake-0.17.2-cp38-abi3-win_amd64.whl (23.4 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.17.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25.7 MB view details)

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

deltalake-0.17.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (24.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.17.2-cp38-abi3-macosx_11_0_arm64.whl (21.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.17.2-cp38-abi3-macosx_10_12_x86_64.whl (22.4 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: deltalake-0.17.2.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.2.tar.gz
Algorithm Hash digest
SHA256 eccde1fde8b675e6e980292a24c9ef6c259d02eddf6380cd36f9a417095a9223
MD5 69761dc764001ac42d2e1f854305dddf
BLAKE2b-256 929207031f1e73fb46cabface58f18e3c629256cc4c1e7eaefd63236e03ae71f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 91036c2d473b66d42335aff02a6cb6cd0a466fbd30933b6e5987c3b850f359d9
MD5 aa5a31fc2051a89b06c571e5f72a91f4
BLAKE2b-256 250fbdc8beb43db5a30214da1f7a94d5dbba5887677230a427622ed54784aa1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3e811f8603c1290d9ee35bae5de3ecbd4da691840f3808c5eadae91ae905c17
MD5 b9e09466a0c557e9430315df469b11e8
BLAKE2b-256 e05bd567d562bf3447b5166a68dea60c6566b1468e2591613d3d31dd41e000d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8058346784749da06032dc7ccc35b0c35c1e6410ac0d93e0bf300160f8658285
MD5 9910b5714572d280eb3bb4948a30ceb8
BLAKE2b-256 381d50d51ebe5c1770ab1d27bae382e7cb78ed38c17c4d35c35191c2d60de7b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53010b41da62a5cc54dfc7328b2012db2f2f4f34a5c994ff1179ac286bc30a51
MD5 475df2dc8158e8ce4db2da9fa83595ef
BLAKE2b-256 37a042e2aa8e259e94083e23bb364b1a78ff1f5f0185c562baca97122d0c933e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fa3e6d11f57df054d1f0e6ddd18af3f8d78f3a9b942ba82afc92af6a88e20fa1
MD5 fc16277e05c322ccdcca43b3cab84ce2
BLAKE2b-256 b57655a89508ddbefaa3b3120443fdf78fb1635008a8e5e54ae60569e193550a

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