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

Uploaded Source

Built Distributions

deltalake-0.12.0-cp37-abi3-win_amd64.whl (20.2 MB view details)

Uploaded CPython 3.7+Windows x86-64

deltalake-0.12.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.1 MB view details)

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

deltalake-0.12.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (20.2 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

deltalake-0.12.0-cp37-abi3-macosx_11_0_arm64.whl (18.1 MB view details)

Uploaded CPython 3.7+macOS 11.0+ ARM64

deltalake-0.12.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (38.9 MB view details)

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

deltalake-0.12.0-cp37-abi3-macosx_10_7_x86_64.whl (19.7 MB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: deltalake-0.12.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.12.0.tar.gz
Algorithm Hash digest
SHA256 79ab7d55f13e2a2ab118e54428e0a1fa31b17a078353c9fe13a5f35194de9521
MD5 50b3ca3f78327254d5603d4fda6e5d5c
BLAKE2b-256 f943bf2dc29b9cdfe7dc873bc5380c647ebc89b57309af1947e497d151f7f548

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.12.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 efdf81a5b3adc4c0de45a635e4a60e69654faf7bafa1bb4c1f4c7841a4f36edc
MD5 c497cdf50c25585d791e06d82c5cdb1d
BLAKE2b-256 c87feeb46e327751f7c4f33937192fbaa1b416532737f7463f37383f7634fe57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.12.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fef2406c0a4f3759ecccec135056d175d36f09999807702c6f5a865aad72f0e9
MD5 ff7ccac7b0be4eafdc12913d13ffcb31
BLAKE2b-256 0f06f62836afc95ba9560887c2355f10d5b093b555883bf016708c1f8f1225a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.12.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a0148d912b5da2eb298cdd0d8b604a043bb47916ec2d06a6f4406988e0550be3
MD5 721428621f99fcc2f7f5ca2f7388fdb2
BLAKE2b-256 f99170028fd438a250b91894751a5d115361721150b37944673affb64d15cfdb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.12.0-cp37-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba710ddc4c80d5c067d56564c5ae255ec0fcd277aed6fb303415d8eb40c28532
MD5 805cf3a146192e6ad6a5b0806a25aede
BLAKE2b-256 94be1cc7d8c49648a8306a62da3a017ba80ca99a6459d0a81568d092a50b0c1c

See more details on using hashes here.

File details

Details for the file deltalake-0.12.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.12.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9ddacf6bfe9fea3c4af813c6f83e52dcf2b4790c478958a3a07fbf573041424d
MD5 433846f3ddda544bd3a24b17497e46e3
BLAKE2b-256 a0fd4f5999563d76b62bde327fd75a79b6a81b033d6bd18b9e57619540255e39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.12.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 a7271910604834ca71da0a5f4cc009dfa23da01bed5a86c1a17a99eaab203c6e
MD5 ecf21f92f9f7e1d3829a436422e9de34
BLAKE2b-256 232d7a9ed516dabddb2bfaf0300ad0e27f06c283908324e4a332ccadcb330719

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