Ë
    úmxif8  ã                  óf  — U 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	 d dl
mZmZmZmZ d dlmc mZ d dlmZ ej*                  dk\  rd d	l
mZ nd d	lmZ er±d d
lmZmZmZmZ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& d dl'm(Z( d dl)m*Z* d dl+m,Z,m-Z- ej*                  dk\  rd dl
m.Z. nd dlm.Z. ej*                  dk\  rd dl
m/Z/ nd dlm/Z/ ej*                  dk\  rd dl
m0Z0 nd dlm0Z0 d dl+m1Z1 d dl2m3Z3 dZ4de5d<   ee6e1f   Z7de5d<   g d¢Z8 ed«      Z9 ed«      Z: ed «      Z; e	e<«      jz                  d!z  Z>d"e5d#<   ej~                  d$ej€                  d%ej‚                  d&ej„                  d'ej†                  d(ejˆ                  d)ejŠ                  d*ejŒ                  d+ejŽ                  d,i	ZHd-e5d.<   	 eHj“                  «       D � �ci c]  \  } }|| “Œ
 c}} ZJd/e5d0<   d@d1„ZK G d2„ d3ee9e:f   «      ZL G d4„ d5eLd6   «      ZM G d7„ d8eLd9   «      ZN G d:„ d;e«      ZO G d<„ d=«      ZPd5e5d><   d?„ ZQyc c}} w )Aé    )ÚannotationsN)Údefaultdict)Ú	find_spec)ÚPath)ÚTYPE_CHECKINGÚClassVarÚTypeVarÚcast)ÚAltairDatasetsError)é   é   )ÚProtocol)ÚIterableÚIteratorÚMappingÚMutableMappingÚMutableSequenceÚSequence)ÚIOBase)ÚAnyÚFinal)ÚOpenerDirector)ÚStrPath)ÚDType)ÚIntoExpr)ÚDatasetÚMetadata)ÚUnpack)r   é   )ÚLiteralString)r   é
   )Ú	TypeAlias)Ú
