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

Uploaded Source

Built Distributions

deltalake-0.10.1-cp37-abi3-win_amd64.whl (19.7 MB view details)

Uploaded CPython 3.7+Windows x86-64

deltalake-0.10.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.7 MB view details)

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

deltalake-0.10.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (19.6 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

deltalake-0.10.1-cp37-abi3-macosx_11_0_arm64.whl (18.0 MB view details)

Uploaded CPython 3.7+macOS 11.0+ ARM64

deltalake-0.10.1-cp37-abi3-macosx_10_7_x86_64.whl (19.9 MB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.10.1.tar.gz
Algorithm Hash digest
SHA256 c59e9e206442917be2b5c8bbecf1324c340a37084f663ec9345ab6ed200f0e14
MD5 18c74daaa6fe36745f611ad76b960aba
BLAKE2b-256 ebaa57bce5b6b4eb4d719bbedb6d71a652cc6e43fbeaaf4f8e37d113a72bbb3f

See more details on using hashes here.

File details

Details for the file deltalake-0.10.1-cp37-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for deltalake-0.10.1-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c9527c81b2f11ab58def12d84b059675c6a92bb8cb879690426a3aeff43760bb
MD5 c97e1710c3886d61323886b32e257310
BLAKE2b-256 0f8a540911ea5bf34c99dfc16811d4673e7c31adb84fadb1f3ad52ca3ca309a5

See more details on using hashes here.

File details

Details for the file deltalake-0.10.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deltalake-0.10.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e6511ef9f7b03f5650bbcf4585d8fee02f26da000c518b27a4cb16eb573af226
MD5 015e592fcd3220b7f3facc2ef8e88943
BLAKE2b-256 67cfdde90a1ce3b0ae795788c3cadab4b70886839f351798a8723d346222e077

See more details on using hashes here.

File details

Details for the file deltalake-0.10.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deltalake-0.10.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f6ea1db94cb0ef152134a63267d2450daf95684017493c85f4f98f5b5b39bac4
MD5 3b7aed6ce6a2f2ccb704e0aa6b81591f
BLAKE2b-256 c02abd0336de286023cd5d61887ec835d9fe68e82576a65239672e338827adb6

See more details on using hashes here.

File details

Details for the file deltalake-0.10.1-cp37-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deltalake-0.10.1-cp37-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 07becd9aff2ba07829af9bf84e61ee238f3756536ace0455c39b7415edb5d49b
MD5 a40899650a225e1795f6e8b00a11ba2f
BLAKE2b-256 c4353a158920b8edafbfaabafe41ff7fd5c65027ca6f96df42e85bdfc2aa1f1d

See more details on using hashes here.

File details

Details for the file deltalake-0.10.1-cp37-abi3-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for deltalake-0.10.1-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f7e4b0fb89d5c1710d954b3a71791dc1f71584e9e4d4129eccc0addc4a3a629c
MD5 446950e9acd1973efa115860168d6029
BLAKE2b-256 c53f7108ce576471c3ea47a7217e9f15802df4c6a25476ea782492d0ee084bf5

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