o
    QDi                     @  s   d dl mZ d dlZd dlmZmZmZmZmZ d dl	Z	ddl
mZmZmZ ddlmZ ddlmZ er@ddlmZ dd	lmZ e	jd
ddG dd deZdS )    )annotationsN)TYPE_CHECKINGAnyClassVarOptionalUnion   )errorssettingstypes)Metadata)system)Package)ResourceTF)kw_onlyreprc                      s   e Zd ZU dZdZded< 	 ded< 	 dZded< 	 dZded< 	 d ddZd!ddZ	e
d" fddZdZejZddgdejddejdddiddiddZe
d#ddZ  ZS )$StepzIStep representation.

    A base class for all the step subclasses.

    NOptional[str]namezClassVar[str]typetitledescriptionresourcer   c                 C     dS )zTransform resource

        Parameters:
            resource (Resource): resource

        Returns:
            resource (Resource): resource
        N )selfr   r   r   S/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/pipeline/step.pytransform_resource=      	zStep.transform_resourcepackager   c                 C  r   )zTransform package

        Parameters:
            package (Package): package

        Returns:
            package (Package): package
        Nr   )r   r   r   r   r   transform_packageH   r   zStep.transform_package
descriptorUnion[str, types.IDescriptor]argsr   kwargsc                   sX   |  |}|dd }|r|d| d}|d7 }t|t t j|g|R i |S )Ncoder   z,Step "code" is deprecated in favor of "type"z.(it will be removed in the next major version))metadata_retrievepop
setdefaultwarningswarnUserWarningsuperfrom_descriptor)clsr!   r#   r$   r%   note	__class__r   r   r-   U   s   
zStep.from_descriptorstepobjectstring)r   pattern)r   r   r   r   )r   required
propertiesc                 C  s
   t |S )N)r   select_step_class)r.   r   r   r   r   metadata_select_classt   s   
zStep.metadata_select_class)r   r   )r   r   )r!   r"   r#   r   r$   r   )r   r   )__name__
__module____qualname____doc__r   __annotations__r   r   r   r    classmethodr-   metadata_typer	   	StepErrormetadata_Errorr
   NAME_PATTERNTYPE_PATTERNmetadata_profiler9   __classcell__r   r   r0   r   r      s4   
 



r   )
__future__r   r)   typingr   r   r   r   r   attrs r	   r
   r   metadatar   r   r   r   r   r   definer   r   r   r   r   <module>   s    