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.11.0.tar.gz (4.6 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.11.0-cp37-abi3-win_amd64.whl (19.2 MB view details)

Uploaded CPython 3.7+Windows x86-64

deltalake-0.11.0-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.11.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (19.9 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

deltalake-0.11.0-cp37-abi3-macosx_11_0_arm64.whl (17.8 MB view details)

Uploaded CPython 3.7+macOS 11.0+ ARM64

deltalake-0.11.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (37.2 MB view details)

Uploaded CPython 3.7+macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

deltalake-0.11.0-cp37-abi3-macosx_10_7_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.11.0.tar.gz
Algorithm Hash digest
SHA256 bd36d6ec81eda468aacd6a67e78ed36aed15029a0f80d471cdce61ed44b602b5
MD5 3a4ebb0b90250caa7d7cac2c32fe2759
BLAKE2b-256 9c5ad23f1c847633807772728d0d949abd54bc4989e3170050213e2fb79e9f30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.11.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3969eb8d1c08de92674bdc2b49c03b9fc51be7e3ad3742091c82d143fc02b506
MD5 62fefd316e69871a309e7609c01465f5
BLAKE2b-256 29954fe42c7d196de934a09b6320a9c9a87b95603add4d11dbbe20efe2bee180

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.11.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3eb17e7693eb36029c9fcb92e77750098e0531f76c3a6534172c7b1c160ee8e
MD5 db01ffb31170b7a1e637687df63afc38
BLAKE2b-256 8fb23a0a2d9bd20c99a527c4bad261c22d745232ef55dc37986f056ad123ce1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.11.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 72804e95afea41a8337be9d8726c892f582b1abe2a2b365a7e29022141f296b3
MD5 19a83c6be2d8b0c5d950dd5e7b68e107
BLAKE2b-256 e0a0a0d1a343bbe7a937662a184ea60e109946aa14d5ff9cc9d7c887704bc8ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.11.0-cp37-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cb2004f606179bbd9f0db5328a7cee186ccae41585a9f4500390a5e563feb67e
MD5 6ccbd06b788d1672077f8f84f554c387
BLAKE2b-256 9e9387b8c59ab00ec317b8a41fc9d21ca8603a42d2bdeca3c951b351d97dfc0e

See more details on using hashes here.

File details

Details for the file deltalake-0.11.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for deltalake-0.11.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c09f8827de75476647aaba3f29fd16471587c5f4789bc2fe9096ac4e29bdc969
MD5 7089e1337baf34965255d2703fb0736c
BLAKE2b-256 d877378731a655b95661b7dba6accffd0df502dd6138a9d86c2d0aced467b7b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.11.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 6047823ca14438a07ee18ad891f972a4b022d4f08ee4d621be3e7f6738d5eb5d
MD5 986c280e9686e6e1daf831957c3c1644
BLAKE2b-256 a8a1ff25711cbb416d60302e7e008a03e7e0eb7155170a9488cb25ab7377b183

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