a
    bg                     @   s<   d dl mZmZ d dlmZ d dlmZ G dd deZdS )    )AnyIterator)Document)BaseDataFrameLoaderc                       s@   e Zd ZdZddeed fddZee ddd	Z	  Z
S )
PolarsDataFrameLoaderzLoad `Polars` DataFrame.textpage_content_column)
data_framer	   c                   s:   ddl }t||js&tdt| t j||d 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   )Zpolars
isinstanceZ	DataFrame
ValueErrortypesuper__init__)selfr
   r	   pl	__class__ /var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/document_loaders/polars_dataframe.pyr      s    zPolarsDataFrameLoader.__init__)returnc                 c   s<   | j jddD ](}|| j }|| j t||dV  qdS )z!Lazy load records from dataframe.T)named)Zpage_contentmetadataN)r
   Z	iter_rowsr	   popr   )r   rowr   r   r   r   	lazy_load   s    
zPolarsDataFrameLoader.lazy_load)__name__
__module____qualname____doc__r   strr   r   r   r   __classcell__r   r   r   r   r      s   r   N)typingr   r   Zlangchain_core.documentsr   Z.langchain_community.document_loaders.dataframer   r   r   r   r   r   <module>   s   