
    Ng                     J    d dl mZmZ d dlmZ d dlmZ  G d de          ZdS )    )AnyIterator)Document)BaseDataFrameLoaderc                   J     e Zd ZdZdddedef fdZdee         fdZ	 xZ
S )	PolarsDataFrameLoaderzLoad `Polars` DataFrame.textpage_content_column
data_framer   c                    ddl }t          ||j                  st          dt	          |                     t                                          ||           dS )zInitialize with dataframe object.

        Args:
            data_frame: Polars DataFrame object.
            page_content_column: Name of the column containing the page content.
              Defaults to "text".
        r   Nz.Expected data_frame to be a pl.DataFrame, got r
   )polars
isinstance	DataFrame
ValueErrortypesuper__init__)selfr   r   pl	__class__s       q/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/document_loaders/polars_dataframe.pyr   zPolarsDataFrameLoader.__init__   sp     	*bl33 	SjAQAQSS   	9LMMMMM    returnc              #      K   | j                             d          D ]<}|| j                 }|                    | j                   t	          ||          V  =dS )z!Lazy load records from dataframe.T)named)page_contentmetadataN)r   	iter_rowsr   popr   )r   rowr	   s      r   	lazy_loadzPolarsDataFrameLoader.lazy_load   sr       ?,,4,88 	< 	<Ct/0DGGD,---s;;;;;;;	< 	<r   )__name__
__module____qualname____doc__r   strr   r   r   r"   __classcell__)r   s   @r   r   r      s        ""FL N N N3 N N N N N N N <8H- < < < < < < < <r   r   N)typingr   r   langchain_core.documentsr   .langchain_community.document_loaders.dataframer   r    r   r   <module>r-      sv                    - - - - - - N N N N N N< < < < </ < < < < <r   