# Deltalake-python
[![PyPI](https://img.shields.io/pypi/v/deltalake.svg?style=flat-square)](https://pypi.org/project/deltalake/)
[![userdoc](https://img.shields.io/badge/docs-user-blue)](https://delta-io.github.io/delta-rs/)
[![apidoc](https://img.shields.io/badge/docs-api-blue)](https://delta-io.github.io/delta-rs/api/delta_table/)
Native [Delta Lake](https://delta.io/) Python binding based on
[delta-rs](https://github.com/delta-io/delta-rs) with
[Pandas](https://pandas.pydata.org/) integration.
## Example
```python
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](https://delta-io.github.io/delta-rs/usage/installation/) for more examples.
## Installation
```bash
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](https://github.com/PyO3/maturin):
```sh
curl https://sh.rustup.rs -sSf | sh -s
pip install maturin
```
Then you can build wheels for your own platform like so:
```sh
maturin build --release --out wheels
```
For a build that is optimized for the system you are on (but sacrificing portability):
```sh
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.
```sh
rustup target add x86_64-unknown-linux-gnu
pip install ziglang
```
Then you can build the wheel with:
```sh
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:
```sh
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](https://github.com/apache/arrow-rs/blob/master/arrow/README.md#performance-tips).
Raw data
{
"_id": null,
"home_page": "https://github.com/delta-io/delta-rs",
"name": "deltalake",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "deltalake, delta, datalake, pandas, arrow",
"author": "Qingping Hou <dave2008713@gmail.com>, Will Jones <willjones127@gmail.com>",
"author_email": "Qingping Hou <dave2008713@gmail.com>, Will Jones <willjones127@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/ee/04/cc8e66e583888feb072cb60f891d69fb0fb816a7d91cf4acc1ae047e852d/deltalake-0.22.3.tar.gz",
"platform": null,
"description": "# Deltalake-python\n\n[![PyPI](https://img.shields.io/pypi/v/deltalake.svg?style=flat-square)](https://pypi.org/project/deltalake/)\n[![userdoc](https://img.shields.io/badge/docs-user-blue)](https://delta-io.github.io/delta-rs/)\n[![apidoc](https://img.shields.io/badge/docs-api-blue)](https://delta-io.github.io/delta-rs/api/delta_table/)\n\nNative [Delta Lake](https://delta.io/) Python binding based on\n[delta-rs](https://github.com/delta-io/delta-rs) with\n[Pandas](https://pandas.pydata.org/) integration.\n\n\n## Example\n\n```python\nfrom deltalake import DeltaTable\ndt = DeltaTable(\"../rust/tests/data/delta-0.2.0\")\ndt.version()\n3\ndt.files()\n['part-00000-cb6b150b-30b8-4662-ad28-ff32ddab96d2-c000.snappy.parquet',\n 'part-00000-7c2deba3-1994-4fb8-bc07-d46c948aa415-c000.snappy.parquet',\n 'part-00001-c373a5bd-85f0-4758-815e-7eb62007a15c-c000.snappy.parquet']\n```\n\nSee the [user guide](https://delta-io.github.io/delta-rs/usage/installation/) for more examples.\n\n## Installation\n\n```bash\npip install deltalake\n```\n\nNOTE: official binary wheels are linked against openssl statically for remote\nobjection store communication. Please file Github issue to request for critical\nopenssl upgrade.\n\n\n## Build custom wheels\n\nSometimes you may wish to build custom wheels. Maybe you want to try out some\nunreleased features. Or maybe you want to tweak the optimization of the Rust code.\n\nTo compile the package, you will need the Rust compiler and [maturin](https://github.com/PyO3/maturin):\n\n```sh\ncurl https://sh.rustup.rs -sSf | sh -s\npip install maturin\n```\n\nThen you can build wheels for your own platform like so:\n\n```sh\nmaturin build --release --out wheels\n```\n\nFor a build that is optimized for the system you are on (but sacrificing portability):\n\n```sh\nRUSTFLAGS=\"-C target-cpu=native\" maturin build --release --out wheels\n```\n\n#### Cross compilation\n\nThe above command only works for your current platform. To create wheels for other\nplatforms, you'll need to cross compile. Cross compilation requires installing\ntwo additional components: to cross compile Rust code, you will need to install\nthe target with `rustup`; to cross compile the Python bindings, you will need\nto install `ziglang`.\n\nThe following example is for manylinux2014. Other targets will require different\nRust `target` and Python `compatibility` tags.\n\n```sh\nrustup target add x86_64-unknown-linux-gnu\npip install ziglang\n```\n\nThen you can build the wheel with:\n\n```sh\nmaturin build --release --zig \\\n --target x86_64-unknown-linux-gnu \\\n --compatibility manylinux2014 \\\n --out wheels\n```\n\nIf you expect to only run on more modern system, you can set a newer `target-cpu`\nflag to Rust and use a newer compatibility tag for Linux. For example, here\nwe set compatibility with CPUs newer than Haswell (2013) and Linux OS with \nglibc version of at least 2.24:\n\n```sh\nRUSTFLAGS=\"-C target-cpu=haswell\" maturin build --release --zig \\\n --target x86_64-unknown-linux-gnu \\\n --compatibility manylinux_2_24 \\\n --out wheels\n```\n\nSee note about `RUSTFLAGS` from [the arrow-rs readme](https://github.com/apache/arrow-rs/blob/master/arrow/README.md#performance-tips).\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Native Delta Lake Python binding based on delta-rs with Pandas integration",
"version": "0.22.3",
"project_urls": {
"Homepage": "https://github.com/delta-io/delta-rs",
"documentation": "https://delta-io.github.io/delta-rs/",
"repository": "https://github.com/delta-io/delta-rs/tree/main/python/"
},
"split_keywords": [
"deltalake",
" delta",
" datalake",
" pandas",
" arrow"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9734eadc901c7e5f22f98ccc8880c0a738b3b27dadf9f832da86cb4069250c65",
"md5": "5a2e25407894df99d9adebd14560ce6c",
"sha256": "996b422432abf978aae1e39fe28a95df12fba6d057e4d1ba64b571f5a3f27576"
},
"downloads": -1,
"filename": "deltalake-0.22.3-cp39-abi3-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "5a2e25407894df99d9adebd14560ce6c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 36935764,
"upload_time": "2024-12-04T21:46:21",
"upload_time_iso_8601": "2024-12-04T21:46:21.868854Z",
"url": "https://files.pythonhosted.org/packages/97/34/eadc901c7e5f22f98ccc8880c0a738b3b27dadf9f832da86cb4069250c65/deltalake-0.22.3-cp39-abi3-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "071b27567ac12cf8f11ebe33063a1c70e35916c6b2c352bba474163f8e7820f0",
"md5": "f16ad1f19403144764a1f2677c4edd89",
"sha256": "bedb0cc865bcaaa20be4d7989ea46063e042b443cd0e07b71f4e5b9dfad27457"
},
"downloads": -1,
"filename": "deltalake-0.22.3-cp39-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "f16ad1f19403144764a1f2677c4edd89",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 34702543,
"upload_time": "2024-12-04T21:45:32",
"upload_time_iso_8601": "2024-12-04T21:45:32.009564Z",
"url": "https://files.pythonhosted.org/packages/07/1b/27567ac12cf8f11ebe33063a1c70e35916c6b2c352bba474163f8e7820f0/deltalake-0.22.3-cp39-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8272d0539a363440277b5d80acef57fde116b5b8426e98d56b02c97205420aa5",
"md5": "1560c580515ebc48a24097e82b80e7d9",
"sha256": "1a80c51f4b44872a63dea2d6d544db07ec24cf359397c0cd25f71430088229af"
},
"downloads": -1,
"filename": "deltalake-0.22.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "1560c580515ebc48a24097e82b80e7d9",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 40972161,
"upload_time": "2024-12-04T22:02:50",
"upload_time_iso_8601": "2024-12-04T22:02:50.589477Z",
"url": "https://files.pythonhosted.org/packages/82/72/d0539a363440277b5d80acef57fde116b5b8426e98d56b02c97205420aa5/deltalake-0.22.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7c0995abe066d746fb3be6c74dce78f3c847edf8b274062fb73b0b5afdae3d8f",
"md5": "de0d0c3149f5da7cf4c4473e0c01c352",
"sha256": "636c657ac0a6f439c4f6a180f43f4d521e91ced8a8041cb69001de0e566518b9"
},
"downloads": -1,
"filename": "deltalake-0.22.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "de0d0c3149f5da7cf4c4473e0c01c352",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 42479579,
"upload_time": "2024-12-04T21:47:06",
"upload_time_iso_8601": "2024-12-04T21:47:06.144028Z",
"url": "https://files.pythonhosted.org/packages/7c/09/95abe066d746fb3be6c74dce78f3c847edf8b274062fb73b0b5afdae3d8f/deltalake-0.22.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f6c410f33c1b6aee253fe88ba4ad02d7ab1532b2de9f91a9df5b1e435e9fabdb",
"md5": "7134e480560a315613afc99d8a335f24",
"sha256": "65d9b477ff6e7ae2333da86d268551b3c7ff6654ba65f1c4900670f8ad6fba2b"
},
"downloads": -1,
"filename": "deltalake-0.22.3-cp39-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "7134e480560a315613afc99d8a335f24",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 33800019,
"upload_time": "2024-12-04T21:58:37",
"upload_time_iso_8601": "2024-12-04T21:58:37.092592Z",
"url": "https://files.pythonhosted.org/packages/f6/c4/10f33c1b6aee253fe88ba4ad02d7ab1532b2de9f91a9df5b1e435e9fabdb/deltalake-0.22.3-cp39-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ee04cc8e66e583888feb072cb60f891d69fb0fb816a7d91cf4acc1ae047e852d",
"md5": "3b60f52f4fda891898416afb0691f3a8",
"sha256": "5e753a000a4710b0e2a3c3793fd5383599c7a7d4fb86846ed2513e8ca41f2d9a"
},
"downloads": -1,
"filename": "deltalake-0.22.3.tar.gz",
"has_sig": false,
"md5_digest": "3b60f52f4fda891898416afb0691f3a8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 4902085,
"upload_time": "2024-12-04T21:47:09",
"upload_time_iso_8601": "2024-12-04T21:47:09.254163Z",
"url": "https://files.pythonhosted.org/packages/ee/04/cc8e66e583888feb072cb60f891d69fb0fb816a7d91cf4acc1ae047e852d/deltalake-0.22.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-04 21:47:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "delta-io",
"github_project": "delta-rs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "deltalake"
}