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

Uploaded Source

Built Distributions

deltalake-0.16.0-cp38-abi3-win_amd64.whl (22.2 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.16.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (24.4 MB view details)

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

deltalake-0.16.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (23.0 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.16.0-cp38-abi3-macosx_11_0_arm64.whl (20.1 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.16.0-cp38-abi3-macosx_10_12_x86_64.whl (21.3 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: deltalake-0.16.0.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.0.tar.gz
Algorithm Hash digest
SHA256 8b3eae8fda6f2a33043647421dd523dccc560180f137f1688914f0ff573be29a
MD5 56578eb06b26753456bf1162e0f6cce1
BLAKE2b-256 9cf5a21b276f76dc13b994f76e758107eaf3d8d3cce1e528c1798b0553102ba1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 de9e15f29d218909873cbdaa36d88cf16204c654c62ddd95fe6002d3a15e6bc1
MD5 3436ccd014633ab14c043e741c7c59e4
BLAKE2b-256 c82f76f0bb43acb86c18fb5e2ae00a83ef841d2a401ef5a05839a13f30d28ee8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9eb211189ecfaf628d21cba81d746ed855619174dd158711301d7ddcff445f8
MD5 74f19b86ab310d58ef8a993c56bb1a05
BLAKE2b-256 05705dcfb90aa2af6a24cb5985b9c8d97fd318fbe81c4823e9b0592091b2c96d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 55ab54b24c0e69c52a95ee4522d4ebb3cb12d353dfce51c5f128d3eafec94691
MD5 024c4bfc62142b4282a15b8ff7d82c60
BLAKE2b-256 5c870615cc4fb147ae7e8326bea1f41e17a4721ea4f25c5443f4c7cafa684cb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 393c407ffc0eb0c80a045ffed829bf9b546e6f580cd370d52b76be2edb490b6f
MD5 d6b3980b744a6dca3d7dbb370fdb26ad
BLAKE2b-256 5428e432909d53a50f9b1dd544949bfbed236ddb5979855f27e27b420efea039

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a7fd157c20507115b63e9c3fa21954aa9d51c072c6778056227cf17f3186ba75
MD5 d5fbf416d529c045dde7fa71f6b07967
BLAKE2b-256 1b120c2f739565046e1e96ff55646143fea46dabe983ed1046b25561f7967211

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