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

Uploaded Source

Built Distributions

deltalake-0.15.3-cp38-abi3-win_amd64.whl (22.1 MB view details)

Uploaded CPython 3.8+Windows x86-64

deltalake-0.15.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (24.2 MB view details)

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

deltalake-0.15.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (23.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

deltalake-0.15.3-cp38-abi3-macosx_11_0_arm64.whl (19.7 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

deltalake-0.15.3-cp38-abi3-macosx_10_12_x86_64.whl (21.0 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deltalake-0.15.3.tar.gz
Algorithm Hash digest
SHA256 c24ad4644b92d65dccf132b48c73e61bc07416b7a8b69e345c7f437217c44b2b
MD5 4d57dfcc8139beeb1784e7223b1d0661
BLAKE2b-256 2f2907833d7ec967ce1cb6c4928ee39928a5f84e03ed6173850c99bf3f515b46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2e87d9e23203a7214ec504c5176e4a4ad2ac405457c75b178fbf377773a46258
MD5 f66b8d2377db7e60fe143c16e5faa8ea
BLAKE2b-256 a4ca6fe6fb366d77ec697b7b1e22ed959902ecd3ff46ec41b932416d8e711f95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03268d53c59118fff8a8d1936165d6a1b08097d9794af9f234d2f5456541391c
MD5 6838a382f2e6496afeb372bbd2160ae9
BLAKE2b-256 43bdd932338158bdd7373ad1981dbc74057a518b2b00dd405b8af45a84d04bc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9889fca01d096667c0b8b40d2cb0fbe5bcd4b1040ed6202181b19a6b9a6d8018
MD5 2bc555e405a74cb7ce290bb7ddddeba2
BLAKE2b-256 c267b680c3ecbebc2f6e17dbdbd81b78cc8805a1889414793f3d4fe19b275024

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e86dca1e76cd1ee1306dca4ec93106d70ade7d467932f50e27f8c99a5eaf5d8a
MD5 a1ef2e598de09db8529b82c463d9d06b
BLAKE2b-256 5d2b50d6dbeb0958f3a59f7540955cd251d9724b95c7dec6d260e5b59052539d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltalake-0.15.3-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6ea6e66b8941c01331bd1a2180e378ed8502803d0becbd4dcb5782688862d94b
MD5 e262094e7e527ac0e6ffa5a0c62171c4
BLAKE2b-256 6789dc7bb4cd56f9bc50b4b9c5bb4332a33aaeefc360894725895e6e1aa36609

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