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

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded CPython 3.8+Windows x86-64

deltalake-0.17.1-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.1-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.1-cp38-abi3-macosx_11_0_arm64.whl (21.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.17.1-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.1.tar.gz.

File metadata

  • Download URL: deltalake-0.17.1.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.1.tar.gz
Algorithm Hash digest
SHA256 29881b267d1d1f180385253c093c0ae16774268c741187b149a3ec9ae15fb295
MD5 35af32e83c27dd8516cf1bfaa8ec5c7e
BLAKE2b-256 b84101110007c0c957353f57addf1454701966afba1c8e3e000413d64c2bf9aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 617e4a42d717c3adf6e5132ec34accc20a96b0346640dcdfe1fa4cfea3c7c820
MD5 832858793feafa97cef93d9fc4f794be
BLAKE2b-256 bea61a40bc074dbf34a37cb1a93a5031e23d3172e25e01c0ae5a9467af19aadc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e3c15f59118677f9abd64d20f87ed731c69192a33f8eac1ab808e643f637bbf
MD5 c68c27a0784096f1cf6f7befb4f6adcd
BLAKE2b-256 606b5cf7f87dcce436fb20e5ed57a7b0ee596053624fcc03f6cf3155d8e5ff8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8690fce0714939d4c2df327f055bd914ea4a8119879a25756e4c8e2dfdfa722b
MD5 a43aa4466d8852c8601bbbd5cf25b9df
BLAKE2b-256 4f9dbb34cf5f8965e8fa3b5f9fc0a3ab49e5036846ceba15e0dac0f9c2ca5cc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 964352402dde518340999ed61b675fe6eb2d6e046207d2d856fb66d60be5148b
MD5 5b6c7d694c65b0c662f04c601d76c805
BLAKE2b-256 b550a962506c062954356fe1e193f1e792a120d138836cb8d27a628c67a344c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 43936401278919f006272a290dbd1ddb9530ab9bed06d4a498125a0e82a6a460
MD5 e058aa66a7a44599d35482bffc4ea01a
BLAKE2b-256 ee1f7f0d8b82d19c13a759dd1d0c2de54535c2158525a1c98943ae0f63fe9ebc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page