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

This version

0.9.0

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

Uploaded Source

Built Distributions

deltalake-0.9.0-cp37-abi3-win_amd64.whl (19.9 MB view details)

Uploaded CPython 3.7+Windows x86-64

deltalake-0.9.0-cp37-abi3-macosx_11_0_arm64.whl (17.7 MB view details)

Uploaded CPython 3.7+macOS 11.0+ ARM64

deltalake-0.9.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (37.2 MB view details)

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

deltalake-0.9.0-cp37-abi3-macosx_10_7_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

deltalake-0.9.0-1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.8 MB view details)

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

deltalake-0.9.0-1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (29.2 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.9.0.tar.gz
Algorithm Hash digest
SHA256 1634380220051e7bbd3f4b0b6b5901c46b62ad8326fd5da91b032e8d318216f5
MD5 03f800d8d4abc9fc8010e9d0ee52904f
BLAKE2b-256 a55838edf79c582fbb1a46b8d0ded08d033a1b1085b8c7997c592aacc5d38e35

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.9.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 45690f5b9e42da9fdc48f37656796e7cf3e26cd388a986fc6a52b38ea675f4ef
MD5 4cd85beda60ef44849526a7741be2088
BLAKE2b-256 9ce3df3a3fb43e1f0af927c9049ba870cdf14de5806c9097a86c32633a110506

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.9.0-cp37-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc52c4660dd47fc836a980897a1fb39dbb0282ca7f061e724f1e7c835dde744c
MD5 7e214b8b4d28c2bc3a1e41875377c845
BLAKE2b-256 868d86e1de3f96eb64d1d10f8195aaf3c888600237631f26726e9f9ab27add00

See more details on using hashes here.

File details

Details for the file deltalake-0.9.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.9.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 52448204032459058c8606cf3c058f321522f736d355c0391e8e5a6570f10e31
MD5 61cd2fd4fc58a1aabefa26cd367c6507
BLAKE2b-256 d16be42ee297746a7d14a3ee170f70e776b60b9c665a24fb33a3b7aac4bcbd67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.9.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 4de70eeac00bfab1375eb805f3832a6ebc30ea00af2b9773561667e440d65e4b
MD5 1eeb80af9e36ce15d2ea9339acb6e8d2
BLAKE2b-256 849bfa7a493b1f4235490b5f7125af8e98ec55cbc9f429ab834bc29452361e3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.9.0-1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d3d8b20b2e3e98edb4a8ab4d6f05f22259b0c355186e557008ece981a39fd01
MD5 7ced943f5fba8493c2059a94b39eb93b
BLAKE2b-256 5144b420c4a56f95fa57511f251c41379c4216057596dc009ac7ff786fee4f99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.9.0-1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f0c1775e4624412e2ccda8f96cb19e952960e2fa8aa59ed4fdfd6fc5dcac8f49
MD5 ea7a3edaacd022c8d06f4be1d6150c99
BLAKE2b-256 ed5881e524fddaf8dcd7960d96db3759685ce3af2616423497f77bd69bc62251

See more details on using hashes here.

Supported by

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