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.18.0.tar.gz (4.8 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.18.0-cp38-abi3-win_amd64.whl (24.4 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.18.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.6 MB view details)

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

deltalake-0.18.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (24.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.18.0-cp38-abi3-macosx_11_0_arm64.whl (21.8 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.18.0-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.18.0.tar.gz.

File metadata

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

File hashes

Hashes for deltalake-0.18.0.tar.gz
Algorithm Hash digest
SHA256 7f5e74e5b7c3e36eba7adea9d60b69928cec8d6a3b249ecdfad1dc001980e08b
MD5 c18846023394f9aef7fef8c734b5182a
BLAKE2b-256 b62b91cb1ae231a60aab566c547c53522797bfaceb55fbf168cb45cfb51fce77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.18.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 71a2424425ea7e267743c9f0845246f54bd2c1335a59a04b3fb39c8b72657869
MD5 ed54a19b04b4d3ef0c1991372b1faaae
BLAKE2b-256 d20d2fd3936b78fd64755db844670ce4dead3c4fe0dd4e69543dba2cc322d4a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.18.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cbfe9430e0053bf3bf50e4737c5b8c8549dbc6b8229b02574562c620d407bc66
MD5 9f2aba06d5bd9f252649fe3b7bd5119a
BLAKE2b-256 bc610bd23971d944dcadfb8c5f09340dea823a498ca0ac1d92b20805bc5d57eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.18.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8ae4963c98f59d7792d7de599c45e1232d922720970061d6a9c9c47e15ee2675
MD5 cc844be7db7592d0fba73a9e48e0d684
BLAKE2b-256 fe2b47be00527c0aa77a75562f88fa75dc19701ffc6e6a6521279864a7d4c740

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.18.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ddbba2dad0a6e7d4f3a9ba6fe1318a5c9263673a902ddc6c9843dde23fbaab6
MD5 a5c5f89257327bb9d77804316c424535
BLAKE2b-256 175899cc3096c42cbafc6d64de461c8d65bf6933c70cd6041c9b42c92269004a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.18.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3122b2b8b9754579641766a716c72fe9950cab403fdcdeac885c963a4d26bdec
MD5 a134dcec5ae7a2884ea1389b1da3c43b
BLAKE2b-256 2b0494cd05c56072168bd74714d4792a4ad89fc6189099c25ef20a7baf65c5fe

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