Ë
    ²Œjì;  ã                   ól  — d dl mZmZmZmZmZmZmZ d dlm	Z	m
Z
 d dlmZ d dlmZmZ d dlmZ d dl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 d dlmZ  G d„ de«      Z  G d„ de«      Z!dddee"ef   de fd„Z# G d„ de«      Z$ G d„ de«      Z%dee"ee"e"f   e f   de"fd„Z&y	# e$ r d d	lZY Œhw xY w)é    )ÚTYPE_CHECKINGÚAnyÚDictÚOptionalÚTupleÚ	TypedDictÚUnion)ÚUnpackÚ
deprecated)ÚAccount)Úasync_encode_jsonÚencode_json)ÚPage)Ú
PredictionÚ_create_prediction_bodyÚ!_create_prediction_request_paramsÚ_json_to_prediction)Ú	NamespaceÚResource)Úv1N)ÚClient)ÚPredictionsc                   óÒ   — e Zd ZU dZ ej
                  «       Zded<   eed<   	 eed<   	  G d„ de	«      Z
ee
   ed<   	 e ed	«      d
efd„«       «       Zed
efd„«       Zedd„«       Zy)Ú
Deploymentz6
    A deployment of a model hosted on Replicate.
    r   Ú_clientÚownerÚnamec                   ót   — e Zd ZU dZeed<   	 eed<   	 eed<   	 eed<   	 ee   ed<   	  G d„ de	«      Z
e
ed	<   y
)úDeployment.Releasez,
        A release of a deployment.
        ÚnumberÚmodelÚversionÚ
created_atÚ
created_byc                   ó4   — e Zd ZU dZeed<   	 eed<   	 eed<   y)ú Deployment.Release.Configurationz;
            A configuration for a deployment.
            ÚhardwareÚmin_instancesÚmax_instancesN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__Úint© ó    ú^/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/replicate/deployment.pyÚConfigurationr&   J   s-   … ñð ‹Mðð Óðð Óðr3   r5   ÚconfigurationN)r+   r,   r-   r.   r1   r0   r/   r   r   r   r5   r2   r3   r4   ÚReleaser   ,   sb   … ñ	ð ‹ð	ð ‹
ð	ð ‹ð	ð ‹ð	ð ˜WÑ%Ó%ð	ô	˜Hô 	ð( %Ó$ð	r3   r7   Úcurrent_releasezUse `deployment.owner` instead.Úreturnc                 ó   — | j                   S )z�
        The name of the user or organization that owns the deployment.
        This attribute is deprecated and will be removed in future versions.
        )r   ©Úselfs    r4   ÚusernamezDeployment.usernameh   s   € ð �z‰zÐr3   c                 ó8   — | j                   › d| j                  › �S )zS
        Return the qualified deployment name, in the format `owner/name`.
        Ú/)r   r   r;   s    r4   ÚidzDeployment.idq   s   € ð
 —*‘*�˜Q˜tŸy™y˜kÐ*Ð*r3   c                 ó0   — t        | j                  | ¬«      S )z:
        Get the predictions for this deployment.
        )ÚclientÚ
deployment)ÚDeploymentPredictionsr   r;   s    r4   ÚpredictionszDeployment.predictionsx   s   € ô %¨D¯L©LÀTÔJÐJr3   N)r9   rD   )r+   r,   r-   r.   ÚpydanticÚPrivateAttrr   r0   r/   r   r7   r   Úpropertyr   r=   r@   rE   r2   r3   r4   r   r      s­   … ñð -˜×,Ñ,Ó.€GˆXÓ.àƒJðð ƒIðô5�(ô 5ðn ˜gÑ&Ó&ðð ÙÐ1Ó2ð˜#ò ó 3ó ðð ð+�Cò +ó ð+ð òKó ñKr3   r   c                   óZ  — e Zd ZU dZded<   	 ddeeddf   dee   fd„Z		 ddeeddf   dee   fd	„Z
d
edefd„Zd
edefd„Z G d„ de«      Zdee   defd„Zdee   defd„Z G d„ ded¬«      Zdededee   defd„Zdededee   defd„Zdededefd„Zdededefd„Zedd„«       Zy)ÚDeploymentsz:
    Namespace for operations related to deployments.
    r   r   ÚcursorÚellipsisNr9   c                 ó  — |€t        d«      ‚| j                  j                  d|du rdn|«      }|j                  «       }|d   D �cg c]  }t	        | j                  |«      ‘Œ c}|d<   t        t           di |¤ŽS c c}w )ú\
        List all deployments.

        Returns:
            A page of Deployments.
        úcursor cannot be NoneÚGET.ú/v1/deploymentsÚresultsr2   )Ú
