Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions stubs/colour/@tests/stubtest_allowlist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
colour.Color.set_hex_l
2 changes: 2 additions & 0 deletions stubs/colour/METADATA.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
version = "0.1.5"
upstream-repository = "https://github.com/vaab/colour"
98 changes: 98 additions & 0 deletions stubs/colour/colour.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
import re
from collections.abc import Callable, Generator, Hashable
from typing import Any, overload
from typing_extensions import Self

FLOAT_ERROR: float = 0.0000005

RGB_TO_COLOR_NAMES: dict[tuple[int, int, int], list[str]]

COLOR_NAME_TO_RGB: dict[list[str], tuple[int, int, int]]

LONG_HEX_COLOR: re.Pattern[str]
SHORT_HEX_COLOR: re.Pattern[str]

class C_HSL:
def __getattr__(self, value: str) -> tuple[float, float, float]: ...

class C_RGB:
def __getattr__(self, value: str) -> tuple[float, float, float]: ...

class C_HEX:
def __getattr__(self, value: str) -> str: ...

HSL: C_HSL
RGB: C_RGB
HEX: C_HEX

def hsl2rgb(hsl: tuple[float, float, float]) -> tuple[float, float, float]: ...
def rgb2hsl(rgb: tuple[float, float, float]) -> tuple[float, float, float]: ...
def _hue2rgb(v1: float, v2: float, vH: float) -> float: ...
def rgb2hex(rgb: tuple[float, float, float], force_long: bool = False) -> str: ...
def hex2rgb(str_rgb: str) -> tuple[float, float, float]: ...
def hex2web(hex: str) -> str: ...
def web2hex(web: str, force_long: bool = False) -> str: ...

hsl2hex: Callable[[tuple[float, float, float]], str]
hex2hsl: Callable[[str], tuple[float, float, float]]
rgb2web: Callable[[tuple[float, float, float]], str]
web2rgb: Callable[[str], tuple[float, float, float]]
web2hsl: Callable[[str], tuple[float, float, float]]
hsl2web: Callable[[tuple[float, float, float]], str]

def color_scale(
begin_hsl: tuple[float, float, float], end_hsl: tuple[float, float, float], nb: int
) -> tuple[float, float, float]: ...
def RGB_color_picker(obj: Any) -> Color: ...

@overload
def hash_or_str(obj: Hashable) -> int: ...
@overload
def hash_or_str(obj: object) -> str: ... # type: ignore[overload-cannot-match]

class Color:
def __init__(
self,
color: Self | str | None = None,
pick_for: object | None = None,
picker: Callable[[object], Color] = ...,
pick_key: Callable[[object], int | str] = ...,
**kwargs: Any,
) -> None: ...
def __getattr__(self, label: str) -> Any: ...
def __setattr__(self, label: str, value: Any) -> None: ...
def get_hsl(self) -> tuple[float, float, float]: ...
def get_hex(self) -> str: ...
def get_hex_l(self) -> str: ...
def get_rgb(self) -> tuple[float, float, float]: ...
def get_hue(self) -> float: ...
def get_saturation(self) -> float: ...
def get_luminance(self) -> float: ...
def get_red(self) -> float: ...
def get_green(self) -> float: ...
def get_blue(self) -> float: ...
def get_web(self) -> str: ...
def set_hsl(self, value: float) -> None: ...
def set_rgb(self, value: float) -> None: ...
def set_hue(self, value: float) -> None: ...
def set_saturation(self, value: float) -> None: ...
def set_luminance(self, value: float) -> None: ...
def set_red(self, value: float) -> None: ...
def set_green(self, value: float) -> None: ...
def set_blue(self, value: float) -> None: ...
def set_hex(self, value: str) -> None: ...

set_hex_l: Callable[[str], None] = ...

def set_web(self, value: str) -> None: ...
def range_to(self, value: str | Color | None, steps: int) -> Generator[Color]: ...
def __eq__(self, other: object) -> bool | type[NotImplemented]: ... # type: ignore[override, valid-type] # pyright: ignore[reportInvalidTypeForm]

RGB_equivalence: Callable[[Color, Color], bool]
HSL_equivalence: Callable[[Color, Color], bool]

def make_color_factory(
**kwargs_defaults: Any,
) -> Callable[
[Color | str | None, object | None, Callable[[object], Color], object | None, Callable[[object], int | str]], Color
]: ...
Loading