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()