ValueErrorr   Ú_requestÚjsonÚ_json_to_deploymentr   r   ©r<   rK   ÚrespÚobjÚresults        r4   ÚlistzDeployments.listˆ   s‹   € ð ˆ>ÜÐ4Ó5Ð5à�|‰|×$Ñ$Ø¨°#©Ñ$¸6ó
ˆð �i‰i‹kˆàDGÈ	ÂNó
ÙDR¸&Ô §¡¨fÕ5ÀNñ
ˆˆI‰ô ”JÑÑ& #Ñ&Ð&ùò	
s   ÁA<c              ƒ   ó  K  — |€t        d«      ‚| j                  j                  d|du rdn|«      ƒ d{  –—† }|j                  «       }|d   D �cg c]  }t	        | j                  |«      ‘Œ c}|d<   t        t           di |¤ŽS 7 ŒPc c}w ­w)rN   NrO   rP   .rQ   rR   r2   )rS   r   Ú_async_requestrU   rV   r   r   rW   s        r4   Ú
async_listzDeployments.async_list¡   s™   è ø€ ð ˆ>ÜÐ4Ó5Ð5à—\‘\×0Ñ0Ø¨°#©Ñ$¸6ó
÷ 
ˆð �i‰i‹kˆàDGÈ	ÂNó
ÙDR¸&Ô §¡¨fÕ5ÀNñ
ˆˆI‰ô ”JÑÑ& #Ñ&Ð&ð
úò

ùs!   ‚3BµB¶BÁBÁ.BÂBr   c                 ó¸   — |j                  dd«      \  }}| j                  j                  dd|› d|› �«      }t        | j                  |j	                  «       «      S )ú²
        Get a deployment by name.

        Args:
            name: The name of the deployment, in the format `owner/model-name`.
        Returns:
            The model.
        r?   é   rP   ú/v1/deployments/)Úsplitr   rT   rV   rU   ©r<   r   r   rX   s       r4   ÚgetzDeployments.get¹   sX   € ð —j‘j  aÓ(‰ˆˆtà�|‰|×$Ñ$ØØ˜u˜g Q t fÐ-ó
ˆô
 # 4§<¡<°·±³Ó=Ð=r3   c              ƒ   óÔ   K  — |j                  dd«      \  }}| j                  j                  dd|› d|› �«      ƒ d{  –—† }t        | j                  |j	                  «       «      S 7 Œ(­w)r`   r?   ra   rP   rb   N)rc   r   r]   rV   rU   rd   s       r4   Ú	async_getzDeployments.async_getÌ   sf   è ø€ ð —j‘j  aÓ(‰ˆˆtà—\‘\×0Ñ0ØØ˜u˜g Q t fÐ-ó
÷ 
ˆô
 # 4§<¡<°·±³Ó=Ð=ð
ús   ‚;A(½A&¾)A(c                   óX   — e Zd ZU dZeed<   	 eed<   	 eed<   	 eed<   	 eed<   	 eed<   y)	ú"Deployments.CreateDeploymentParamsz;
        Parameters for creating a new deployment.
        r   r!   r"   r'   r(   r)   Nr*   r2   r3   r4   ÚCreateDeploymentParamsri   ß   s;   … ñ	ð ‹	Ø)à‹
ØXà‹Ø1à‹Ø=àÓØ:àÓØ:r3   rj   Úparamsc                 óê   — |j                  dd«      x}rd|v r|j                  dd«      \  }}||d<   | j                  j                  dd|¬«      }t	        | j                  |j                  «       «      S ©z®
        Create a new deployment.

        Args:
            params: Configuration for the new deployment.
        Returns:
            The newly created Deployment.
        r   Nr?   ra   ÚPOSTrQ   ©rU   )re   rc   r   rT   rV   rU   ©r<   rk   r   Ú_rX   s        r4   ÚcreatezDeployments.createö   sy   € ð —:‘:˜f dÓ+Ð+ˆ4Ð+Ø�d‰{ØŸ*™* S¨!Ó,‘��4Ø!ˆF�6‰Nà�|‰|×$Ñ$ØØØð %ó 
ˆô # 4§<¡<°·±³Ó=Ð=r3   c              ‹   ó  K  — |j                  dd«      x}rd|v r|j                  dd«      \  }}||d<   | j                  j                  dd|¬«      ƒ d{  –—† }t	        | j                  |j                  «       «      S 7 Œ(­wrm   )re   rc   r   r]   rV   rU   rp   s        r4   Úasync_createzDeployments.async_create  s‡   è ø€ ð —:‘:˜f dÓ+Ð+ˆ4Ð+Ø�d‰{ØŸ*™* S¨!Ó,‘��4Ø!ˆF�6‰Nà—\‘\×0Ñ0ØØØð 1ó 
÷ 
ˆô # 4§<¡<°·±³Ó=Ð=ð
ús   ‚ABÁA?Á)Bc                   ó@   — e Zd ZU dZeed<   	 eed<   	 eed<   	 eed<   y)ú"Deployments.UpdateDeploymentParamszA
        Parameters for updating an existing deployment.
        r"   r'   r(   r)   Nr*   r2   r3   r4   ÚUpdateDeploymentParamsrv   &  s+   … ñ	ð ‹Ø1à‹Ø=àÓØ:àÓØ:r3   rw   F)ÚtotalÚdeployment_ownerÚdeployment_namec                 ó’   — | j                   j                  dd|› d|› �|¬«      }t        | j                   |j                  «       «      S )á&  
        Update an existing deployment.

        Args:
            deployment_owner: The owner of the deployment.
            deployment_name: The name of the deployment.
            params: Configuration updates for the deployment.
        Returns:
            The updated Deployment.
        ÚPATCHrb   r?   ro   )r   rT   rV   rU   ©r<   ry   rz   rk   rX   s        r4   ÚupdatezDeployments.update7  sO   € ð" �|‰|×$Ñ$ØØÐ/Ð0°°/Ð1BÐCØð %ó 
