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

Uploaded Source

Built Distributions

deltalake-0.10.2-cp37-abi3-win_amd64.whl (20.9 MB view details)

Uploaded CPython 3.7+Windows x86-64

deltalake-0.10.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.5 MB view details)

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

deltalake-0.10.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (32.2 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

deltalake-0.10.2-cp37-abi3-macosx_11_0_arm64.whl (19.1 MB view details)

Uploaded CPython 3.7+macOS 11.0+ ARM64

deltalake-0.10.2-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (40.1 MB view details)

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

deltalake-0.10.2-cp37-abi3-macosx_10_7_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.10.2.tar.gz
Algorithm Hash digest
SHA256 fe3a2d69387b49d80c20bd7c3f8b2977970460239734fe9db1dfcb401e96a8c7
MD5 179735a5dce03e96338a8965f78c2179
BLAKE2b-256 257db2b313d2bf6f35a97c84cf3be98b2db5af521c0fec72324a111ca91295a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.10.2-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8dc8ddd146e1a10df6c524e0393ce495cbf8ca24ed28a513361955fa9fc4d2c2
MD5 84f51567952930e1c969488b732bdb67
BLAKE2b-256 2ddb599dfdef769d0026898ddce21ef63c8b7f045e7c1ea9e608d4b2383c8f46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.10.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 901ab93da046c48a25e7411daabcd3267869c5acfb581552ad3a4fd0e2c65c5d
MD5 2badac70619f50c3cb1d79b14779603f
BLAKE2b-256 58e58c4f0990f75f503f03e9cc698a98c0cc388fdb564ddde4a98ebb8c545cd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.10.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 298579bb74d69bbf2b87b858ab361af7b3baa2af1c1f136a7a9f08ee8e12d98d
MD5 3f0ab093d67de8595e54339fc9c74702
BLAKE2b-256 4f9b968e24320b925fedf19364903712a75d4f58fd3ede3fad8f29f3403431c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.10.2-cp37-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a1801ceb642d41bf5b4061e62fe091d9c394c88b4bbedc534acf001a66f1836
MD5 0402d2d04aa7dae0293ff343bf8c17e6
BLAKE2b-256 ff09596ad6cc11b9dd5aa2b6a994d780268021e854ccc120653313b3095f26b0

See more details on using hashes here.

File details

Details for the file deltalake-0.10.2-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for deltalake-0.10.2-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a4b2bcf189b81b3afa8f3c4bf48181bc11c8811e348be43aa8517739929a4d1d
MD5 60ed5b8c22e20d6a0fb6a236af1ff7cc
BLAKE2b-256 6db8eb613f2cbf2f689eb536c7735ac81ce5f46f4a1c3528068c20610e5bc54f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.10.2-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 61bc3864a8b5958c5e1eb9165529ff844a7d21f40cf78b9ddc6b6855515bb169
MD5 ff982b684fe6a46ab0835253e5668fa2
BLAKE2b-256 5efcccf0e214cfd78e4d9009d73fbdadb572b50c7a34114ed70ba3fc71c6207d

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