FlFieldStr)ÚOneOrSeqzDataset | LiteralStringr"   Ú_DatasetÚ	_FlSchema)ÚCsvCacheÚDatasetCacheÚSchemaCacheÚ	csv_cacheÚ_KTÚ_VTÚ_TÚ	_metadatazFinal[Path]Ú_METADATA_DIRÚintegerÚnumberÚbooleanÚstringÚobjectÚarrayÚdateÚdatetimeÚdurationz Mapping[type[DType], FlFieldStr]Ú_DTYPE_TO_FIELDz Mapping[FlFieldStr, type[DType]]Ú_FIELD_TO_DTYPEc             #  óX   K  — t        d| j                  d¬«      «      E d{  –—†  y7 Œ­w)z†
    Yield rows from ``df``, where each represents a dataset.

    See Also
    --------
    ``altair.datasets._typing.Metadata``
    úIterator[Metadata]T)ÚnamedN)r
   Ú	iter_rows)Údfs    úM/home/htdocs/ttos/venv/lib/python3.12/site-packages/altair/datasets/_cache.pyÚ_iter_metadatarA   _   s$   è ø€ ô Ð(¨"¯,©,¸T¨,Ó*BÓC×CÒCús   ‚ *¢(£*c                  ó\   — e Zd ZU ded<   ded<   dd„Zdd„Zdd„Zdd„Zdd	„Ze	dd
„«       Z
y)ÚCompressedCacher   ÚfpúMutableMapping[_KT, _VT]Ú_mappingc                 ó   — y ©N© ©Úselfs    r@   ÚreadzCompressedCache.readn   ó   � ó    c                ó   — y rH   rI   ©rK   Úkeys     r@   Ú__getitem__zCompressedCache.__getitem__o   rM   rN   c                ó`   — dd l }|j                  | j                  d¬«      j                  «       S )Nr   Úrb)Úmode)ÚgzipÚopenrD   Ú	__enter__)rK   rV   s     r@   rX   zCompressedCache.__enter__q   s%   € Ûà�y‰y˜Ÿ™ tˆyÓ,×6Ñ6Ó8Ð8rN   c                 ó   — y rH   rI   )rK   Úargss     r@   Ú__exit__zCompressedCache.__exit__v   s   € ØrN   c               ó:   — | j                   j                  ||«      S rH   )ÚmappingÚget)rK   rQ   Údefaults      r@   r^   zCompressedCache.gety   s   € Ø�|‰|×Ñ  WÓ-Ð-rN   c                ó„   — | j                   s)| j                   j                  | j                  «       «       | j                   S rH   )rF   ÚupdaterL   rJ   s    r@   r]   zCompressedCache.mapping|   s+   € à�}Š}Ø�M‰M× Ñ  §¡£Ô-Ø�}‰}ÐrN   N©Úreturnr   )rQ   r+   rc   r,   )rc   r   ©rc   ÚNone)rQ   r+   r_   r-   rc   z_VT | _T)rc   rE   )Ú__name__Ú
__module__Ú__qualname__Ú__annotations__rL   rR   rX   r[   r^   Úpropertyr]   rI   rN   r@   rC   rC   j   s6   … ØƒHØ&Ó&ãÛ2ó9ó
ó.ð òó ñrN   rC   c                  óz   — e Zd ZdZedz  Zed   dœ	 	 	 dd„Zdd„Z	 	 	 	 	 	 dd„Z	e
dd„«       Zdd	„Zdd
„Zdd„Zy)r'   aé  
    `csv`_, `gzip`_ -based, lazy metadata lookup.

    Used as a fallback for 2 scenarios:

    1. ``url(...)`` when no optional dependencies are installed.
    2. ``(Loader|load)(...)`` when the backend is missing* ``.parquet`` support.

    Notes
    -----
    *All backends *can* support ``.parquet``, but ``pandas`` requires an optional dependency.

    .. _csv:
        https://docs.python.org/3/library/csv.html
    .. _gzip:
        https://docs.python.org/3/library/gzip.html
    zmetadata.csv.gz©r%   r   )Útpc               óD   —  |«       | _         t        t        «      | _        y rH   )rF   r   ÚlistÚ_rotated)rK   rm   s     r@   Ú__init__zCsvCache.__init__˜   s   € ñ
 =?»DˆŒÜCNÌtÓCTˆ�rN   c           
     ó,  — dd l }| 5 }|j                  «       }d d d «       |j                  d„ D «       |j                  ¬«      }t	        t        |«      «      }|D �ci c]!  }|d   t        | j                  ||«      «      “Œ# c}S # 1 sw Y   ŒnxY wc c}w )Nr   c              3  ó<   K  — | ]  }|j                  «       –— Œ y ­wrH   )Údecode)Ú.0Úbss     r@   ú	<genexpr>z CsvCache.read.<locals>.<genexpr>¥   s   è ø€ Ò;¨R˜RŸY™YŸ[Ñ;ùs   ‚)Údialect)ÚcsvÚ	readlinesÚreaderÚunix_dialectÚtupleÚnextÚdictÚ_convert_row)rK   ry   ÚfÚb_linesr{   ÚheaderÚrows          r@   rL   zCsvCache.read    s‡   € Ûàð 	$�QØ—k‘k“mˆG÷	$à—‘Ñ;°7Ô;ÀS×EUÑEU�ÓVˆÜ”t˜F“|Ó$ˆØHNÖOÀ��A‘œ˜T×.Ñ.¨v°sÓ;Ó<Ñ<ÒOÐO÷		$ð 	$üò Ps   ‡BÁ&BÂBc             #  óª   K  — dddœ}t        ||«      D ];  \  }}|j                  d«      r
|||   f–— Œ!|dk(  r|t        |«      f–— Œ6||f–— Œ= y ­w)NTF)ÚtrueÚfalse)Úis_Úhas_Úbytes)ÚzipÚ
startswithÚint)rK   rƒ   r„   Úmap_tfÚcolÚvalues         r@   r€   zCsvCache._convert_row©   sf   è ø€ ð ¨Ñ/ˆÜ˜f cÓ*ò 	!‰JˆC�Ø�~‰~˜oÔ.Ø˜6 %™=Ð(Ó(Ø˜’Øœ3˜u›:�oÓ%à˜5�jÓ ñ	!ùs   ‚AAc                óÜ   — | j                   sU| j                  j                  «       D ]8  }|j                  «       D ]#  \  }}| j                   |   j	                  |«       Œ% Œ: | j                   S )zColumnar view.)rp   r]   ÚvaluesÚitemsÚappend)rK   ÚrecordÚkÚvs       r@   ÚrotatedzCsvCache.rotatedµ   sc   € ð �}Š}ØŸ,™,×-Ñ-Ó/ò /�Ø"ŸL™L›Nò /‘D�A�qØ—M‘M !Ñ$×+Ñ+¨AÕ.ñ/ð/ð �}‰}ÐrN   c               óN   — | j                  |d «      x}r|S |›d�}t        |«      ‚)Nz# does not refer to a known dataset.)r^   Ú	TypeError)rK   rQ   ÚmetaÚmsgs       r@   rR   zCsvCache.__getitem__¾   s4   € Ø—8‘8˜C Ó&Ð&ˆ4Ð&ØˆKØ�Ð:Ð;ˆÜ˜‹nÐrN   c               óf   — | |   }|d   dk(  r t        d«      st        j                  |«      ‚|d   S )NÚsuffixú.parquetÚ
vegafusionÚurl)r   r   Úfrom_url)rK   Únamer›   s      r@   r¡   zCsvCache.urlÄ   s9   € Ø�D‰zˆØ�‰>˜ZÒ'´	¸,Ô0GÜ%×.Ñ.¨tÓ4Ð4Ø�E‰{ÐrN   c                ó\   — dt        | «      j                  › d| j                  rd› d�S d› d�S )Nú<z: Ú	COLLECTEDÚREADYú>)Útyperf   rF   rJ   s    r@   Ú__repr__zCsvCache.__repr__Ê   s8   € Ø”4˜“:×&Ñ&Ð' r¸¿º¨+Ð)TÐTUÐVÐVÈGÐ)TÐTUÐVÐVrN   N)rm   z(type[MutableMapping[_Dataset, Metadata]]rc   re   rb   )rƒ   úIterable[str]r„   r«   rc   zIterator[tuple[str, Any]])rc   zMapping[str, Sequence[Any]])rQ   r%   rc   r   )r£   r%   rc   Ústr©rc   r¬   )rf   rg   rh   Ú__doc__r/   rD   r   rq   rL   r€   rj   r˜   rR   r¡   rª   rI   rN   r@   r'   r'   ƒ   s‚   „ ñð$ 
Ð*Ñ	*€Bð
 8<Ð<RÑ7SñUð 5ðUð 
ó	UóPð
!Ø#ð
!Ø*7ð
!à	"ó
!ð òó ðóóôWrN   r'   rl   c                  ó’   — e Zd ZdZedz  Zed   ej                  j                  dœ	 	 	 	 	 dd„Z
dd„Zdd„Zdd„Zdd	„Zdd
„Zdd„Zy)r)   aÓ  
    `json`_, `gzip`_ -based, lazy schema lookup.

    - Primarily benefits ``pandas``, which needs some help identifying **temporal** columns.
    - Utilizes `data package`_ schema types.
    - All methods return falsy containers instead of exceptions

    .. _json:
        https://docs.python.org/3/library/json.html
    .. _gzip:
        https://docs.python.org/3/library/gzip.html
    .. _data package:
        https://github.com/vega/vega-datasets/pull/631
    zschemas.json.gz©r%   r&   )rm   Úimplementationc               ó*   —  |«       | _         || _        y rH   )rF   Ú_implementation)rK   rm   r±   s      r@   rq   zSchemaCache.__init__à   s   € ñ >@»TˆŒØ2@ˆÕrN   c                ó\   — dd l }| 5 }|j                  |«      cd d d «       S # 1 sw Y   y xY w)Nr   )ÚjsonÚload)rK   rµ   r�   s      r@   rL   zSchemaCache.readé   s*   € Ûàð 	 �QØ—9‘9˜Q“<÷	 ÷ 	 ò 	 ús   ‡"¢+c               ó&   — | j                  |i «      S rH   )r^   rP   s     r@   rR   zSchemaCache.__getitem__ï   s   € Ø�x‰x˜˜RÓ Ð rN   c                ó¼   — | |   x}r@|r>|D �ch c]  }t         |   ’Œ }}|j                  «       D ��cg c]  \  }}||v sŒ|‘Œ c}}S t        |«      S c c}w c c}}w )zï
        Return column names specfied in ``name``'s schema.

        Parameters
        ----------
        name
            Dataset name.
        *dtypes
            Optionally, only return columns matching the given data type(s).
        )r9   r“   ro   )rK   r£   ÚdtypesÚmatchrm   Úincluder�   Útp_strs           r@   Úby_dtypezSchemaCache.by_dtypeò   sa   € ð ˜$‘ZÐˆEÐ¡VØ5;Ö<¨r” rÓ*Ð<ˆGÐ<Ø+0¯;©;«=×N™K˜C ¸FÀgÒ<M’CÓNÐNä˜“;Ðùò =ùÛNs   ŽA³AÁ Ac                óæ   — | j                   t        j                  j                  t        j                  j                  t        j                  j
                  t        j                  j                  hv S rH   )r³   ÚnwÚImplementationÚPANDASÚPYARROWÚMODINrJ   s    r@   Ú	is_activezSchemaCache.is_active  sV   € Ø×#Ñ#Ü×Ñ×$Ñ$Ü×Ñ×%Ñ%Ü×Ñ×#Ñ#Ü×Ñ×%Ñ%ð	(
ð 
ð 	
rN   c               ó`   — d„ | |   j                  «       D «       }t        j                  |«      S )Nc              3  ó@   K  — | ]  \  }}|t        |   «       f–— Œ y ­wrH   )r:   )ru   r�   r¼   s      r@   rw   z%SchemaCache.schema.<locals>.<genexpr>  s!   è ø€ ÒU±;°3¸ˆs”O FÑ+Ó-Ô.ÑUùs   ‚)r“   r¿   ÚSchema)rK   r£   Úits      r@   ÚschemazSchemaCache.schema  s'   € ÙUÀ$ÀtÁ*×BRÑBRÓBTÔUˆÜ�y‰y˜‹}ÐrN   c               óz  — |d   }| j                  «       r¥| |   r |d   }| j                  j                  «       rD| j                  |t        j
                  t        j                  «      x}r|dk(  rd|iS |dv rd|iS i S | j                  |«      j                  «       }|dv rddl	m
} d	 ||¬
«      iS |dk(  rd|iS i S )NÚdataset_namerž   z.jsonÚconvert_dates>   ú.csvú.tsvÚparse_datesr   )ÚConvertOptionsÚconvert_options)Úcolumn_typesrŸ   rÉ   )rÄ   r³   Úis_pandas_liker½   r¿   ÚDateÚDatetimerÉ   Úto_arrowÚpyarrow.csvrÐ   )rK   r›   r£   rž   ÚcolsrÉ   rÐ   s          r@   Úschema_kwdszSchemaCache.schema_kwds  sÔ   € Ø˜Ñ(ˆØ�>‰>Ô  d¢Ø˜(‘^ˆFØ×#Ñ#×2Ñ2Ô4ØŸ=™=¨¬r¯w©w¼¿¹ÓDÐD�4ÐDØ Ò(Ø /°Ð6Ð6ØÐ#3Ñ3Ø -¨tÐ4Ð4ð ˆ	ð Ÿ™ TÓ*×3Ñ3Ó5�ØÐ-Ñ-Ý:ð
 .©~È6Ô/RÐSÐSØ˜zÒ)Ø$ fÐ-Ð-àˆ	rN   N)rm   z)type[MutableMapping[_Dataset, _FlSchema]]r±   znw.Implementationrc   re   rb   )rQ   r%   rc   r&   )r£   r%   r¹   ztype[DType]rc   z	list[str]©rc   Úbool)r£   r%   rc   z	nw.Schema)r›   r   rc   zdict[str, Any])rf   rg   rh   r®   r/   rD   r   r¿   rÀ   ÚUNKNOWNrq   rL   rR   r½   rÄ   rÉ   rÙ   rI   rN   r@   r)   r)   Î   ss   „ ñð 
