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


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

Uploaded Source

Built Distributions

deltalake-0.17.0-cp38-abi3-win_amd64.whl (23.4 MB view details)

Uploaded CPython 3.8+ Windows x86-64

deltalake-0.17.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25.7 MB view details)

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

deltalake-0.17.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (24.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

deltalake-0.17.0-cp38-abi3-macosx_11_0_arm64.whl (21.0 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

deltalake-0.17.0-cp38-abi3-macosx_10_12_x86_64.whl (22.4 MB view details)

Uploaded CPython 3.8+ macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: deltalake-0.17.0.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.0.tar.gz
Algorithm Hash digest
SHA256 795796e3ba8f4183384a8559123ba963ce1ebc7167f72b820a713c6d492d12f5
MD5 c2616d9a9120a06b0b0ae74de21f9c30
BLAKE2b-256 04d30432648d3b151c5f18a1cd97ee44fd213198fd6b18aa4291e358c59a33cd

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 faca7f57ae867102d81e13af126cb5906dec3c9efe3712f98cdbea9c827518ff
MD5 ae9e146ea86039e40f140786d28313f2
BLAKE2b-256 65bce6efd43c00937f87ec0f4a8287eb593f7851487e9e50790dfbcbfa6b3a6f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c1917041e7d29a7e050eba9214b9acfa6378dda7ee5c5284b488f18568ec4f6
MD5 43a7763cad9cf56b55de12486b0e9cba
BLAKE2b-256 06006f9268c019f703d97ba417167e7289e86df93c3ac901a7c466882445d353

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9564290bf8c955e71643e04cc27745246768e5f2026bd34f2961623abafaf03a
MD5 9e0ab460865550eeeaf97374daf938a4
BLAKE2b-256 bf31c84e2c562ec158550308e4c9f2e9d9a645d37811b5c860363ace4b47d45e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 579b032807cec42153e721105cec151e64478a5c6bc4e123a402b1a01596e7f1
MD5 9f14a9ce9e1155601fb6f2fd89b93b61
BLAKE2b-256 446ae8bcb18f61c95af71bc2690b0f33d160a0a0669fdb6646d84b5715c54cc9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.17.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 de2624e6e51b2fcb6b18bf3720d0d134057a2010042461080aa5be1b0b5c7c15
MD5 d46aafd6e52baf7ca1dd582d7406639e
BLAKE2b-256 fe17da9850482086f7bfa197f5aa925cfa752648e00a90b88aa74bcd2827220b

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page