Skip to content

Commit 4071d39

Browse files
Build: Bump datafusion to 52.3.0 and pyiceberg-core to 0.9.0 (#3171)
<!-- Thanks for opening a pull request! --> <!-- In the case this PR will resolve an issue, please replace ${GITHUB_ISSUE_ID} below with the actual Github issue id. --> <!-- Closes #${GITHUB_ISSUE_ID} --> # Rationale for this change Upgrade deps * datafusion 51 -> 52.3 * pyiceberg-core 0.8.0 -> 0.9.0 Update `__datafusion_table_provider__` to take in `session` param as per [df 52 migration guide](https://github.com/apache/datafusion-python/blob/85a3595444e7946dc4eaa166cb4843bee2bf2f07/docs/source/user-guide/upgrade-guides.rst#datafusion-5200) Prevent `dependabot` from auto update `datafusion`, we do it manually ## Are these changes tested? ## Are there any user-facing changes? <!-- In the case of user-facing changes, please add the changelog label. --> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 269476e commit 4071d39

File tree

4 files changed

+27
-25
lines changed

4 files changed

+27
-25
lines changed

.github/dependabot.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ updates:
2424
schedule:
2525
interval: "weekly"
2626
open-pull-requests-limit: 50
27+
ignore:
28+
- dependency-name: "datafusion"
2729
- package-ecosystem: "github-actions"
2830
directory: "/"
2931
schedule:

pyiceberg/table/__init__.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,7 +1559,7 @@ def to_polars(self) -> pl.LazyFrame:
15591559

15601560
return pl.scan_iceberg(self)
15611561

1562-
def __datafusion_table_provider__(self) -> IcebergDataFusionTable:
1562+
def __datafusion_table_provider__(self, session: Any | None = None) -> IcebergDataFusionTable:
15631563
"""Return the DataFusion table provider PyCapsule interface.
15641564
15651565
To support DataFusion features such as push down filtering, this function will return a PyCapsule
@@ -1598,11 +1598,12 @@ def __datafusion_table_provider__(self) -> IcebergDataFusionTable:
15981598
"""
15991599
from pyiceberg_core.datafusion import IcebergDataFusionTable
16001600

1601-
return IcebergDataFusionTable(
1601+
provider = IcebergDataFusionTable(
16021602
identifier=self.name(),
16031603
metadata_location=self.metadata_location,
16041604
file_io_properties=self.io.properties,
1605-
).__datafusion_table_provider__()
1605+
).__datafusion_table_provider__
1606+
return provider(session)
16061607

16071608

16081609
class StaticTable(Table):

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ pyiceberg = "pyiceberg.cli.console:run"
5555
[project.optional-dependencies]
5656
pyarrow = [
5757
"pyarrow>=17.0.0",
58-
"pyiceberg-core>=0.5.1,<0.9.0",
58+
"pyiceberg-core>=0.5.1,<0.10.0",
5959
]
6060
pandas = [
6161
"pandas>=1.0.0",
@@ -93,8 +93,8 @@ sql-sqlite = ["sqlalchemy>=2.0.18,<3"]
9393
gcsfs = ["gcsfs>=2023.1.0"]
9494
rest-sigv4 = ["boto3>=1.24.59"]
9595
hf = ["huggingface-hub>=0.24.0"]
96-
pyiceberg-core = ["pyiceberg-core>=0.5.1,<0.9.0"]
97-
datafusion = ["datafusion>=51,<52"]
96+
pyiceberg-core = ["pyiceberg-core>=0.5.1,<0.10.0"]
97+
datafusion = ["datafusion>=52,<53"]
9898
gcp-auth = ["google-auth>=2.4.0"]
9999
entra-auth = ["azure-identity>=1.25.1"]
100100
geoarrow = ["geoarrow-pyarrow>=0.2.0"]

uv.lock

Lines changed: 18 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)