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,25 +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.
752-
753- Plain :py:class:`~datafusion.dataframe.DataFrame` objects are not supported;
754- convert them first with :meth:`datafusion.dataframe.DataFrame.into_view` or
755- :meth:`datafusion.catalog.TableProvider.from_dataframe`.
749+ The registered table can be referenced from SQL statement executed against.
756750
757751 Args:
758752 name: Name of the resultant table.
759- table: DataFusion :class:`Table` or :class:`TableProvider` to add to the
760- session context.
753+ table: DataFusion table to add to the session context.
761754 """
762- if isinstance (table , Table ):
763- self .ctx .register_table (name , table .table )
764- else :
765- self .ctx .register_table (name , table )
755+ self .ctx .register_table (name , table .table )
766756
767757 def deregister_table (self , name : str ) -> None :
768758 """Remove a table from the session."""
@@ -782,18 +772,14 @@ def register_catalog_provider(
782772 self .ctx .register_catalog_provider (name , provider )
783773
784774 def register_table_provider (
785- self , name : str , provider : TableProviderExportable | TableProvider
775+ self , name : str , provider : TableProviderExportable
786776 ) -> None :
787777 """Register a table provider.
788778
789- 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``.
790781 """
791- warnings .warn (
792- "register_table_provider is deprecated; use register_table" ,
793- DeprecationWarning ,
794- stacklevel = 2 ,
795- )
796- self .register_table (name , provider )
782+ self .ctx .register_table_provider (name , provider )
797783
798784 def register_udtf (self , func : TableFunction ) -> None :
799785 """Register a user defined table function."""
0 commit comments