11import re
22from collections .abc import Callable , Generator , Hashable
3- from typing import Any , overload
3+ from typing import Any , Final , final , overload
44from 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
1516class C_HSL :
1617 def __getattr__ (self , value : str ) -> tuple [float , float , float ]: ...
1718
19+ @final
1820class C_RGB :
1921 def __getattr__ (self , value : str ) -> tuple [float , float , float ]: ...
2022
23+ @final
2124class 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
2831def hsl2rgb (hsl : tuple [float , float , float ]) -> tuple [float , float , float ]: ...
2932def rgb2hsl (rgb : tuple [float , float , float ]) -> tuple [float , float , float ]: ...
@@ -33,12 +36,12 @@ def hex2rgb(str_rgb: str) -> tuple[float, float, float]: ...
3336def hex2web (hex : str ) -> str : ...
3437def 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
4346def 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
9497def make_color_factory (
9598 ** kwargs_defaults : Any ,
0 commit comments