Ð*Ñ	*€Bð
 9=Ð=TÑ8UØ,.×,=Ñ,=×,EÑ,Eñ	Að 6ðAð *ð	Að
 
óAó ó!óó"
óôrN   r)   r°   c                  ó,   — e Zd ZU ded<   	 	 	 	 	 	 dd„Zy)Ú_SupportsScanMetadatazClassVar[OpenerDirector]Ú_openerc                 ó   — y rH   rI   )rK   Ú
predicatesÚconstraintss      r@   Ú_scan_metadataz$_SupportsScanMetadata._scan_metadata+  s   € àrN   N)rá   zOneOrSeq[IntoExpr]râ   zUnpack[Metadata]rc   znw.LazyFrame[Any])rf   rg   rh   ri   rã   rI   rN   r@   rÞ   rÞ   (  s%   … Ø%Ó%ð Ø-ð Ø>Nð à	ô rN   rÞ   c                  óL  — e Zd ZU dZdZded<    eej                  j                  d ej                  «       dz  «      «      dz  j                  «       Zded	<   dd
„Zdd„Zdd„Zdd„Zdd„Zedd„«       Zej(                  dd„«       Zdd„Zdd„Zd d„Zd!d„Zd!d„Zd!d„Zdd„Zy)"r(   z+Opt-out caching of remote dataset requests.ÚALTAIR_DATASETS_DIRzClassVar[LiteralString]Ú_ENV_VARÚXDG_CACHE_HOMEz.cacheÚaltairzClassVar[Path]Ú
_XDG_CACHEc               ó   — || _         y rH   )Ú_rd)rK   r{   s     r@   rq   zDatasetCache.__init__8  s	   € Ø*0ˆ�rN   c                óâ  — | j                  «        | j                  «       ry| j                  j                  «       j	                  dd«      j                  d«      j	                  t        j                  dd«      j                  d«      «      j                  «       j                  d«      }t        t           |j                  «       «      }| D ]!  }|j                  |v sŒ|j                  «        Œ# y)z&Delete all previously cached datasets.NÚsharž   Ú
sha_suffix)Ú_ensure_activeÚis_emptyrë   rã   ÚselectÚuniquer¿   Ú
concat_strÚaliasÚcollectÚ
get_columnÚsetr¬   Úto_listr£   Úunlink)rK   ÚserÚnamesrD   s       r@   ÚclearzDatasetCache.clear;  s¯   € à×ÑÔØ�=‰=Œ?Øà�H‰H×#Ñ#Ó%ß‰V�E˜8Ó$ß‰V�E‹]ß‰V”B—M‘M %¨Ó2×8Ñ8¸ÓFÓGß‰W‹Yß‰Z˜Ó%ð 	ô ”C‘˜Ÿ™›Ó'ˆØò 	ˆBØ�w‰w˜%ÒØ—	‘	•ñ	rN   c                óö  — t        d„ | D «       «      }|r&t        j                  d«      j                  |«       fnd} | j                  j
                  |ddiŽj                  ddd«      j                  d«      j                  «       }|j                  «       rt        d«       y	t        d
