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.15.1.tar.gz (4.7 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.15.1-cp38-abi3-win_amd64.whl (21.3 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.15.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.7 MB view details)

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

deltalake-0.15.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (22.5 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.15.1-cp38-abi3-macosx_11_0_arm64.whl (19.1 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.15.1-cp38-abi3-macosx_10_12_x86_64.whl (20.3 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: deltalake-0.15.1.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.1.tar.gz
Algorithm Hash digest
SHA256 77ca8e239297c7db99ae0dd4c13097550f4dca64d6b6f9bd493d9084fdf25fb3
MD5 be1c16e7d1f1871f9539d2cfd1557fa9
BLAKE2b-256 96264a5d6d700060d9c960eae5115b8b3574acf452cef21060a24c0721a11fb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 66aabc524cfca11731d0244fc93df62d2d5c7cb4d5581c9859bd8bc803226ac9
MD5 46f2bfa46f40fe70ddf947a11d1f1c41
BLAKE2b-256 372154f0cd4f4a55f15756b6da511738eed6b29ff3278c4be0edaf3eb86d168e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a17c1b3455123027cecbfe8cad6bf9ac0c6eb303d91aae10b74e6b768076ad2f
MD5 c073ff8e422c9b790e36eab95f6243ee
BLAKE2b-256 d430511873f15506b59a3023fab8fcc3af7feaa483d89d2d2360bff865cd3484

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7ce6ccc4397486fb91274085017b997e084c03a980c912f467aea12f14c0e845
MD5 568ed590e46a86fa0bcc690afa17f36b
BLAKE2b-256 d2d1cce3176151e7a06c784ad44f3cc670d57ae9e988eea541abc04fcbab6ad4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 80269d4f8a7d404fec126f54e392a88c3e6480d7be8d0271bff0058bd44e98c4
MD5 b016166d2d5f9d715dd6cb858c754bf0
BLAKE2b-256 32c25692b64d5111e520e315e2c9bed5d41f44ff40a720513cc25a8d64ea2925

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 346f76e71b1bd1b3d807ed76db7c5f9288f32dae83d830017e6599e6e848d585
MD5 30e73b6a84e9e5e4f7df7531fb3c7d4e
BLAKE2b-256 5940c8f773171df7960a306bc732f43cb75739ea51074315b93a22f826242522

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