Skip to content

Commit 3c03e51

Browse files
Use Final
1 parent e87a4a7 commit 3c03e51

1 file changed

Lines changed: 21 additions & 18 deletions

File tree

stubs/colour/colour.pyi

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
11
import re
22
from collections.abc import Callable, Generator, Hashable
3-
from typing import Any, overload
3+
from typing import Any, Final, final, overload
44
from typing_extensions import Self
55

6-
FLOAT_ERROR: float = 0.0000005
6+
FLOAT_ERROR: Final[float] = 0.0000005
77

8-
RGB_TO_COLOR_NAMES: dict[tuple[int, int, int], list[str]]
8+
RGB_TO_COLOR_NAMES: Final[dict[tuple[int, int, int], list[str]]]
99

10-
COLOR_NAME_TO_RGB: dict[list[str], tuple[int, int, int]]
10+
COLOR_NAME_TO_RGB: Final[dict[list[str], tuple[int, int, int]]]
1111

12-
LONG_HEX_COLOR: re.Pattern[str]
13-
SHORT_HEX_COLOR: re.Pattern[str]
12+
LONG_HEX_COLOR: Final[re.Pattern[str]]
13+
SHORT_HEX_COLOR: Final[re.Pattern[str]]
1414

15+
@final
1516
class C_HSL:
1617
def __getattr__(self, value: str) -> tuple[float, float, float]: ...
1718

19+
@final
1820
class C_RGB:
1921
def __getattr__(self, value: str) -> tuple[float, float, float]: ...
2022

23+
@final
2124
class C_HEX:
2225
def __getattr__(self, value: str) -> str: ...
2326

24-
HSL: C_HSL
25-
RGB: C_RGB
26-
HEX: C_HEX
27+
HSL: Final[C_HSL]
28+
RGB: Final[C_RGB]
29+
HEX: Final[C_HEX]
2730

2831
def hsl2rgb(hsl: tuple[float, float, float]) -> tuple[float, float, float]: ...
2932
def rgb2hsl(rgb: tuple[float, float, float]) -> tuple[float, float, float]: ...
@@ -33,12 +36,12 @@ def hex2rgb(str_rgb: str) -> tuple[float, float, float]: ...
3336
def hex2web(hex: str) -> str: ...
3437
def web2hex(web: str, force_long: bool = False) -> str: ...
3538

36-
hsl2hex: Callable[[tuple[float, float, float]], str]
37-
hex2hsl: Callable[[str], tuple[float, float, float]]
38-
rgb2web: Callable[[tuple[float, float, float]], str]
39-
web2rgb: Callable[[str], tuple[float, float, float]]
40-
web2hsl: Callable[[str], tuple[float, float, float]]
41-
hsl2web: Callable[[tuple[float, float, float]], str]
39+
hsl2hex: Final[Callable[[tuple[float, float, float]], str]]
40+
hex2hsl: Final[Callable[[str], tuple[float, float, float]]]
41+
rgb2web: Final[Callable[[tuple[float, float, float]], str]]
42+
web2rgb: Final[Callable[[str], tuple[float, float, float]]]
43+
web2hsl: Final[Callable[[str], tuple[float, float, float]]]
44+
hsl2web: Final[Callable[[tuple[float, float, float]], str]]
4245

4346
def color_scale(
4447
begin_hsl: tuple[float, float, float], end_hsl: tuple[float, float, float], nb: int
@@ -82,14 +85,14 @@ class Color:
8285
def set_blue(self, value: float) -> None: ...
8386
def set_hex(self, value: str) -> None: ...
8487

85-
set_hex_l: Callable[[str], None] = ...
88+
set_hex_l: Final[Callable[[str], None]] = ...
8689

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

91-
RGB_equivalence: Callable[[Color, Color], bool]
92-
HSL_equivalence: Callable[[Color, Color], bool]
94+
RGB_equivalence: Final[Callable[[Color, Color], bool]]
95+
HSL_equivalence: Final[Callable[[Color, Color], bool]]
9396

9497
def make_color_factory(
9598
**kwargs_defaults: Any,

0 commit comments

Comments
 (0)