ˆô # 4§<¡<°·±³Ó=Ð=r3   c              ‹   ó®   K  — | j                   j                  dd|› d|› �|¬«      ƒ d{  –—† }t        | j                   |j                  «       «      S 7 Œ(­w)r|   r}   rb   r?   ro   N)r   r]   rV   rU   r~   s        r4   Úasync_updatezDeployments.async_updateP  s]   è ø€ ð" —\‘\×0Ñ0ØØÐ/Ð0°°/Ð1BÐCØð 1ó 
÷ 
ˆô # 4§<¡<°·±³Ó=Ð=ð
ús   ‚(AªA«)Ac                 ód   — | j                   j                  dd|› d|› �«      }|j                  dk(  S )z³
        Delete an existing deployment.

        Args:
            deployment_owner: The owner of the deployment.
            deployment_name: The name of the deployment.
        ÚDELETErb   r?   éÌ   )r   rT   Ústatus_code©r<   ry   rz   rX   s       r4   ÚdeletezDeployments.deletei  sA   € ð �|‰|×$Ñ$ØØÐ/Ð0°°/Ð1BÐCó
ˆð ×Ñ 3Ñ&Ð&r3   c              ƒ   ó€   K  — | j                   j                  dd|› d|› �«      ƒ d{  –—† }|j                  dk(  S 7 Œ­w)zÂ
        Delete an existing deployment asynchronously.

        Args:
            deployment_owner: The owner of the deployment.
            deployment_name: The name of the deployment.
        rƒ   rb   r?   Nr„   )r   r]   r…   r†   s       r4   Úasync_deletezDeployments.async_deletew  sO   è ø€ ð —\‘\×0Ñ0ØØÐ/Ð0°°/Ð1BÐCó
