o
    i                     @  s   d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZ ddlmZ d	d
lmZ d	dlmZ d	dlmZ d	dlmZ d	dlmZ dgZG dd deZdS )    )annotationsN)Optional)warn)ClientHeaders)DEFAULT_TIMEOUT   )__version__   )SyncStorageAnalyticsClient)SyncStorageBucketAPI)SyncBucketProxy)SyncRequestBuilder)SyncStorageVectorsClientSyncStorageClientc                      s^   e Zd ZdZ				d!d" fddZd#ddZd$ddZd%ddZd&ddZd'dd Z	  Z
S )(r   z!Manage storage buckets and files.Nurlstrheadersdict[str, str]timeoutOptional[int]verifyOptional[bool]proxyOptional[str]http_clientOptional[Client]returnNonec                   s   dt  t t dt d|}tjdk rtdtdd |d ur*tdtdd |d ur5td	tdd |d ur@td
tdd |d urHt	|nd| _
|d urUtt|nt| _|pet|| j|| j
ddd| _t | j|t| d S )Nzsupabase-py/storage3 vpython)zX-Client-InfozX-Supabase-Client-Platformz"X-Supabase-Client-Platform-VersionzX-Supabase-Client-Runtimez!X-Supabase-Client-Runtime-Version)   
   zPython versions below 3.10 are deprecated and will not be supported in future versions. Please upgrade to Python 3.10 or newer.r   )
stacklevelzVThe 'timeout' parameter is deprecated. Please configure it in the http client instead.zUThe 'verify' parameter is deprecated. Please configure it in the http client instead.zTThe 'proxy' parameter is deprecated. Please configure it in the http client instead.T)r   r   r   r   follow_redirectshttp2)r	   platformsystemreleasepython_versionsysversion_infor   DeprecationWarningboolr   intabsr   r   r   sessionsuper__init__r   )selfr   r   r   r   r   r   	__class__ S/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/storage3/_sync/client.pyr1      sV   

	zSyncStorageClient.__init__c                 C  s   | S Nr5   r2   r5   r5   r6   	__enter__T   s   zSyncStorageClient.__enter__c                 C  s   | j   d S r7   )r/   close)r2   exc_typeexctbr5   r5   r6   __exit__W   s   zSyncStorageClient.__exit__idr   c                 C  s   t || j| j| jS )zRun a storage file operation.

        Parameters
        ----------
        id
            The unique identifier of the bucket
        )r   	_base_url_headers_client)r2   r?   r5   r5   r6   from_Z   s   zSyncStorageClient.from_r   c                 C  s   t | jd| j| jdS )Nvector)r   r   r/   )r   r@   joinpathrA   r/   r8   r5   r5   r6   vectorsd   s
   
zSyncStorageClient.vectorsr   c                 C  s$   t | j| j| jdd}t|dS )Niceberg)r/   r   base_url)request)r   r/   rA   r@   rE   r   )r2   rI   r5   r5   r6   	analyticsk   s   

zSyncStorageClient.analytics)NNNN)r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   )r   r   )r?   r   r   r   )r   r   )r   r   )__name__
__module____qualname____doc__r1   r9   r>   rC   rF   rJ   __classcell__r5   r5   r3   r6   r      s    
9



)
__future__r   r%   r)   typingr   warningsr   httpxr   r   storage3.constantsr   versionr	   rJ   r   bucketr   file_apir   rI   r   rF   r   __all__r   r5   r5   r5   r6   <module>   s     