From 747652af340e62b58925d3f32a7b721b05e57872 Mon Sep 17 00:00:00 2001 From: Volodymyr Kot Date: Sun, 26 Jul 2026 11:55:56 +0000 Subject: [PATCH] build: bump pyiceberg-core from 0.9.1 to 0.10.0 --- mkdocs/docs/api.md | 2 +- pyproject.toml | 7 +++++-- uv.lock | 38 ++++++++++++++++++++++---------------- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/mkdocs/docs/api.md b/mkdocs/docs/api.md index b23f7b976e..167d5f27ce 100644 --- a/mkdocs/docs/api.md +++ b/mkdocs/docs/api.md @@ -2123,7 +2123,7 @@ PyIceberg integrates with [Apache DataFusion](https://datafusion.apache.org/) th The integration has a few caveats: - - Only works with `datafusion == 51`, aligns with the version used in `pyiceberg-core` + - Only works with `datafusion == 54`, aligns with the version used in `pyiceberg-core` - Depends directly on `iceberg-rust` instead of PyIceberg's implementation - Has limited features compared to the full PyIceberg API diff --git a/pyproject.toml b/pyproject.toml index 894a946667..8411ef18e6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -93,8 +93,11 @@ sql-sqlite = ["sqlalchemy>=2.0.18,<3"] gcsfs = ["gcsfs>=2023.1.0"] rest-sigv4 = ["boto3>=1.24.59"] hf = ["huggingface-hub>=0.24.0"] -pyiceberg-core = ["pyiceberg-core>=0.5.1,<0.10.0"] -datafusion = ["datafusion>=52,<53"] +# `pyiceberg-core` bundles a `datafusion-ffi` build, and the DataFusion FFI ABI is not stable +# across major versions (https://github.com/apache/datafusion/issues/17374). The two ranges below +# must name the same DataFusion major version: pyiceberg-core 0.10.x bundles datafusion-ffi 54.x. +pyiceberg-core = ["pyiceberg-core>=0.10.0,<0.11.0"] +datafusion = ["datafusion>=54,<55"] gcp-auth = ["google-auth>=2.4.0"] entra-auth = ["azure-identity>=1.25.1"] geoarrow = ["geoarrow-pyarrow>=0.2.0"] diff --git a/uv.lock b/uv.lock index 3351821808..5426e2e292 100644 --- a/uv.lock +++ b/uv.lock @@ -1205,19 +1205,25 @@ wheels = [ [[package]] name = "datafusion" -version = "52.3.0" +version = "54.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ + { name = "cloudpickle" }, { name = "pyarrow" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/db/d4/a5ad7b665a80008901892fde61dc667318db0652a955d706ddca3a224b5a/datafusion-52.3.0.tar.gz", hash = "sha256:2e8b02ad142b1a0d673f035d96a0944a640ac78275003d7e453cee4afe4a20a4", size = 205026, upload-time = "2026-03-16T10:54:07.739Z" } +sdist = { url = "https://files.pythonhosted.org/packages/60/90/886f7e9cf827f07ebd60bd293e54e0a028a50dd49bbaef0ee42aae1981ea/datafusion-54.0.0.tar.gz", hash = "sha256:cfe7e8dfc026efc05824f49b53ad6a72caf5c2d6820759b6212a09e245a427ed", size = 276448, upload-time = "2026-06-29T11:19:34.816Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/55/63/1bb0737988cefa77274b459d64fa4b57ba4cf755639a39733e9581b5d599/datafusion-52.3.0-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:a73f02406b2985b9145dd97f8221a929c9ef3289a8ba64c6b52043e240938528", size = 31503230, upload-time = "2026-03-16T10:53:50.312Z" }, - { url = "https://files.pythonhosted.org/packages/d6/e3/ea3b79239953c3044d19d8e9581015da025b6640796db03799e435b17910/datafusion-52.3.0-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:118a1f0add6a3f91fcbc90c71819fe08750e2981637d5e7b346e099e94a20b8b", size = 28159497, upload-time = "2026-03-16T10:53:54.032Z" }, - { url = "https://files.pythonhosted.org/packages/24/c8/7d325feb4b7509ae03857fd7e164e95ec72e8c9f3dfd3178ec7f80d53977/datafusion-52.3.0-cp310-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:253ce7aee5fe84bd6ee290c20608114114bdb5115852617f97d3855d36ad9341", size = 30769154, upload-time = "2026-03-16T10:53:57.835Z" }, - { url = "https://files.pythonhosted.org/packages/37/ee/478689c69b3cb1ccabb2d52feac0c181f6cdf20b51a81df35344b1dab9a6/datafusion-52.3.0-cp310-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2af3469d2f06959bec88579ab107a72f965de18b32e607069bbdd0b859ed8dbb", size = 33060335, upload-time = "2026-03-16T10:54:01.715Z" }, - { url = "https://files.pythonhosted.org/packages/1c/48/01906ab5c1a70373c6874ac5192d03646fa7b94d9ff06e3f676cb6b0f43f/datafusion-52.3.0-cp310-abi3-win_amd64.whl", hash = "sha256:9fb35738cf4dbff672dbcfffc7332813024cb0ad2ab8cda1fb90b9054277ab0c", size = 33765807, upload-time = "2026-03-16T10:54:05.728Z" }, + { url = "https://files.pythonhosted.org/packages/46/58/4c5b981e3d9ade32a906c15a4941eef50c9b862781cdc14bf4dff48d026a/datafusion-54.0.0-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:946f55e48b8d523d7b4ac106bdf588b4493c2c66f81877d6952aafeaf7c3ec73", size = 39810553, upload-time = "2026-06-29T11:19:02.1Z" }, + { url = "https://files.pythonhosted.org/packages/66/e5/5e4dbd42ce9a2affb3be90d9ab17cebde1a6f28b0d9fb4b83d612d5c8e42/datafusion-54.0.0-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:2a3bf43185c7e43e25242e5fb17b6a11b86bf976434c0bc493fdedbd9a080969", size = 37145255, upload-time = "2026-06-29T11:19:05.491Z" }, + { url = "https://files.pythonhosted.org/packages/c6/5e/dbb9e6e3e5006d34f295d7ac73f1302c8f2df140666402a06e6c55028edb/datafusion-54.0.0-cp310-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:9432bf162381e9282cbc74915b8b773895de18be836f7e3f6d0de4d981f24630", size = 38853856, upload-time = "2026-06-29T11:19:08.732Z" }, + { url = "https://files.pythonhosted.org/packages/a8/81/e69008e3479f4d0134875bc4ae39503bedcd55ca2597e71392c963c651b4/datafusion-54.0.0-cp310-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3bcd4d213fa74710e75e6e182cc468c2bdbc5ffc74a08c8155d414fbbfa1b3f6", size = 41050149, upload-time = "2026-06-29T11:19:12.108Z" }, + { url = "https://files.pythonhosted.org/packages/61/d4/8ba6e3fe3291c9ccc94b5ca3ec3c1fbcbfbe5ece5ffb965e4550844e2c56/datafusion-54.0.0-cp310-abi3-win_amd64.whl", hash = "sha256:b934e097e1bdca7d5768a81ac1bc4a1812cb459269f8b1a5d892a5d930f18376", size = 43444869, upload-time = "2026-06-29T11:19:15.963Z" }, + { url = "https://files.pythonhosted.org/packages/9d/41/5608323226f21a0fa180823c531dbc0ed270e9b694f299b7647505cb6a06/datafusion-54.0.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:c4e79048da82ad89b768bd0be7df39254cd2a0afe2b719d1f129e8a7229af683", size = 39796248, upload-time = "2026-06-29T11:19:19.208Z" }, + { url = "https://files.pythonhosted.org/packages/18/81/392ee323104ab14ca689384723b69e137064a828233c165574f97a74c0e9/datafusion-54.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:fe57038003b18e28b90752c1e32b44af74ec4f552a1904aee725e1129a00c447", size = 37153577, upload-time = "2026-06-29T11:19:22.397Z" }, + { url = "https://files.pythonhosted.org/packages/40/c4/ebd5ef5349ecbea7f5f9da76c213581c13e7bbe1b5735c9925b279eeb4eb/datafusion-54.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:574f642832a106456cfc4f32aa82484c504fc32f4be2b510202bcb579de8e6d1", size = 38849839, upload-time = "2026-06-29T11:19:25.783Z" }, + { url = "https://files.pythonhosted.org/packages/5a/b9/2383d30d317bb913cab97dbf2e6e1d5f37f594860d5c5bc176e025cf7d4a/datafusion-54.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:796fd5683927443c5bc61999d00b9007ef9b5ce107725ea8d241df718860985d", size = 41074623, upload-time = "2026-06-29T11:19:29.119Z" }, + { url = "https://files.pythonhosted.org/packages/35/5c/553fd1107dede0a56727fda7216a7198d41394f2d19697f4fb104cc695ea/datafusion-54.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:64973c63874ec31670dd97b32b18af7b07fad679cb20d58ed154038e3a5c204e", size = 43438801, upload-time = "2026-06-29T11:19:32.799Z" }, ] [[package]] @@ -5034,7 +5040,7 @@ requires-dist = [ { name = "cachetools", specifier = ">=5.5" }, { name = "click", specifier = ">=7.1.1" }, { name = "daft", marker = "extra == 'daft'", specifier = ">=0.7.10" }, - { name = "datafusion", marker = "extra == 'datafusion'", specifier = ">=52,<53" }, + { name = "datafusion", marker = "extra == 'datafusion'", specifier = ">=54,<55" }, { name = "duckdb", marker = "extra == 'duckdb'", specifier = ">=0.5.0" }, { name = "fsspec", specifier = ">=2023.1.0" }, { name = "gcsfs", marker = "extra == 'gcsfs'", specifier = ">=2023.1.0" }, @@ -5053,7 +5059,7 @@ requires-dist = [ { name = "pyarrow", marker = "extra == 'pyarrow'", specifier = ">=18.0.0" }, { name = "pyarrow", marker = "extra == 'ray'", specifier = ">=18.0.0" }, { name = "pydantic", specifier = ">=2.0,!=2.4.0,!=2.4.1,!=2.12.0,!=2.12.1,<3.0" }, - { name = "pyiceberg-core", marker = "extra == 'pyiceberg-core'", specifier = ">=0.5.1,<0.10.0" }, + { name = "pyiceberg-core", marker = "extra == 'pyiceberg-core'", specifier = ">=0.10.0,<0.11.0" }, { name = "pyparsing", specifier = ">=3.1.0" }, { name = "pyroaring", specifier = ">=1.0.0" }, { name = "python-snappy", marker = "extra == 'snappy'", specifier = ">=0.6.0" }, @@ -5115,15 +5121,15 @@ notebook = [{ name = "jupyterlab", specifier = ">=4.0.0" }] [[package]] name = "pyiceberg-core" -version = "0.9.1" +version = "0.10.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9d/c2/dd7bf4754236d38fe19c1e024bb18197b7194b534f5b47d343e31839013b/pyiceberg_core-0.9.1.tar.gz", hash = "sha256:7e146e7a8a26f5f9cc6a3d09eb16071774d4e95eb5980a34484cdeaf18109df9", size = 694622, upload-time = "2026-05-06T22:45:11.609Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/d8/c41bdf6a8493b6ec1932551c42fb935c178ee195387f5a1f6bdac296a644/pyiceberg_core-0.10.0.tar.gz", hash = "sha256:1c3470fd8eb38684e06d9a80c79a9200268c5779d9c65a467e3caf484dfc0ec9", size = 904038, upload-time = "2026-07-21T09:57:29.285Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/41/99/3c980d5257301365daf9e23424ed6dd2db740e22640785a2eb9c9c6a4060/pyiceberg_core-0.9.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:adf72ef90b8714ced5e4a1be402441133f8864d2282b80933c1dacfe5ea9ea29", size = 18455006, upload-time = "2026-05-06T22:45:00.47Z" }, - { url = "https://files.pythonhosted.org/packages/ce/11/54ee9a3b55817ab2cd0012e03070bd67104ff42832c042414c9b0050831c/pyiceberg_core-0.9.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6067c7923b7d7c416122e87f670cc655e220e69f9442f5c0f477655217e67176", size = 8799496, upload-time = "2026-05-06T22:45:03.079Z" }, - { url = "https://files.pythonhosted.org/packages/4d/8f/65c46aad223907923d7f4b4457f924d34864daa225aafb8c3f13e4c72562/pyiceberg_core-0.9.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8961ed835d6cb5522e2afb25a15df5c74164542ba945a14391878596b61ba909", size = 10400874, upload-time = "2026-05-06T22:45:05.041Z" }, - { url = "https://files.pythonhosted.org/packages/3a/53/da34104bd3f0c844bf777a98c970bece3e220995b09e723fcbdcff785c0f/pyiceberg_core-0.9.1-cp310-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c4738c314a43341533d02683318e8b8c1361df01bd2880bf1ea563207edc6165", size = 10873322, upload-time = "2026-05-06T22:45:07.154Z" }, - { url = "https://files.pythonhosted.org/packages/5b/a2/a455ec2b0ff531680006960784deea70c744a1f2142c866d3540bbcfae6e/pyiceberg_core-0.9.1-cp310-abi3-win_amd64.whl", hash = "sha256:52f99f6ed8697593acbb5890f2da3b17c699265add15cedd7a148821744677c0", size = 9925793, upload-time = "2026-05-06T22:45:09.633Z" }, + { url = "https://files.pythonhosted.org/packages/76/de/d1bf3e28b2425c97254c29e46e028820b6ff915d1b96d247509f6d50ff5b/pyiceberg_core-0.10.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:9dc8711b4a22d0ccf08f6f85b33b9715a97138092b0eb99ed0199c91e1e34c8a", size = 25534739, upload-time = "2026-07-21T09:57:18.235Z" }, + { url = "https://files.pythonhosted.org/packages/32/28/3e644966050c1f55f4963736e555ba0bb33ba2942d9d24d365d521aadb5c/pyiceberg_core-0.10.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29e3131060c1c02ce54903cd6fa557947724ad0e9561ff671e2883d55c10873a", size = 12019490, upload-time = "2026-07-21T09:57:20.682Z" }, + { url = "https://files.pythonhosted.org/packages/db/10/9458435ecad2dc5bd7d588a8aef957eb565f0ee413de52aa84a3c53e401c/pyiceberg_core-0.10.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2368546ede9f6ee9856079c96842e19f060fc3f6f26d1064b9d59705587b77", size = 14434024, upload-time = "2026-07-21T09:57:22.91Z" }, + { url = "https://files.pythonhosted.org/packages/d8/e6/f684e6779a6d9376951c885b1818967f907bc13642bad2b0277b3daf8fad/pyiceberg_core-0.10.0-cp310-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:a470ab6fbb598335515c274b23abd0b4d9f7abfd8bb3197458579160409eccb1", size = 14917794, upload-time = "2026-07-21T09:57:25.092Z" }, + { url = "https://files.pythonhosted.org/packages/a8/07/9fa4ce4bcfbc7638304b5a5dbea50e3bf0579b8f3710e45c844c6540ca96/pyiceberg_core-0.10.0-cp310-abi3-win_amd64.whl", hash = "sha256:bbf7439bc2d3cd707fea0ae004780839ecc8714f51c8fa11635ad10263c070ed", size = 13638277, upload-time = "2026-07-21T09:57:27.291Z" }, ] [[package]]