÷ 
ˆð ×Ñ 3Ñ&Ð&ð	
ús   ‚&>¨<©>c                 ó.   — t        | j                  ¬«      S )z2
        Get predictions for deployments.
        ©rB   )ÚDeploymentsPredictionsr   r;   s    r4   rE   zDeployments.predictions…  s   € ô &¨T¯\©\Ô:Ð:r3   ).)r9   rŒ   )r+   r,   r-   r.   r0   r	   r/   r   r   r[   r^   re   rg   r   rj   r
   rr   rt   rw   r   r�   Úboolr‡   r‰   rH   rE   r2   r3   r4   rJ   rJ   �   sˆ  … ñð Óð 03ñ'à�c˜: tÐ+Ñ,ð'ð 
ˆjÑ	ó'ð6 03ñ'à�c˜: tÐ+Ñ,ð'ð 
ˆjÑ	ó'ð0>˜ð > 
ó >ð&> Cð >¨Jó >ô&; ô ;ð.>˜vÐ&<Ñ=ð >À*ó >ð.>ØÐ5Ñ6ð>à	ó>ô2; °%õ ;ð">àð>ð ð>ð Ð/Ñ0ð	>ð
 
ó>ð2>àð>ð ð>ð Ð/Ñ0ð	>ð
 
ó>ð2' sð '¸Sð 'ÀTó 'ð'°3ð 'Èð 'ÐQUó 'ð ò;ó ñ;r3   rJ   rB   r   rU   r9   c                 ó*   — t        di |¤Ž}| |_        |S )Nr2   )r   r   )rB   rU   rC   s      r4   rV   rV   Ž  s   € ÜÑ#˜dÑ#€JØ€JÔØÐr3   c                   ó„   ‡ — e Zd ZU dZeed<   dddeddfˆ fd„Zd	eee	f   d
e
d   defd„Zd	eee	f   d
e
d   defd„Zˆ xZS )rD   zJ
    Namespace for operations related to predictions in a deployment.
    Ú_deploymentrB   r   rC   r9   Nc                 ó4   •— t         ‰| �  |¬«       || _        y )Nr‹   )ÚsuperÚ__init__r�   )r<   rB   rC   Ú	__class__s      €r4   r“   zDeploymentPredictions.__init__›  s   ø€ Ü‰Ñ ÐÔ'Ø%ˆÕr3   Úinputrk   ú"Predictions.CreatePredictionParamsc                 ó˜  — |j                  dd«      }|j                  dd«      }|�t        || j                  |¬«      }t        dd|dœ|¤Ž}t	        |¬«      } | j                  j
                  dd| j                  j                  › d	| j                  j                  › d
�fd|i|¤Ž}t        | j                  |j                  «       «      S ©ú>
        Create a new prediction with the deployment.
        ÚwaitNÚfile_encoding_strategy©rB   r›   ©r"   r•   ©rš   rn   rb   r?   ú/predictionsrU   r2   )Úpopr   r   r   r   rT   r�   r   r   r   rU   ©r<   r•   rk   rš   r›   ÚbodyÚextrasrX   s           r4   rr   zDeploymentPredictions.createŸ  sÚ   € ð �z‰z˜& $Ó'ˆØ!'§¡Ð,DÀdÓ!KÐàÐÜØØ—|‘|Ø'=ôˆEô 'ÐK¨t¸5ÑKÀFÑKˆÜ2Øô
ˆð %ˆt�|‰|×$Ñ$ØØ˜t×/Ñ/×5Ñ5Ð6°a¸×8HÑ8H×8MÑ8MÐ7NÈlÐ[ñ
ð ð
ð ñ	
ˆô # 4§<¡<°·±³Ó=Ð=r3   c              ‹   óÈ  K  — |j                  dd«      }|j                  dd«      }|� t        || j                  |¬«      ƒ d{  –—† }t        dd|dœ|¤Ž}t	        |¬«      } | j                  j
                  dd| j                  j                  › d	| j                  j                  › d
�fd|i|¤Žƒ d{  –—† }t        | j                  |j                  «       «      S 7 Œ™7 Œ*­wr˜   )r    r   r   r   r   r]   r�   r   r   r   rU   r¡   s           r4   rt   z"DeploymentPredictions.async_create¿  só   è ø€ ð �z‰z˜& $Ó'ˆØ!'§¡Ð,DÀdÓ!KÐØÐÜ+ØØ—|‘|Ø'=ô÷ ˆEô 'ÐK¨t¸5ÑKÀFÑKˆÜ2Øô
ˆð 1�T—\‘\×0Ñ0ØØ˜t×/Ñ/×5Ñ5Ð6°a¸×8HÑ8H×8MÑ8MÐ7NÈlÐ[ñ
ð ð
ð ñ	
÷ 
ˆô # 4§<¡<°·±³Ó=Ð=ð#øð
ús%   ‚AC"ÁCÁA0C"Â5C Â6)C"Ã C")r+   r,   r-   r.   r   r0   r“   r   r/   r   r
   r   rr   rt   Ú__classcell__)r”   s   @r4   rD   rD   ”  s‰   ø… ñð Óð&˜xð &°Zð &ÀDõ &ð>à�C˜�H‰~ð>ð Ð=Ñ>ð>ð 
ó	>ð@>à�C˜�H‰~ð>ð Ð=Ñ>ð>ð 
÷	>r3   rD   c                   óŒ   — e Zd ZdZdeeeeef   ef   deee	f   de
d   defd„Zdeeeeef   ef   deee	f   de
d   defd„Zy	)
rŒ   zI
    Namespace for operations related to predictions in deployments.
    rC   r•   rk   r–   r9   c                 óP  — |j                  dd«      }|j                  dd«      }t        |«      }|�t        || j                  |¬«      }t	        d	d|dœ|¤Ž}t        |¬«      } | j                  j                  d|fd|i|¤Ž}	t        | j                  |	j                  «       «      S ©
