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


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

Uploaded Source

Built Distributions

deltalake-0.15.2-cp38-abi3-win_amd64.whl (22.1 MB view details)

Uploaded CPython 3.8+ Windows x86-64

deltalake-0.15.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (24.2 MB view details)

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

deltalake-0.15.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (23.1 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

deltalake-0.15.2-cp38-abi3-macosx_11_0_arm64.whl (19.7 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

deltalake-0.15.2-cp38-abi3-macosx_10_12_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.8+ macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.15.2.tar.gz
Algorithm Hash digest
SHA256 ecd2d2be036f158b28556166572fe7b62c3143b17d330184c1c1e1e627f8767b
MD5 3ec3a5a1ed02ca8eac8aed407b0b9195
BLAKE2b-256 5827277cac62f7dd409e206ed3ee17c521db1501c06c20bbe2524da9f7fe7713

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0a87ec9ba65c4f5e204bf2887938ea36f981a1cb5a9744c65abfab55f5b31b01
MD5 d7b2ccb95e3ddf13dda4625e3b0628b1
BLAKE2b-256 81e3ce7d22d61a2ec3ee639203e741d608856018b15e87edb800dc7d09f8c9c8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a41938190f22dc904e95a5af2e2fa2fbc89400a08f26988ae2877195b61f9a7
MD5 0de309685beec017a722ad82985dcaff
BLAKE2b-256 c5daa4e5d4c5e0f3490f7cfd7c1676c8455b32495bca36b772382793bc9a2957

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04b6a03e7c9ab273f39344bbd941935211925fc065dcdc1241b914b95c72ec55
MD5 4c0de2d859ffd10e1f558f16c4fee1b3
BLAKE2b-256 e8c3c729f69d42ebb735c78994435a02f7e173a027b25466c672d56b20b4938e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef1e84ff3bf66fc4095954b309b7d80f3390f97026afffcb7cc1bfe4c5e1ab14
MD5 4d0c0b2a542a149ac681a3ee7ec4d376
BLAKE2b-256 37d36d6ccec3915f10bbda2a5289a586db1c2bdb3d9ea8302fed33fed670dcac

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4e754f805206b4fc2fd59fad74086326b48bd54da4011801578b305c8a9257c8
MD5 bb6491bea8de624e1071df21fcfe6cb7
BLAKE2b-256 f8b9cb2e8b7ab8c09127248c1bd7001c0e380d94aa7a6d79ae2386c1428c07b8

See more details on using hashes here.

Provenance

Supported by

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