t        |«      › d�«       t        |«      D ]&  }| j                  |d   | j                  |«      «       Œ( t        d«       y	)zp
        Download any missing datasets for latest version.

        Requires **30-50MB** of disk-space.
        c              3  ó4   K  — | ]  }|j                   –— Œ y ­wrH   )Ústem)ru   rD   s     r@   rw   z,DatasetCache.download_all.<locals>.<genexpr>S  s   è ø€ Ò- "�b—g•gÑ-ùs   ‚rí   rI   Úis_imageFrž   r¡   zAlready downloaded all datasetsNzDownloading z missing datasets...zFinished downloads)r}   r¿   r�   Úis_inrë   rã   rñ   rò   rõ   rð   ÚprintÚlenrA   Ú_download_oneÚ	path_meta)rK   Ústemsrá   Úframer›   s        r@   Údownload_allzDatasetCache.download_allM  sß   € ô Ñ-¨Ô-Ó-ˆÙ9>œŸ™˜u›×+Ñ+¨EÓ2Ð3Ñ5ÀBˆ
à#ˆD�H‰H×#Ñ# ZÐ@¸%Ñ@ß‰V�E˜8 UÓ+ß‰V�E‹]ß‰W‹Yð	 	ð �>‰>ÔÜÐ3Ô4ØÜ�œS ›Z˜LÐ(<Ð=Ô>Ü" 5Ó)ò 	BˆDØ×Ñ˜t E™{¨D¯N©N¸4Ó,@ÕAð	BäÐ"Ô#ØrN   c               ó¦   — | j                  |«      }|j                  «       r|j                  «       j                  r|S | j	                  |d   |«      S )Nr¡   )r  ÚexistsÚstatÚst_sizer  )rK   r›   rD   s      r@   Ú_maybe_downloadzDatasetCache._maybe_downloadd  sN   € Ø�^‰^˜DÓ!ˆð —	‘	” §¡£	× 1Ò 1ð ð	
ð ×#Ñ# D¨¡K°Ó4ð	
rN   c               óÚ   — | j                   j                  j                  |«      5 }|j                  «        |j	                  |j                  «       «       d d d «       |S # 1 sw Y   |S xY wrH   )rë   rß   rW   ÚtouchÚwrite_bytesrL   )rK   r¡   rD   r�   s       r@   r  zDatasetCache._download_onel  sU   € Ø�X‰X×Ñ×"Ñ" 3Ó'ð 	%¨1Ø�H‰HŒJØ�N‰N˜1Ÿ6™6›8Ô$÷	%ð ˆ	÷	%ð ˆ	ús   ¦0A Á A*c                óÐ   — | j                  «        t        j                  j                  | j                  «      x}rt        |«      n| j                  }|j                  dd¬«       |S )aÍ  
        Returns path to datasets cache.

        Defaults to (`XDG_CACHE_HOME`_)::

            "$XDG_CACHE_HOME/altair/"

        But can be configured using the environment variable::

            "$ALTAIR_DATASETS_DIR"

        You can set this for the current session via::

            from pathlib import Path
            from altair.datasets import load

            load.cache.path = Path.home() / ".altair_cache"

            load.cache.path.relative_to(Path.home()).as_posix()
            ".altair_cache"

        You can *later* disable caching via::

           load.cache.path = None

        .. _XDG_CACHE_HOME:
            https://specifications.freedesktop.org/basedir-spec/latest/#variables
        T)ÚparentsÚexist_ok)rï   ÚosÚenvironr^   ræ   r   ré   Úmkdir)rK   ÚusrrD   s      r@   ÚpathzDatasetCache.pathr  sO   € ð< 	×ÑÔÜ"$§*¡*§.¡.°·±Ó"?Ð?˜3Ð?ŒT�#ŒYÀdÇoÁoˆØ