r™   rš   Nr›   rœ   r�   rž   rn   rU   r2   )	r    Ú&_create_prediction_url_from_deploymentr   r   r   r   rT   r   rU   ©
r<   rC   r•   rk   rš   r›   Úurlr¢   r£   rX   s
             r4   rr   zDeploymentsPredictions.createä  s¦   € ð �z‰z˜& $Ó'ˆØ!'§¡Ð,DÀdÓ!KÐä4°ZÓ@ˆØÐÜØØ—|‘|Ø'=ôˆEô 'ÐK¨t¸5ÑKÀFÑKˆÜ2¸Ô=ˆØ$ˆt�|‰|×$Ñ$ V¨SÑF°tÐF¸vÑFˆä" 4§<¡<°·±³Ó=Ð=r3   c              ‹   ó€  K  — |j                  dd«      }|j                  dd«      }t        |«      }|� t        || j                  |¬«      ƒ d{  –—† }t	        d	d|dœ|¤Ž}t        |¬«      } | j                  j                  d|fd|i|¤Žƒ d{  –—† }	t        | j                  |	j                  «       «      S 7 Œj7 Œ*­wr¨   )	r    r©   r   r   r   r   r]   r   rU   rª   s
             r4   rt   z#DeploymentsPredictions.async_createÿ  s¾   è ø€ ð �z‰z˜& $Ó'ˆØ!'§¡Ð,DÀdÓ!KÐä4°ZÓ@ˆØÐÜ+ØØ—|‘|Ø'=ô÷ ˆEô 'ÐK¨t¸5ÑKÀFÑKˆÜ2¸Ô=ˆØ0�T—\‘\×0Ñ0°¸ÑRÀ4ÐRÈ6ÑR×Rˆä" 4§<¡<°·±³Ó=Ð=ðøð Sús%   ‚AB>ÁB:ÁAB>ÂB<Â)B>Â<B>N)r+   r,   r-   r.   r	   r/   r   r   r   r   r
   r   rr   rt   r2   r3   r4   rŒ   rŒ   ß  s¡   „ ñð>à˜#˜u S¨# X™°
Ð:Ñ;ð>ð �C˜�H‰~ð>ð Ð=Ñ>ð	>ð
 
ó>ð6>à˜#˜u S¨# X™°
Ð:Ñ;ð>ð �C˜�H‰~ð>ð Ð=Ñ>ð	>ð
 
ô>r3   rŒ   rC   c                 ó  — d\  }}t        | t        «      r| j                  | j                  }}n@t        | t        «      r| d   | d   }}n%t        | t
        «      r| j                  dd«      \  }}|�|€t        d«      ‚d|› d|› d�S )N)NNr   ra   r?   zadeployment must be a Deployment, a tuple of (owner, name), or a string in the format 'owner/name'rb   rŸ   )Ú
isinstancer   r   r   Útupler/   rc   rS   )rC   r   r   s      r4   r©   r©     s•   € ð �K€Eˆ4Ü�*œjÔ)Ø ×&Ñ&¨
¯©ˆt‰Ü	�J¤Ô	&Ø  ‘m Z°¡]ˆt‰Ü	�J¤Ô	$Ø ×&Ñ& s¨AÓ.‰ˆˆtà€}˜˜ÜØoó
ð 	
ð ˜e˜W A d V¨<Ð8Ð8r3   )'Útypingr   r   r   r   r   r   r	   Útyping_extensionsr
   r   Úreplicate.accountr   Úreplicate.helpersr   r   Úreplicate.paginationr   Úreplicate.predictionr   r   r   r   Úreplicate.resourcer   r   rF   r   ÚImportErrorÚreplicate.clientr   r   r   rJ   r/   rV   rD   rŒ   r©   r2   r3   r4   Ú<module>r¹      sØ   ðß N× NÑ Nç 0å %ß <Ý %÷ó ÷ 3ðÝ'ñ
 Ý'Ý0ôcK�ô cKôLJ;�)ô J;ðZ ð °°S¸#°X±ð À:ó ôH>˜Iô H>ôV9>˜Yô 9>ðx9Ø�c˜5  c ™?¨JÐ6Ñ7ð9àô9øðS ò Ýðús   ÁB' Â'	B3Â2B3