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.13.0.tar.gz (4.6 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.13.0-cp37-abi3-win_amd64.whl (20.9 MB view details)

Uploaded CPython 3.7+Windows x86-64

deltalake-0.13.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.6 MB view details)

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

deltalake-0.13.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (32.6 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

deltalake-0.13.0-cp37-abi3-macosx_11_0_arm64.whl (18.6 MB view details)

Uploaded CPython 3.7+macOS 11.0+ ARM64

deltalake-0.13.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (40.0 MB view details)

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

deltalake-0.13.0-cp37-abi3-macosx_10_7_x86_64.whl (20.3 MB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: deltalake-0.13.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.13.0.tar.gz
Algorithm Hash digest
SHA256 e433215eadbc4b845a5b66fc21d8cd18993b4e9fa3fa604b8cd2915271e4e02e
MD5 2475ea3aafbc6ba184531e1e8572bd3f
BLAKE2b-256 c374f0a080fbc70b4b6cfdf9add6287f7c7e071008d2ac620728f571093213dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.13.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 89ea7292d651a56c4c8dac83ecc77b5e6182e3f1ada0908847fadbf0cff75e18
MD5 5f35a1d26061efcd1e8374ecf2a2a9f1
BLAKE2b-256 ce9c84e0eaea0ba97b77e7b546e45762a1a0f8a7ab7d970b15cf3e953c4db35a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.13.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0dc425191fc4813a237d2e8b64581c313246329bb5025ff2310b6d0b70c58d4e
MD5 655e18f6fc43d990fcfb723209b707f8
BLAKE2b-256 c5672406f9f7fdf9bd09cb5507103c083ad28d236df7c2403b8fef10a9e58506

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.13.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6789ace8208d4ecea2d7a20665d15fb97e9203eeba948a59c46e36005833c6a9
MD5 3e0c62cdc5a4f2e57edbd402e7f2be63
BLAKE2b-256 303a04969db8ce0c9982bb94101f00a10840950bd092bebc2bcc55ba47eb30f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.13.0-cp37-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15aa88a24b35042ca7ed0d3cc33bde208e6f1786d7bd89b334453b46aa3afcbf
MD5 a61272ea4dc717c1501b159525abed5e
BLAKE2b-256 04cd8bab0a66d476adeec3f459a25de783ec9dc9007eb6873bfa1b070f8c4e35

See more details on using hashes here.

File details

Details for the file deltalake-0.13.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.13.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 557bb14f181c59bba85c6c3fbc970c50c3a47e6e99bee266e54c54e9051b4bce
MD5 35d85830e39f9ee0268937894bad9a13
BLAKE2b-256 60675c30fe40f8f1f1fa2aafe33c08e2b9dcd6aebd379b66fb4b3369cb49ab04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.13.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 5dd8a7d1e4f4733b743c181b4a83a30283871836a40894f65af7b2e4a1eab907
MD5 c419efd8ba8374b0e1afe4f248f5e56e
BLAKE2b-256 c67e250e32dd8fa5610e826f9b514c9747c8999d64180d53ed390e9171123099

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