�‰˜¨ˆÔ-Øˆ	rN   c               ó¾   — |�>t        t        |«      j                  «       «      t        j                  | j
                  <   y dt        j                  | j
                  <   y ©NÚ )r¬   r   Úresolver  r  ræ   )rK   Úsources     r@   r  zDatasetCache.path•  s>   € àÐÜ(+¬D°«L×,@Ñ,@Ó,BÓ(CŒB�J‰J�t—}‘}Ò%à(*ŒB�J‰J�t—}‘}Ò%rN   c               ó2   — | j                   |d   |d   z   z  S )Nrí   rž   )r  )rK   r›   s     r@   r  zDatasetCache.path_metaœ  s   € Ø�y‰y˜D ™K¨$¨x©.Ñ8Ñ9Ð9rN   c              #  óT   K  — | j                   j                  «       E d {  –—†  y 7 Œ­wrH   )r  ÚiterdirrJ   s    r@   Ú__iter__zDatasetCache.__iter__Ÿ  s   è ø€ Ø—9‘9×$Ñ$Ó&×&Ò&ús   ‚( &¡(c                ó–   — t        | «      j                  }| j                  «       r|› d�S |› d| j                  j	                  «       ›d�S )Nz<UNSET>r¥   r¨   )r©   rf   Úis_not_activer  Úas_posix)rK   r£   s     r@   rª   zDatasetCache.__repr__¢  sK   € Ü�D‹z×"Ñ"ˆØ×ÑÔØ�V˜7Ð#Ð#à�V˜1˜TŸY™Y×/Ñ/Ó1Ð4°AÐ6Ð6rN   c                ó$   — | j                  «        S rH   )r#  rJ   s    r@   rÄ   zDatasetCache.is_active©  s   € Ø×%Ñ%Ó'Ð'Ð'rN   c                óZ   — t         j                  j                  | j                  «      dk(  S r  )r  r  r^   ræ   rJ   s    r@   r#  zDatasetCache.is_not_active¬  s   € Ü�z‰z�~‰~˜dŸm™mÓ,°Ñ2Ð2rN   c                ó0   — t        t        | «      d«      du S )z:Cache is active, but no files are stored in ``self.path``.N)r~   ÚiterrJ   s    r@   rð   zDatasetCache.is_empty¯  s   € ä”D˜“J Ó%¨Ð-Ð-rN   c                óZ   — | j                  «       rd| j                  ›d�}t        |«      ‚y )NzMCache is unset.
