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

Uploaded Source

Built Distributions

deltalake-0.21.0-cp38-abi3-win_amd64.whl (28.7 MB view details)

Uploaded CPython 3.8+ Windows x86-64

deltalake-0.21.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.3 MB view details)

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

deltalake-0.21.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (35.4 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

deltalake-0.21.0-cp38-abi3-macosx_11_0_arm64.whl (29.4 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

deltalake-0.21.0-cp38-abi3-macosx_10_12_x86_64.whl (31.1 MB view details)

Uploaded CPython 3.8+ macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.21.0.tar.gz
Algorithm Hash digest
SHA256 88f92cede44b2737431dbf86d43ed3b3c8cb73db56e99138aea1a6d93e9c6821
MD5 52204713d79fc5212c91bac4c03870f1
BLAKE2b-256 6423349519b4ec9b81bd3236c20db4641cf2270279e13f4aef7436fc04f15070

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.21.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 dc84334a0f8df1f4f5c6ca9aaffbeffb896f43de6744d0c77c306ca8ba27041b
MD5 2c24947515157e74340bc737e377bc3b
BLAKE2b-256 6a3eca359eadd1385f23294fe517bec7aad04d0867c23051f8d6a957b1dd3322

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.21.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92ccd486243dbe17c45a6ca06b108351dfd07708d34e75405fcb13033c63d176
MD5 30f3e3597e783c900e1dec39af2001bb
BLAKE2b-256 7651bc0eeb088c4bdea4628afcfeb0f4bbe254baa8ddfeba05ba2f34468a9d25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.21.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 02870db9dfe4694034fb209cb4822f85ba1a11885e353e11fd0dfb51b0af67d2
MD5 34e4490a514452190b6bbbd0233aff7e
BLAKE2b-256 e555a0c81b365451e29a049935d42bb1977d8de70c2194f425d11faccde084ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.21.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e7762af03fed0a67ce8f89b6b75356a74e485f52923c73a5c850c6c574d3481
MD5 01af0aee98a4a84042eb481a9fa5137e
BLAKE2b-256 df6f82cb405d44c5fda7bcd06a5f3487301986a450cc7ba80b269e670c4d1e6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.21.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4b4a352da534a173d837906357c808cd36dd216974b9df2c3998acb98d04954a
MD5 d74796b5e35509689cacb99949eab1c7
BLAKE2b-256 c9c3d340e224bbdb0f4a4b0d6e2d019fc714c5e9a1ef680227c1e0accd098026

See more details on using hashes here.

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