4646 import pandas as pd
4747 import polars as pl
4848
49- from datafusion import TableProvider
5049 from datafusion .plan import ExecutionPlan , LogicalPlan
5150
5251
@@ -735,7 +734,7 @@ def from_polars(self, data: pl.DataFrame, name: str | None = None) -> DataFrame:
735734 # https://github.com/apache/datafusion-python/pull/1016#discussion_r1983239116
736735 # is the discussion on how we arrived at adding register_view
737736 def register_view (self , name : str , df : DataFrame ) -> None :
738- """Register a :py:class:`~datafusion.dataframe .DataFrame` as a view.
737+ """Register a :py:class: `~datafusion.detaframe .DataFrame` as a view.
739738
740739 Args:
741740 name (str): The name to register the view under.
@@ -744,21 +743,16 @@ def register_view(self, name: str, df: DataFrame) -> None:
744743 view = df .into_view ()
745744 self .ctx .register_table (name , view )
746745
747- def register_table (self , name : str , table : Table | TableProvider ) -> None :
748- """Register a :py:class:`~datafusion.catalog.Table` or ``TableProvider`` .
746+ def register_table (self , name : str , table : Table ) -> None :
747+ """Register a :py:class: `~datafusion.catalog.Table` as a table .
749748
750- The registered table can be referenced from SQL statements executed against
751- this context.
749+ The registered table can be referenced from SQL statement executed against.
752750
753751 Args:
754752 name: Name of the resultant table.
755- table: DataFusion :class:`Table` or :class:`TableProvider` to add to the
756- session context.
753+ table: DataFusion table to add to the session context.
757754 """
758- if isinstance (table , Table ):
759- self .ctx .register_table (name , table .table )
760- else :
761- self .ctx .register_table (name , table )
755+ self .ctx .register_table (name , table .table )
762756
763757 def deregister_table (self , name : str ) -> None :
764758 """Remove a table from the session."""
@@ -778,18 +772,14 @@ def register_catalog_provider(
778772 self .ctx .register_catalog_provider (name , provider )
779773
780774 def register_table_provider (
781- self , name : str , provider : TableProviderExportable | TableProvider
775+ self , name : str , provider : TableProviderExportable
782776 ) -> None :
783777 """Register a table provider.
784778
785- Deprecated: use :meth:`register_table` instead.
779+ This table provider must have a method called ``__datafusion_table_provider__``
780+ which returns a PyCapsule that exposes a ``FFI_TableProvider``.
786781 """
787- warnings .warn (
788- "register_table_provider is deprecated; use register_table" ,
789- DeprecationWarning ,
790- stacklevel = 2 ,
791- )
792- self .register_table (name , provider )
782+ self .ctx .register_table_provider (name , provider )
793783
794784 def register_udtf (self , func : TableFunction ) -> None :
795785 """Register a user defined table function."""
0 commit comments