Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions mkdocs/docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1941,7 +1941,7 @@ PyIceberg integrates with [Apache DataFusion](https://datafusion.apache.org/) th

The integration has a few caveats:

- Only works with `datafusion >= 45, < 49`
- Only works with `datafusion == 51`, 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

Expand All @@ -1967,7 +1967,7 @@ iceberg_table.append(data)

# Register the table with DataFusion
ctx = SessionContext()
ctx.register_table_provider("test", iceberg_table)
ctx.register_table("test", iceberg_table)

# Query the table using DataFusion SQL
ctx.table("test").show()
Expand Down
4 changes: 2 additions & 2 deletions pyiceberg/table/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1601,7 +1601,7 @@ def __datafusion_table_provider__(self) -> IcebergDataFusionTable:
To support DataFusion features such as push down filtering, this function will return a PyCapsule
interface that conforms to the FFI Table Provider required by DataFusion. From an end user perspective
you should not need to call this function directly. Instead you can use ``register_table_provider`` in
you should not need to call this function directly. Instead you can use ``register_table`` in
the DataFusion SessionContext.
Returns:
Expand All @@ -1618,7 +1618,7 @@ def __datafusion_table_provider__(self) -> IcebergDataFusionTable:
iceberg_table = catalog.create_table("default.test", schema=data.schema)
iceberg_table.append(data)
ctx = SessionContext()
ctx.register_table_provider("test", iceberg_table)
ctx.register_table("test", iceberg_table)
ctx.table("test").show()
```
Results in
Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ pyiceberg = "pyiceberg.cli.console:run"
[project.optional-dependencies]
pyarrow = [
"pyarrow>=17.0.0",
"pyiceberg-core>=0.5.1,<0.8.0",
"pyiceberg-core>=0.5.1,<0.9.0",
]
pandas = [
"pandas>=1.0.0,<3.0.0",
Expand Down Expand Up @@ -94,8 +94,8 @@ 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.8.0"]
datafusion = ["datafusion>=45,<49"]
pyiceberg-core = ["pyiceberg-core>=0.5.1,<0.9.0"]
datafusion = ["datafusion>=51,<52"]
gcp-auth = ["google-auth>=2.4.0"]

[dependency-groups]
Expand Down
2 changes: 1 addition & 1 deletion tests/table/test_datafusion.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def test_datafusion_register_pyiceberg_table(catalog: Catalog, arrow_table_with_
iceberg_table.append(arrow_table_with_null)

ctx = SessionContext()
ctx.register_table_provider("test", iceberg_table)
ctx.register_table("test", iceberg_table)

datafusion_table = ctx.table("test")
assert datafusion_table is not None
Expand Down
36 changes: 19 additions & 17 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.