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

Uploaded Source

Built Distributions

deltalake-0.16.3-cp38-abi3-win_amd64.whl (22.9 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.16.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25.4 MB view details)

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

deltalake-0.16.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (24.0 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.16.3-cp38-abi3-macosx_11_0_arm64.whl (20.7 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.16.3-cp38-abi3-macosx_10_12_x86_64.whl (22.0 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.16.3.tar.gz
Algorithm Hash digest
SHA256 aa972900c8f956d64edb4a93b548b18ae40d31fca602186b83b4a5370d6ebd24
MD5 cbde38ae06d55e09b69e84dd0d6c1924
BLAKE2b-256 b62e18684e7a1b077fd99cd91fcc0fa92885cac7f49ead0258dce5b95801077d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a5861233d052960517cbfe57ab2d77fb79d8d87b1bf4a51f2c7ad11810c5d163
MD5 dcb987e39653a5d32f21b04cb0b1c535
BLAKE2b-256 90f0b315c84063cfd846f735d2b65feec51b7b36d297f0836fa481823b634d85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5112fb67ac7a630d47907a98f16eab1957e97a55b4fb593ffdfbbb96705aa202
MD5 5db5cc0811e665cd3784fbe2e3d22259
BLAKE2b-256 ce0505734f2e4aafdaf41eda0c2f07612c3cada688c9647c1ce694dd0ea8a581

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc00c0d208c5c6c5a89889712f1c8e74901b43b41ef1384e7bd186f9f9407a82
MD5 249074b751e3bd647a4dbda0a41b0e55
BLAKE2b-256 cac908472fbd745d4e4b5852226211ee63505d64c9f04ba8b113359aac923637

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9f7b039f9cd457480442f3e3de06e383f09e68306a20ae8acaf28b0d25f8529
MD5 60d853893d68bb880c0044764b232225
BLAKE2b-256 06fc9a898413c6ae2d09e8a133b3016d26a0267adedcdb122213267fd0a141c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.3-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0de0cfe64aff4b41f8cc7a2b4acc59a1bfa7149afd2bdca5d48cac457e72622f
MD5 958c8d70ea45830a1f2e563d0519d59b
BLAKE2b-256 a008e5eee850c1b2d3ce14a72cbebf4010d75579cdb6d6a2fe5b45709e497a18

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