
    *#hG                         d dl Z d dlZd dlZd dlmZ d dlmZmZmZmZ ddl	m
Z
  edd      Z ed	
       G d de j                               Zy)    N)	dataclass)ClassVarDictTypeTypeVar   )FeaturesTTaskTemplate)boundT)frozenc                       e Zd ZU eed<   ee   ed<   ee   ed<   dededefdZe	defd       Z
e	ej                  deeef   fd	              Zed
ee   dedefd       Zy)r   taskinput_schemalabel_schemaselffeaturesreturnc                 ,    t        j                  |       S )z8
        Align features with the task template.
        )copydeepcopy)r   r   s     P/var/www/html/sandstorm/venv/lib/python3.12/site-packages/datasets/tasks/base.pyalign_with_featuresz TaskTemplate.align_with_features   s    
 }}T""    c                 D    t        di | j                  | j                  S N )r	   r   r   r   s    r   r   zTaskTemplate.features   s!    A$++At/@/@AAr   c                     t         )N)NotImplementedErrorr   s    r   column_mappingzTaskTemplate.column_mapping   s
     "!r   clstemplate_dictc           
          t        j                  |       D ch c]  }|j                   }} | di |j                         D ci c]  \  }}||v s|| c}}S c c}w c c}}w r   )dataclassesfieldsnameitems)r"   r#   ffield_nameskvs         r   	from_dictzTaskTemplate.from_dict$   s^    '2'9'9#'>?!qvv??R}':':'<Qtq![@PadQRR @Qs   AA!A!N)__name__
__module____qualname__str__annotations__r   r	   r
   r   propertyr   abcabstractmethodr   r!   classmethodr   dictr-   r   r   r   r   r      s     I8$$8$$#! #x #A # B( B B "S#X "  " StAw St S S Sr   )r4   r   r%   r   typingr   r   r   r   r   r	   r
   ABCr   r   r   r   <module>r:      sO    
   ! 0 0  C~& $S377 S Sr   