done
This commit is contained in:
247
lib/python3.11/site-packages/pandas-stubs/_libs/interval.pyi
Normal file
247
lib/python3.11/site-packages/pandas-stubs/_libs/interval.pyi
Normal file
@ -0,0 +1,247 @@
|
||||
from typing import (
|
||||
Any,
|
||||
Generic,
|
||||
Literal,
|
||||
TypeVar,
|
||||
overload,
|
||||
)
|
||||
|
||||
import numpy as np
|
||||
from pandas import (
|
||||
IntervalIndex,
|
||||
Series,
|
||||
Timedelta,
|
||||
Timestamp,
|
||||
)
|
||||
from pandas.core.series import (
|
||||
TimedeltaSeries,
|
||||
TimestampSeries,
|
||||
)
|
||||
|
||||
from pandas._typing import (
|
||||
IntervalClosedType,
|
||||
IntervalT,
|
||||
np_1darray,
|
||||
npt,
|
||||
)
|
||||
|
||||
VALID_CLOSED: frozenset[str]
|
||||
|
||||
_OrderableScalarT = TypeVar("_OrderableScalarT", bound=int | float)
|
||||
_OrderableTimesT = TypeVar("_OrderableTimesT", bound=Timestamp | Timedelta)
|
||||
_OrderableT = TypeVar("_OrderableT", bound=int | float | Timestamp | Timedelta)
|
||||
|
||||
class _LengthDescriptor:
|
||||
@overload
|
||||
def __get__(
|
||||
self, instance: Interval[_OrderableScalarT], owner: Any
|
||||
) -> _OrderableScalarT: ...
|
||||
@overload
|
||||
def __get__(
|
||||
self, instance: Interval[_OrderableTimesT], owner: Any
|
||||
) -> Timedelta: ...
|
||||
@overload
|
||||
def __get__(self, instance: IntervalTree, owner: Any) -> np.ndarray: ...
|
||||
|
||||
class _MidDescriptor:
|
||||
@overload
|
||||
def __get__(self, instance: Interval[_OrderableScalarT], owner: Any) -> float: ...
|
||||
@overload
|
||||
def __get__(
|
||||
self, instance: Interval[_OrderableTimesT], owner: Any
|
||||
) -> _OrderableTimesT: ...
|
||||
@overload
|
||||
def __get__(self, instance: IntervalTree, owner: Any) -> np.ndarray: ...
|
||||
|
||||
class IntervalMixin:
|
||||
@property
|
||||
def closed_left(self) -> bool: ...
|
||||
@property
|
||||
def closed_right(self) -> bool: ...
|
||||
@property
|
||||
def open_left(self) -> bool: ...
|
||||
@property
|
||||
def open_right(self) -> bool: ...
|
||||
@property
|
||||
def is_empty(self) -> bool: ...
|
||||
|
||||
class Interval(IntervalMixin, Generic[_OrderableT]):
|
||||
@property
|
||||
def left(self: Interval[_OrderableT]) -> _OrderableT: ...
|
||||
@property
|
||||
def right(self: Interval[_OrderableT]) -> _OrderableT: ...
|
||||
@property
|
||||
def closed(self) -> IntervalClosedType: ...
|
||||
mid: _MidDescriptor
|
||||
length: _LengthDescriptor
|
||||
def __init__(
|
||||
self,
|
||||
left: _OrderableT,
|
||||
right: _OrderableT,
|
||||
closed: IntervalClosedType = ...,
|
||||
) -> None: ...
|
||||
def __hash__(self) -> int: ...
|
||||
# for __contains__, it seems that we have to separate out the 4 cases to make
|
||||
# mypy happy
|
||||
@overload
|
||||
def __contains__(self: Interval[Timestamp], key: Timestamp) -> bool: ...
|
||||
@overload
|
||||
def __contains__(self: Interval[Timedelta], key: Timedelta) -> bool: ...
|
||||
@overload
|
||||
def __contains__(self: Interval[int], key: float) -> bool: ...
|
||||
@overload
|
||||
def __contains__(self: Interval[float], key: float) -> bool: ...
|
||||
@overload
|
||||
def __add__(self: Interval[Timestamp], y: Timedelta) -> Interval[Timestamp]: ...
|
||||
@overload
|
||||
def __add__(self: Interval[Timedelta], y: Timedelta) -> Interval[Timedelta]: ...
|
||||
@overload
|
||||
def __add__(
|
||||
self: Interval[int], y: _OrderableScalarT
|
||||
) -> Interval[_OrderableScalarT]: ...
|
||||
@overload
|
||||
def __add__(self: Interval[float], y: float) -> Interval[float]: ...
|
||||
@overload
|
||||
def __radd__(
|
||||
self: Interval[_OrderableTimesT], y: Timedelta
|
||||
) -> Interval[_OrderableTimesT]: ...
|
||||
@overload
|
||||
def __radd__(
|
||||
self: Interval[int], y: _OrderableScalarT
|
||||
) -> Interval[_OrderableScalarT]: ...
|
||||
@overload
|
||||
def __radd__(self: Interval[float], y: float) -> Interval[float]: ...
|
||||
@overload
|
||||
def __sub__(
|
||||
self: Interval[_OrderableTimesT], y: Timedelta
|
||||
) -> Interval[_OrderableTimesT]: ...
|
||||
@overload
|
||||
def __sub__(
|
||||
self: Interval[int], y: _OrderableScalarT
|
||||
) -> Interval[_OrderableScalarT]: ...
|
||||
@overload
|
||||
def __sub__(self: Interval[float], y: float) -> Interval[float]: ...
|
||||
@overload
|
||||
def __rsub__(
|
||||
self: Interval[_OrderableTimesT], y: Timedelta
|
||||
) -> Interval[_OrderableTimesT]: ...
|
||||
@overload
|
||||
def __rsub__(
|
||||
self: Interval[int], y: _OrderableScalarT
|
||||
) -> Interval[_OrderableScalarT]: ...
|
||||
@overload
|
||||
def __rsub__(self: Interval[float], y: float) -> Interval[float]: ...
|
||||
@overload
|
||||
def __mul__(
|
||||
self: Interval[int], y: _OrderableScalarT
|
||||
) -> Interval[_OrderableScalarT]: ...
|
||||
@overload
|
||||
def __mul__(self: Interval[float], y: float) -> Interval[float]: ...
|
||||
@overload
|
||||
def __mul__(self: Interval[Timedelta], y: float) -> Interval[Timedelta]: ...
|
||||
@overload
|
||||
def __rmul__(
|
||||
self: Interval[int], y: _OrderableScalarT
|
||||
) -> Interval[_OrderableScalarT]: ...
|
||||
@overload
|
||||
def __rmul__(self: Interval[float], y: float) -> Interval[float]: ...
|
||||
@overload
|
||||
def __rmul__(self: Interval[Timedelta], y: float) -> Interval[Timedelta]: ...
|
||||
@overload
|
||||
def __truediv__(self: Interval[int], y: float) -> Interval[float]: ...
|
||||
@overload
|
||||
def __truediv__(self: Interval[float], y: float) -> Interval[float]: ...
|
||||
@overload
|
||||
def __truediv__(self: Interval[Timedelta], y: float) -> Interval[Timedelta]: ...
|
||||
@overload
|
||||
def __floordiv__(
|
||||
self: Interval[int], y: _OrderableScalarT
|
||||
) -> Interval[_OrderableScalarT]: ...
|
||||
@overload
|
||||
def __floordiv__(self: Interval[float], y: float) -> Interval[float]: ...
|
||||
@overload
|
||||
def __floordiv__(self: Interval[Timedelta], y: float) -> Interval[Timedelta]: ...
|
||||
@overload
|
||||
def overlaps(self: Interval[_OrderableT], other: Interval[_OrderableT]) -> bool: ...
|
||||
@overload
|
||||
def overlaps(self: Interval[int], other: Interval[float]) -> bool: ...
|
||||
@overload
|
||||
def overlaps(self: Interval[float], other: Interval[int]) -> bool: ...
|
||||
@overload
|
||||
def __gt__(self, other: Interval[_OrderableT]) -> bool: ...
|
||||
@overload
|
||||
def __gt__(
|
||||
self: IntervalT, other: IntervalIndex[IntervalT]
|
||||
) -> np_1darray[np.bool]: ...
|
||||
@overload
|
||||
def __gt__(
|
||||
self,
|
||||
other: Series[int] | Series[float] | TimestampSeries | TimedeltaSeries,
|
||||
) -> Series[bool]: ...
|
||||
@overload
|
||||
def __lt__(self, other: Interval[_OrderableT]) -> bool: ...
|
||||
@overload
|
||||
def __lt__(
|
||||
self: IntervalT, other: IntervalIndex[IntervalT]
|
||||
) -> np_1darray[np.bool]: ...
|
||||
@overload
|
||||
def __lt__(
|
||||
self,
|
||||
other: Series[int] | Series[float] | TimestampSeries | TimedeltaSeries,
|
||||
) -> Series[bool]: ...
|
||||
@overload
|
||||
def __ge__(self, other: Interval[_OrderableT]) -> bool: ...
|
||||
@overload
|
||||
def __ge__(
|
||||
self: IntervalT, other: IntervalIndex[IntervalT]
|
||||
) -> np_1darray[np.bool]: ...
|
||||
@overload
|
||||
def __ge__(
|
||||
self,
|
||||
other: Series[int] | Series[float] | TimestampSeries | TimedeltaSeries,
|
||||
) -> Series[bool]: ...
|
||||
@overload
|
||||
def __le__(self, other: Interval[_OrderableT]) -> bool: ...
|
||||
@overload
|
||||
def __le__(
|
||||
self: IntervalT, other: IntervalIndex[IntervalT]
|
||||
) -> np_1darray[np.bool]: ...
|
||||
@overload
|
||||
def __eq__(self, other: Interval[_OrderableT]) -> bool: ... # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
|
||||
@overload
|
||||
def __eq__(
|
||||
self: IntervalT, other: IntervalIndex[IntervalT]
|
||||
) -> np_1darray[np.bool]: ...
|
||||
@overload
|
||||
def __eq__(self, other: Series[_OrderableT]) -> Series[bool]: ... # type: ignore[overload-overlap]
|
||||
@overload
|
||||
def __eq__(self, other: object) -> Literal[False]: ...
|
||||
@overload
|
||||
def __ne__(self, other: Interval[_OrderableT]) -> bool: ... # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
|
||||
@overload
|
||||
def __ne__(
|
||||
self: IntervalT, other: IntervalIndex[IntervalT]
|
||||
) -> np_1darray[np.bool]: ...
|
||||
@overload
|
||||
def __ne__(self, other: Series[_OrderableT]) -> Series[bool]: ... # type: ignore[overload-overlap]
|
||||
@overload
|
||||
def __ne__(self, other: object) -> Literal[True]: ...
|
||||
|
||||
class IntervalTree(IntervalMixin):
|
||||
def __init__(
|
||||
self,
|
||||
left: np.ndarray,
|
||||
right: np.ndarray,
|
||||
closed: IntervalClosedType = ...,
|
||||
leaf_size: int = ...,
|
||||
) -> None: ...
|
||||
def get_indexer(self, target) -> npt.NDArray[np.intp]: ...
|
||||
def get_indexer_non_unique(
|
||||
self, target
|
||||
) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...
|
||||
_na_count: int
|
||||
@property
|
||||
def is_overlapping(self) -> bool: ...
|
||||
@property
|
||||
def is_monotonic_increasing(self) -> bool: ...
|
||||
def clear_mapping(self) -> None: ...
|
Reference in New Issue
Block a user