To enable dataset caching, set the environment variable:
    z¦

You can set this for the current session via:
    from pathlib import Path
    from altair.datasets import load

    load.cache.path = Path.home() / '.altair_cache')r#  ræ   Ú
ValueError)rK   rœ   s     r@   rï   zDatasetCache._ensure_active³  s?   € Ø×ÑÔðà—}‘}Ð'ð (FðGð ô ˜S“/Ð!ð  rN   N)r{   rÞ   rc   re   rd   )r›   r   rc   r   )r¡   r¬   rD   r   rc   r   )rc   r   )r  zStrPath | Nonerc   re   )rc   zIterator[Path]r­   rÚ   )rf   rg   rh   r®   ræ   ri   r   r  r  r^   Úhomer  ré   rq   rü   r  r  r  rj   r  Úsetterr  r!  rª   rÄ   r#  rð   rï   rI   rN   r@   r(   r(   0  s¶   … Ù5à(=€HÐ%Ó=áˆR�Z‰Z�^‰^Ð,¨i¨d¯i©i«k¸HÑ.DÓEÓFÈÑQß�gƒið �ó ó1óó$ó.
óð ò ó ð ðD 
‡[�[ò+ó ð+ó:ó'ó7ó(ó3ó.ô"rN   r(   r*   c                óZ   — | dk(  rt        «       at        S dt        ›d| ›�}t        |«      ‚)Nr*   zmodule z has no attribute )r'   r*   rf   ÚAttributeError)r£   rœ   s     r@   Ú__getattr__r/  Ä  s7   € Øˆ{Òä“Jˆ	ÜÐð œ�|Ð#5°d°XÐ>ˆÜ˜SÓ!Ð!rN   )r?   znw.DataFrame[Any]rc   r<   )RÚ
__future__r   r  ÚsysÚcollectionsr   Úimportlib.utilr   Úpathlibr   Útypingr   r   r	   r
   Únarwhals.stable.v1ÚstableÚv1r¿   Úaltair.datasets._exceptionsr   Úversion_infor   Útyping_extensionsÚcollections.abcr   r   r   r   r   r   Úior   r   r   Úurllib.requestr   Ú	_typeshedr   Únarwhals.stable.v1.dtypesr   Únarwhals.stable.v1.typingr   Úaltair.datasets._typingr   r   r   r    r"   r#   Ú!altair.vegalite.v6.schema._typingr$   r%   ri   r¬   r&   Ú__all__r+   r,   r-   Ú__file__Úparentr/   ÚInt64ÚFloat64ÚBooleanÚStringÚStructÚListrÔ   rÕ   ÚDurationr9   r“   r:   rA   rC   r'   r)   rÞ   r(   r/  )r–   r—   s   00r@   ú<module>rN     s  ðÞ "ã 	Û 
Ý #Ý $Ý ß 9Ó 9ç Ð å ;à×Ñ�wÒÞå*á÷÷ õ ß!Ý-å!Ý/Ý2ç9à
×Ñ˜7Ò"Þ!å,Ø
×Ñ˜7Ò"Þ(å3Ø
×Ñ˜7Ò"Þ$å/Ý2Ý:à3€HˆiÓ3Ø" 3¨
 ?Ñ3€IˆyÓ3â
B€ñ ˆeƒn€Ùˆeƒn€ÙˆTƒ]€á! (›^×2Ñ2°[Ñ@€ˆ{Ó @ð ‡H�HˆiØ‡J�J�Ø‡J�J�	Ø‡I�IˆxØ‡I�IˆxØ‡G�GˆWØ‡G�GˆVØ‡K�K�Ø‡K�K�ð5€Ð1ó ðð %×*Ñ*Ó,÷5ÙˆQ�€A€q�Dó5€Ð1ó ó
Dô�h˜s C˜xÑ(ô ô2HWˆÐ5Ñ6ô HWôVW�/Ð"9Ñ:ô Wôt ˜Hô  ÷N"ñ N"ðb Ó ó"ùóU5s   Ç	H-