
    jT	                        U d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
 d dlmZ  eg d          Zded<    ed	          Z G d
 dee                   ZddZddZddZd dZd dZdS )!    )annotations)Path)AnyFinalGenericTypeVar)is_path_or_str_sequence)PartitionBy)file_cache_ttlmax_retriesretry_timeout_msretry_init_backoff_msretry_max_backoff_msretry_base_multiplierzFinal[frozenset[str]]POLARS_STORAGE_CONFIG_KEYSTc                  <    e Zd ZdZdddZddZdd
ZddZddZdS )NoPickleOptionz
    Wrapper that does not pickle the wrapped value.

    This wrapper will unpickle to contain a None. Useful for cached or sensitive
    values.
    N	opt_valueT | NonereturnNonec                    || _         d S N
_opt_value)selfr   s     [/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/polars/io/cloud/_utils.py__init__zNoPickleOption.__init__    s    #    c                    | j         S r   r   r   s    r   getzNoPickleOption.get#   s
    r    valuec                    || _         d S r   r   )r   r$   s     r   setzNoPickleOption.set&   s    r    	tuple[()]c                    dS )N r)   r"   s    r   __getstate__zNoPickleOption.__getstate__)   s    rr    _statec                :    t                               |            d S r   )r   r   )r   r+   s     r   __setstate__zNoPickleOption.__setstate__-   s    %%%%%r    r   )r   r   r   r   )r   r   )r$   r   r   r   )r   r'   )r+   r'   r   r   )	__name__
__module____qualname____doc__r   r#   r&   r*   r-   r)   r    r   r   r      s         $ $ $ $ $             & & & & & &r    r   sourcer   r   str | Path | Nonec                    t          | t          t          f          r| S t          |           r
| r| d         S t          | t                    r| j        j        S d S )Nr   )
isinstancestrr   r	   r
   _pl_partition_by	base_path)r2   s    r   _first_scan_pathr9   1   sc     &3+&& 1	 	(	( 1V 1ay	FK	(	( 1&004r    path
str | Path
str | Nonec                n    t          |           }|                    d          }|dk    r
|d |         nd S )Nz://r   )r6   find)r:   path_stris      r   _get_path_schemerA   >   s8    4yyHeA668BQB<<t+r    schemer6   first_scan_pathboolc                8    t           fddD                       rdS  dk    s dk    ro|                    d          }|                    d|dz             }|                    d	t                     d
z   |          dk    sd|v rdS d|cxk     o|k     nc S dS )Nc              3  $   K   | ]
}|k    V  d S r   r)   .0xrB   s     r   	<genexpr>z _is_aws_cloud.<locals>.<genexpr>F   s'      
.
.16Q;
.
.
.
.
.
.r    )s3s3aThttphttpsz.s3.z.amazonaws.com/   /   r   ?F)anyr>   len)rB   rC   
bucket_end
region_ends   `   r   _is_aws_cloudrW   E   s    

.
.
.
.
.
.
... t6W,,$))&11
$))*;Z!^LL
   c&kkAozBBQFFo%%5:****
*****5r    c                :     t           fddD                       S )Nc              3  $   K   | ]
}|k    V  d S r   r)   rG   s     r   rJ   z"_is_azure_cloud.<locals>.<genexpr>Y   s'      LLqv{LLLLLLr    )azazureadlabfsabfssrS   rB   s   `r   _is_azure_cloudra   X   s'    LLLL$KLLLLLLr    c                :     t           fddD                       S )Nc              3  $   K   | ]
}|k    V  d S r   r)   rG   s     r   rJ   z _is_gcp_cloud.<locals>.<genexpr>]   s'      99qv{999999r    )gsgcpgcsr_   r`   s   `r   _is_gcp_cloudrg   \   s'    9999$8999999r    N)r2   r   r   r3   )r:   r;   r   r<   )rB   r6   rC   r6   r   rD   )rB   r6   r   rD   )
__future__r   pathlibr   typingr   r   r   r   polars._utils.variousr	   polars.io.partitionr
   	frozensetr   __annotations__r   r   r9   rA   rW   ra   rg   r)   r    r   <module>ro      sZ   " " " " " " "       / / / / / / / / / / / / 9 9 9 9 9 9 + + + + + + 5>I  	5 	5  	 	 	 	 GCLL& & & & &WQZ & & &2
 
 
 
, , , ,   &M M M M: : : : : :r    