You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.4 KiB
Python

"""
Typing support for Matplotlib
This module contains Type aliases which are useful for Matplotlib and potentially
downstream libraries.
.. admonition:: Provisional status of typing
The ``typing`` module and type stub files are considered provisional and may change
at any time without a deprecation period.
"""
from collections.abc import Hashable, Sequence
import pathlib
from typing import Any, Callable, Literal, TypeAlias, TypeVar, Union
from . import path
from ._enums import JoinStyle, CapStyle
from .artist import Artist
from .backend_bases import RendererBase
from .markers import MarkerStyle
from .transforms import Bbox, Transform
RGBColorType: TypeAlias = tuple[float, float, float] | str
RGBAColorType: TypeAlias = (
str | # "none" or "#RRGGBBAA"/"#RGBA" hex strings
tuple[float, float, float, float] |
# 2 tuple (color, alpha) representations, not infinitely recursive
# RGBColorType includes the (str, float) tuple, even for RGBA strings
tuple[RGBColorType, float] |
# (4-tuple, float) is odd, but accepted as the outer float overriding A of 4-tuple
tuple[tuple[float, float, float, float], float]
)
ColorType: TypeAlias = RGBColorType | RGBAColorType
RGBColourType: TypeAlias = RGBColorType
RGBAColourType: TypeAlias = RGBAColorType
ColourType: TypeAlias = ColorType
LineStyleType: TypeAlias = str | tuple[float, Sequence[float]]
DrawStyleType: TypeAlias = Literal["default", "steps", "steps-pre", "steps-mid",
"steps-post"]
MarkEveryType: TypeAlias = (
None |
int | tuple[int, int] | slice | list[int] |
float | tuple[float, float] |
list[bool]
)
MarkerType: TypeAlias = str | path.Path | MarkerStyle
FillStyleType: TypeAlias = Literal["full", "left", "right", "bottom", "top", "none"]
JoinStyleType: TypeAlias = JoinStyle | Literal["miter", "round", "bevel"]
CapStyleType: TypeAlias = CapStyle | Literal["butt", "projecting", "round"]
CoordsBaseType = Union[
str,
Artist,
Transform,
Callable[
[RendererBase],
Union[Bbox, Transform]
]
]
CoordsType = Union[
CoordsBaseType,
tuple[CoordsBaseType, CoordsBaseType]
]
RcStyleType: TypeAlias = (
str |
dict[str, Any] |
pathlib.Path |
Sequence[str | pathlib.Path | dict[str, Any]]
)
_HT = TypeVar("_HT", bound=Hashable)
HashableList: TypeAlias = list[_HT | "HashableList[_HT]"]
"""A nested list of Hashable values."""