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.8.0.tar.gz (4.4 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.8.0-cp37-abi3-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.7+Windows x86-64

deltalake-0.8.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.3 MB view details)

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

deltalake-0.8.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (17.4 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

deltalake-0.8.0-cp37-abi3-macosx_11_0_arm64.whl (15.8 MB view details)

Uploaded CPython 3.7+macOS 11.0+ ARM64

deltalake-0.8.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (33.4 MB view details)

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

deltalake-0.8.0-cp37-abi3-macosx_10_7_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.8.0.tar.gz
Algorithm Hash digest
SHA256 c2e51e5482bf4926c19c1ae45dc7c86a0722ad618225fa9546fe568cdcff879c
MD5 b8ff4044c327bf18af26f30cdbb320f3
BLAKE2b-256 808cdbfb1591d0d2068bd36a7b8308f8d2c53182d296fc2c82f7f88e25ce360e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: deltalake-0.8.0-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 17.5 MB
  • Tags: CPython 3.7+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.15

File hashes

Hashes for deltalake-0.8.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3eba6f3823de0bf833487014d2d349ec23c086e922202eeb6c0a6f87051dd736
MD5 cb00fcc6b78ad7b48408a0e36197a55a
BLAKE2b-256 a0ee1bfac525108b1c2cf4a1ea48a32e9c03dbe2b73a837e3bb18f2986d68d7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.8.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0965729c31e82fca49d408ed07fcfaf91d1daf7459f4f25abe5758627b8fa59
MD5 66c19d3d97658c76d4c61cdd79b332fd
BLAKE2b-256 9d1f42b747e9972f3280b219b504afa9131235541fac50c49311204e377379b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.8.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1a0cac98d59c7df6b481925e36d9adf9ad384bb802fab26f9856822725989de8
MD5 6232ea41bc18fb4217ab2b6944662a34
BLAKE2b-256 13288502add82b08b8d94de876b37368de80a5d76a874de16fcd3843f517d9dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.8.0-cp37-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6acdb171727274c9ef5b4e3d861cb926a7c4d3c6d307a126fae493dd252c8463
MD5 5bd18cb5106a32ca420df86a0ca3ddfb
BLAKE2b-256 a7c9e946773dd6f2cc3ad950af7eaadd7360866e45b12daaa1e31664b34b5b0d

See more details on using hashes here.

File details

Details for the file deltalake-0.8.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.8.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a512074c0f6936139835a3cd014394da703dedf6b5126050dfbc443dfa1e49da
MD5 003c2119473c34033cd2c2c36ede7c54
BLAKE2b-256 a401c479b9526fe369245190d50567627d9066e8adc9cd9af301820ee75e3036

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.8.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 9a7ce1ded4e9777dd4360c15d270b76cd6906b30071cb32b33c37d72524eba00
MD5 8b60993eca576e3978c9d7d468cc8bac
BLAKE2b-256 f0368c75465c5c6757886ca9635ad44b8bfba81ded0a84246088d6e9142bf7db

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