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


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

Uploaded Source

Built Distributions

deltalake-0.22.0-cp39-abi3-win_amd64.whl (33.7 MB view details)

Uploaded CPython 3.9+ Windows x86-64

deltalake-0.22.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (42.4 MB view details)

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

deltalake-0.22.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (40.9 MB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ ARM64

deltalake-0.22.0-cp39-abi3-macosx_11_0_arm64.whl (34.6 MB view details)

Uploaded CPython 3.9+ macOS 11.0+ ARM64

deltalake-0.22.0-cp39-abi3-macosx_10_12_x86_64.whl (36.8 MB view details)

Uploaded CPython 3.9+ macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.22.0.tar.gz
Algorithm Hash digest
SHA256 7d61ece0de0c2ee753aa0c4b414059fbc389167d5f6e29e039cf2812f273efc6
MD5 7b498459e6ce3dced90354a812971742
BLAKE2b-256 838975a48bc5cc10c97b680850c3c721bf7cb7c5d9400f1c4ecda5ef0063fe94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.22.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d814afbceea512ccd1c2ddee34e1f2673f536e409b1893711049766f7a733ea7
MD5 65b9f0c94fdf6404934093d6d584d263
BLAKE2b-256 ac0f3e93df6e8c6bb9da48bc77b843342aa5abc2b4c835d2209103d50adb5065

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.22.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 786919b757db237f8127a99a9340ea686d55107210a88b0d0476455b51e7182b
MD5 9704bc51c692239affbe22266064b1b3
BLAKE2b-256 2f916d1da88861f3f54f150ff8a7b6566f86204b1e71c6ac1419d380bb844bc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.22.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f12d3bc5455ce7511c7aaf945c853102078ca1292825f8dc26fc46c202cef12c
MD5 5058193c4fea0e15847eb60275c7b6e5
BLAKE2b-256 b05a7feba2f72aecbb00bef01ce9e30a0cb4a0e0bcde35473ce62ae0cfb8a570

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.22.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 442c99994001b7c92d1b088d3fcbda0514df73d1fa7ceb0711fd6404ddd2f6ad
MD5 4de869c9eb6663ff1219f9863aff399e
BLAKE2b-256 27aa499adaaa99b1d6be52a2f281a6453f99c08e7647cbdc793a04eeb5c8f951

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.22.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7d3910afa4164aa2b87a48a64d96b7777f6c6a8396b34b439f9e6d9d9ad9d30d
MD5 a31f44efb021c6fd952038188f0915f0
BLAKE2b-256 cb2709538da069fa7217937a5ca62426fe231f5c3c21f73217c3a51593050d86

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 Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page