Skip to main content

Python binding for delta-rs

Project description

Deltalake-python

PyPI

Native Delta Lake binding for Python based on delta-rs.

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.

Usage

Resolve partitions for current version of the DeltaTable:

>>> 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']

Convert DeltaTable into PyArrow Table and Pandas Dataframe:

>>> from deltalake import DeltaTable
>>> dt = DeltaTable("../rust/tests/data/simple_table")
>>> df = dt.to_pyarrow_table().to_pandas()
>>> df
   id
0   5
1   7
2   9
>>> df[df['id'] > 5]
   id
1   7
2   9

Time travel:

>>> from deltalake import DeltaTable
>>> dt = DeltaTable("../rust/tests/data/simple_table")
>>> dt.load_version(2)
>>> dt.to_pyarrow_table().to_pandas()
   id
0   5
1   7
2   9
3   5
4   6
5   7
6   8
7   9

Schema:

>>> from deltalake import DeltaTable
>>> dt = DeltaTable("../rust/tests/data/simple_table")
>>> dt.schema()
Schema(Field(id: DataType(long) nullable(True) metadata({})))
>>> dt.pyarrow_schema()
id: int64

Develop

maturin is used to build the python package.

To install development version of the package into your current Python environment:

$ maturin develop

Code are formatted with https://github.com/psf/black.

Build manylinux wheels

docker run -e PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig -it -v `pwd`:/io apache/arrow-dev:amd64-centos-6.10-python-manylinux2010 bash
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
rustup default stable
cargo install --git https://github.com/PyO3/maturin.git --rev 98636cea89c328b3eba4ebb548124f75c8018200 maturin
cd /io/python
export PATH=/opt/python/cp37-cp37m/bin:/opt/python/cp38-cp38/bin:$PATH
maturin publish -b pyo3 --target x86_64-unknown-linux-gnu --no-sdist

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

deltalake-0.4.4-cp36-abi3-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.6+Windows x86-64

deltalake-0.4.4-cp36-abi3-manylinux2010_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.6+manylinux: glibc 2.12+ x86-64

deltalake-0.4.4-cp36-abi3-macosx_10_7_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.6+macOS 10.7+ x86-64

File details

Details for the file deltalake-0.4.4-cp36-abi3-win_amd64.whl.

File metadata

  • Download URL: deltalake-0.4.4-cp36-abi3-win_amd64.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.6+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.9.0

File hashes

Hashes for deltalake-0.4.4-cp36-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c8e895bec96602b1eafaa4fc9970271707e65d0d877cd63739e3a9348197b90a
MD5 e3b776a70f6b6933ef1fc96e00ef76f2
BLAKE2b-256 7d5afaffde23ea91470a0e5099af3c97f0f6abe013f9f0b681e12a566be89a21

See more details on using hashes here.

File details

Details for the file deltalake-0.4.4-cp36-abi3-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for deltalake-0.4.4-cp36-abi3-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 410bdf795c1e86e5f0174b42af6ba5e97594c2be570182d7f85e2edb50436f15
MD5 6dd4eaf26ec48e4088e454954c03080f
BLAKE2b-256 7f606699236a0671954650fb532afb6440429373c18847d3f4640b6494e6b95b

See more details on using hashes here.

File details

Details for the file deltalake-0.4.4-cp36-abi3-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for deltalake-0.4.4-cp36-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f3cbf22c71a060c32ebfb53b048264db96bfa1dff2d162cc88ce4a2a55b7943d
MD5 29241ea6909ade0c1fc07da65a14b409
BLAKE2b-256 fd56c49c08fc96486389fa80032ee007e2fb6a7dd375336eaac4ca3e258f7e15

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