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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8+ Windows x86-64

deltalake-0.16.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25.5 MB view details)

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

deltalake-0.16.2-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.2-cp38-abi3-macosx_11_0_arm64.whl (20.8 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

deltalake-0.16.2-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.2.tar.gz.

File metadata

  • Download URL: deltalake-0.16.2.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.2.tar.gz
Algorithm Hash digest
SHA256 2df55ee56df6271685a877ca5c06edb0b2f94e38177857ed1a44016314a63b50
MD5 4505850845eb384955fa3af52dce1e92
BLAKE2b-256 27b4781ec531b0c45ba1d09b9788b38eca63cdb772da1c494187f689d6f2e9f1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8cfdf412c2d82ae352ce792d57c26d706eac8d3b9aa46357f2cdbc89ac842766
MD5 f15dde9aef7a6c6ae81521bdd1cb0fa5
BLAKE2b-256 71f2b8c96ed17abf8b4dde2a7fe7faed34e79110084446a01c0602f603deaeac

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 959c378f5f462d30a33768f73081108622f67617d84b2e54abf8290941cc2ff0
MD5 ead8e21819278a250021a03d824fc057
BLAKE2b-256 cbe78898cfba3e285b6d3fe6bef2e745e6318620c4dacc1e27179db42301d8c7

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ca8ca49f31782259fac7e2987277ca8a8114da34fbde28f622b5b39c5049eb28
MD5 4e2b94063cc78cea307476b907e12361
BLAKE2b-256 bf7b894b4ecc5d59f84012551df86f09aa77bd9f9ac85a9aa0f2bab1af7cbd4b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fdb68ce8629fc66118e06c67f5c8ace7af37c380232b5e50f58bf7c10b1c7803
MD5 fce375c91f7ccae6ceb765645b6b26ed
BLAKE2b-256 1ad155f40a7db8ce26f7261c21e8cb7b41d9de8e3aba6f71137c7205c3179217

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.16.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5afe957335cf6af00cb9d1ab5b7d1715bc9df18a8d49cc94808db7d4bba81716
MD5 586b3b186bcb47cbf406ed2e4b392117
BLAKE2b-256 54f97725f512a23c56605b8abd83a88e5ebc54f397321da648ef30e004f2d732

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