main
 1from __future__ import annotations
 2
 3from typing import TYPE_CHECKING, Any
 4from typing_extensions import override
 5
 6from .._utils import LazyProxy
 7from ._common import MissingDependencyError, format_instructions
 8
 9if TYPE_CHECKING:
10    import pandas as pandas
11
12
13PANDAS_INSTRUCTIONS = format_instructions(library="pandas", extra="datalib")
14
15
16class PandasProxy(LazyProxy[Any]):
17    @override
18    def __load__(self) -> Any:
19        try:
20            import pandas
21        except ImportError as err:
22            raise MissingDependencyError(PANDAS_INSTRUCTIONS) from err
23
24        return pandas
25
26
27if not TYPE_CHECKING:
28    pandas = PandasProxy()