Ë
    úmxi¯  ã                  óØ   — U d Z ddlmZ ddlmZ ddlmZ er:ddlZddlmZ ej                  dk\  rddlm
Z
 nddlm
Z
 dd	lmZ dd
lmZ ddlmZmZ ded<   	 ded<   	 d	 	 	 	 	 dd„Zd„ Zy)aY  
Load example datasets *remotely* from `vega-datasets`_.

Provides **70+** datasets, used throughout our `Example Gallery`_.

You can learn more about each dataset at `datapackage.md`_.

Examples
--------
**Primary Interface - Data Object**::

    from altair.datasets import data

    # Load with default engine (pandas)
    cars_df = data.cars()

    # Load with specific engine
    cars_polars = data.cars(engine="polars")
    cars_pyarrow = data.cars(engine="pyarrow")

    # Get URL
    cars_url = data.cars.url

    # Set default engine for all datasets
    data.set_default_engine("polars")
    movies_df = data.movies()  # Uses polars engine

    # List available datasets
    available_datasets = data.list_datasets()

**Expert Interface - Loader**::

    from altair.datasets import Loader

    load = Loader.from_backend("polars")
    load("penguins")
    load.url("penguins")

This method also provides *precise* <kbd>Tab</kbd> completions on the returned object::

    load("cars").<Tab>
    #            bottom_k
    #            drop
    #            drop_in_place
    #            drop_nans
    #            dtypes
    #            ...

**Expert Interface - Direct Functions**::

    from altair.datasets import load, url

    # Load a dataset
    cars_df = load("cars", backend="polars")

    # Get dataset URL
    cars_url = url("cars")

.. note::
   Requires installation of either `polars`_, `pandas`_, or `pyarrow`_.

.. _vega-datasets:
    https://github.com/vega/vega-datasets
.. _Example Gallery:
    https://altair-viz.github.io/gallery/index.html#example-gallery
.. _datapackage.md:
    https://github.com/vega/vega-datasets/blob/main/datapackage.md
.. _polars:
    https://docs.pola.rs/user-guide/installation/
.. _pandas:
    https://pandas.pydata.org/docs/getting_started/install.html
.. _pyarrow:
    https://arrow.apache.org/docs/python/install.html
é    )Úannotations)ÚTYPE_CHECKING)ÚLoaderN)ÚAny)é   é   )ÚLiteralString)Ú
DataObject)Ú_Load)ÚDatasetÚ	Extensionz_Load[Any, Any]Úloadr
   Údatac               óŠ   — ddl m} 	 ddlm} |j	                  | |«      }|S # |$ r ddlm} |j	                  | «      }Y |S w xY w)a¡  
    Return the address of a remote dataset.

    This is an expert interface. For most users, the data object interface is recommended::

        from altair.datasets import data

        cars_url = data.cars.url

    Parameters
    ----------
    name
        Name of the dataset/`Path.stem`_.
    suffix
        File extension/`Path.suffix`_.

        .. note::
            Only needed if ``name`` is available in multiple formats.

    Returns
    -------
    ``str``

    .. _Path.stem:
        https://docs.python.org/3/library/pathlib.html#pathlib.PurePath.stem
    .. _Path.suffix:
        https://docs.python.org/3/library/pathlib.html#pathlib.PurePath.suffix
    r   )ÚAltairDatasetsError©r   )Ú	csv_cache)Úaltair.datasets._exceptionsr   Úaltair.datasets._loaderr   ÚurlÚaltair.datasets._cacher   )ÚnameÚsuffixr   r   r   r   s         úO/home/htdocs/ttos/venv/lib/python3.12/site-packages/altair/datasets/__init__.pyr   r   z   sO   € õB @ð"Ý0à�h‰h�t˜VÓ$ˆð €Jøð ò "Ý4à�m‰m˜DÓ!‰à€Jð"ús   ˆ" ¢AÁAc                óv   — | dk(  rddl m} |S | dk(  rddlm} |S | dk(  rg d¢S dt        ›d	| ›�}t        |«      ‚)
Nr   r   )r   r   r   Ú__all__)r   r   r   r   zmodule z has no attribute )Úaltair.datasets._datar   r   r   Ú__name__ÚAttributeError)r   r   r   Úmsgs       r   Ú__getattr__r!   ©   sL   € Øˆv‚~Ý.àˆØ	�ŠÝ0àˆØ	�Ò	â0Ð0àœ�|Ð#5°d°XÐ>ˆÜ˜SÓ!Ð!ó    )N)r   zDataset | LiteralStringr   zExtension | NoneÚreturnÚstr)Ú__doc__Ú
__future__r   Útypingr   r   r   Úsysr   Úversion_infor	   Útyping_extensionsr   r
   r   Úaltair.datasets._typingr   r   Ú__annotations__r   r!   © r"   r   ú<module>r.      s|   ðòIõV #å  å 4áÛÝà
×Ñ˜7Ò"Þ(å3å0Ý-ß:ð Ó ðð, Ó ð
  $ð,Ø
!ð,àð,ð 	ó	,ó^"r"   