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

Uploaded Source

Built Distributions

deltalake-0.16.1-cp38-abi3-win_amd64.whl (22.8 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.16.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25.2 MB view details)

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

deltalake-0.16.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (23.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.16.1-cp38-abi3-macosx_11_0_arm64.whl (20.8 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.16.1-cp38-abi3-macosx_10_12_x86_64.whl (22.1 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.16.1.tar.gz
Algorithm Hash digest
SHA256 0662aacf98e486e8a2449773d7165b5b6af8b19631912a4231ad9ddfd63fadba
MD5 4f011534306af4586aa528a834cbb1d4
BLAKE2b-256 083951697c826ffb88c5579ae505d21e95bcadac0c113aade89837658db5eafc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 480632bbe1ed82e745be4c43e2928fbd1f44eb66f0b4d48e3cdb03e9e15984ad
MD5 692d80261091bf154fa405c95a9c55d5
BLAKE2b-256 71a651cd16c9e80ab6f58f0035cde4ef3c2d88ed1f1ce8aa8aae903e60b3dda7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 472901bd3efd5976bf4c485175bc828845c94c0380a9ddfc8ddef96efddbc6b0
MD5 58e8bae99415249283fa590b13d3e3f3
BLAKE2b-256 d62f149dc795d210d6ed6e265ace3fd949fb9d21a70ad18d5a4f545615acc435

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d9c4fccd5b0d45445807c30a3cfd0cdceaf663795ea56a8ec90d786eee9deacc
MD5 5eff2a86f57a267247b2c4d9c2198984
BLAKE2b-256 2c437abef83a25186a278f5c32996b5051b08eef4484f05a11ec0f21402a6dd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 373e225f41c3d533cab298546eba2dca508f7a3a94613fd0625b19bd1bf3e23e
MD5 c9239d30a6d469f5307b76ba9b8283a7
BLAKE2b-256 27b2f86d79689b80ff68360b125eeae25efb126acb90be31b1fa1e968886e8cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e116e59bbaff0ea29f6a4f12f9fa1c0fd6860d0a8487d6ab2e8656b614cdc1d3
MD5 b800307b0ec07c988b60366f548c2191
BLAKE2b-256 23d41c2f08e427ff87b50e8d042869df4bcaf1dd918a9b7878361bd1d8277d25

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