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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8+ Windows x86-64

deltalake-0.19.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.2 MB view details)

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

deltalake-0.19.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (35.9 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

deltalake-0.19.0-cp38-abi3-macosx_11_0_arm64.whl (25.4 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

deltalake-0.19.0-cp38-abi3-macosx_10_12_x86_64.whl (27.3 MB view details)

Uploaded CPython 3.8+ macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: deltalake-0.19.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.19.0.tar.gz
Algorithm Hash digest
SHA256 3af1e7cfd611a42bdcb694c5df5c92e018aade2a9a1871af8cb7118ffd4c6e5c
MD5 690e26317bf7eb6c42ff12d2c9fd81e2
BLAKE2b-256 880eca81cfbdbba8c8b0cc83558138f6e20b7e75a367a6bbb002f105439d791f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.19.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 12fc8ef76294515324de2bc7b44c92f0491a35d33de362e9352f3a2512102ca4
MD5 d3621eaa8ba5cd01ba54413be489d0f9
BLAKE2b-256 bd47c61f629af148893784c1bdf7d4b1dd188e405676e00ffc90cd6c54593ae5

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.19.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22f993dd7f50cfe88f1a18a73582bf6b355a691c5f6930d9f7086d33f1ad7396
MD5 b0744de9db94873ecae240d18a040110
BLAKE2b-256 4c64a6951f2485ee91ced40707e454a977db9e6cdefedafb876dcfb376d2e895

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.19.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d00c6721d5b61b07daa5cf25b46c7a3aec49a9f055d6641af878e7a52a34e28
MD5 891a037d9f4acb88a1cd5e6b683e2840
BLAKE2b-256 9ec76ce567283074a81b28ca80ab02d0a89f629f3221ddfdbc141195bec20781

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.19.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21789d9a2c3979f12acb2deac11a47fb28e140af4be137f4dffee99eefb70239
MD5 04a16535f4563fcf4af2bbde7ab227df
BLAKE2b-256 c9aef3056d3d940de8512be0cb77054c4fb3d3f9b7ad12c1e9c11143e0bcf20d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for deltalake-0.19.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0783ce640ee97842280953bd6923200262d29d980b53530f4d796a6e4919d9ee
MD5 154ebef5709fffb8b12baa32c1d02302
BLAKE2b-256 efe386480390ebea2038a0c3fa04c4ecb0ba1f05a1054c128f6306db6fc2e372

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