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

Uploaded Source

Built Distributions

deltalake-0.17.4-cp38-abi3-win_amd64.whl (24.2 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.17.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.5 MB view details)

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

deltalake-0.17.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (24.8 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.17.4-cp38-abi3-macosx_11_0_arm64.whl (21.7 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.17.4-cp38-abi3-macosx_10_12_x86_64.whl (23.3 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.17.4.tar.gz
Algorithm Hash digest
SHA256 c3c10577afc46d4b10ed16246d814a8c40b3663099066681eeba89f908373814
MD5 4e246ff8461a2c79bdc910645f3815b5
BLAKE2b-256 7c13ac88cc70e1a0831e5f94a419d6e97a270fadc7e171258298a6aab89e8e7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f51f499d50dad88bdc18c5ed7c2319114759f3220f83aa2d32166c19accee4ce
MD5 7e1f13223dc61c708ff437bc131831dc
BLAKE2b-256 35bf099087f222887d5913d01f7e83f42020e3b5c541fda750761596b3fc54c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 94dde6c2d0a07e9ce47be367d016541d3a499839350852205819353441e1a9c1
MD5 1eddab7a22cf33f6135723e253aed053
BLAKE2b-256 505114dac9078412172b354d733c08df017ff2695a87931de40eb6af42f245a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 55e6be5f5ab8d5d34d2ea58d86e93eec2da5d2476e3c15e9520239457618bca4
MD5 7cac80510a2bcbcbf5d83107b035134f
BLAKE2b-256 58c58cea330586879bc5b24219fd6b9b0a194f0a1f8a1e86f42b14c6be639197

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b539265d8293794872e1dc3b2daad50abe05ab425e961824b3ac1155bb294604
MD5 a4e599c795889474a90fb4938851be45
BLAKE2b-256 fe5ca5fffe2659dc908e2092ed720e111e7efc2bfa250484589ed30c15188977

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.4-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3f048bd4cdd3500fbb0d1b34046966ca4b7cefd1e9df71460b881ee8ad7f844a
MD5 a3cf4d2d812f183a60a2c120a906e56a
BLAKE2b-256 d8efccf25e358df13a4a8a489045523a3fc8c68f1cc38aadf6121be83f257cce

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