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

Uploaded Source

Built Distributions

deltalake-0.20.2-cp38-abi3-win_amd64.whl (28.5 MB view details)

Uploaded CPython 3.8+ Windows x86-64

deltalake-0.20.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (35.9 MB view details)

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

deltalake-0.20.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (35.8 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

deltalake-0.20.2-cp38-abi3-macosx_11_0_arm64.whl (29.1 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

deltalake-0.20.2-cp38-abi3-macosx_10_12_x86_64.whl (30.8 MB view details)

Uploaded CPython 3.8+ macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: deltalake-0.20.2.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.20.2.tar.gz
Algorithm Hash digest
SHA256 e13bbcff69fb0948d1969ad2a03cc80a2dd052c8a762d9808d75316c9a9b1639
MD5 d9326fda0a7e94f6491e8f78c13c07ae
BLAKE2b-256 c2ed3e94303014138904107c9fab7ed32febb85190f02d4e76931e7b909087fd

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.20.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a6742240ef72fb60503f9d1bbdba658a175005740bf5df1b51187273c0771a0c
MD5 ee3416af1927f4e58bc49c44c8b9f46e
BLAKE2b-256 244f49b12efe414624d417c73ddd2989034540ac8dab550666dbdd0155852bf7

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.20.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37e69797219b4e79f37e064c0282520d9dda35dd11a449f7c9080626deb91db3
MD5 667c8ec178e4928375725acb9f4fb164
BLAKE2b-256 f2f7e5fb8f63f76412afe12021e608cfc3fb09ab42aa144e89278beae2e5161f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.20.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b04f9cda5b67e3ec4db1524eebd0ef7aaee0387683e2e3ce34790a54295d3465
MD5 83d375eef660fc3c47680db33311a22f
BLAKE2b-256 8cca387783449a08c9c479de3d0e8f068100acc390fd2ee454b227e46d51bc0b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.20.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d50f6f3c1c07ab13f9ee37fb0291a52f5e0961da6b2be3dbbbd2d0c2eebd9077
MD5 e000457b464665683721dd149837ccbf
BLAKE2b-256 3f56043c0cc146d9210d9aaf49e5c9eecf4fb0f7a7c4ebe39d93a240e52cdbfa

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.20.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fe0623e0b938d05d83d50f2537d750f732f9ecfea0936a71b18a01cd732b70a1
MD5 6754883749866c40132edc2f8188decb
BLAKE2b-256 f3a8052d8b997097a56ba76381ce53cef72516ff5568672021d14c406e252c43

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