o
    ̳i                     @   s   U d dl Z d dlmZmZmZmZmZmZ d dlm	Z	m
Z
 d dlmZ e	r.d dlmZmZ nedZG dd dee ZG d	d
 d
eZeeeef  Zeed< dd ZdedefddZdS )    N)AnyCallableIterableIteratorMappingTypeVar)_TORCHDATA_INSTALLED_TORCHDATA_MIN_VERSION)	TypeAlias)BaseNodeLoaderTc                   @      e Zd Zdd ZdS )r   c                 O   s   d S N selfargskwargsr   r   M/home/ubuntu/.local/lib/python3.10/site-packages/torchtune/data/_torchdata.py__init__   s   zBaseNode.__init__N__name__
__module____qualname__r   r   r   r   r   r          r   c                   @   r   )r   c                 O   s
   t   d S r   assert_torchdata_installedr   r   r   r   r      s   
zLoader.__init__Nr   r   r   r   r   r      r   r   DatasetTypec                   C   s   t s
tdt dd S )Nzstorchdata is not installed, or the current version is too old. Please (re-)install it with `pip install torchdata>=z`. )r   ImportErrorr	   r   r   r   r   r   !   s   r   funcreturnc                    s   t   fdd}|S )zW
    Decorator to check if torchdata is installed and raise an ImportError if not.
    c                     s   t    | i |S r   r   )r   r   r    r   r   wrapper.   s   z#requires_torchdata.<locals>.wrapper)	functoolswraps)r    r#   r   r"   r   requires_torchdata)   s   r&   )r$   typingr   r   r   r   r   r   torchtune.utils._import_guardr   r	   typing_extensionsr
   torchdata.nodesr   r   r   strr   __annotations__r   r&   r   r   r   r   <module>   s   
 