Skip to content

Commit 06f43bb

Browse files
committed
Use colour checks configuration.
1 parent 91ac338 commit 06f43bb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+458
-403
lines changed

.coveragerc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ sigterm = True
55
exclude_lines =
66
pragma: no cover
77
if __name__ == .__main__.:
8+
if TYPE_CHECKING:
89
pass

colour_datasets/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
__major_version__ = "0"
5757
__minor_version__ = "2"
5858
__change_version__ = "6"
59-
__version__ = ".".join((__major_version__, __minor_version__, __change_version__))
59+
__version__ = f"{__major_version__}.{__minor_version__}.{__change_version__}"
6060

6161
try:
6262
_version = (
@@ -68,7 +68,7 @@
6868
.strip()
6969
.decode("utf-8")
7070
)
71-
except Exception:
71+
except Exception: # noqa: BLE001
7272
_version = __version__
7373

7474
colour.utilities.ANCILLARY_COLOUR_SCIENCE_PACKAGES["colour-datasets"] = _version # pyright: ignore

colour_datasets/loaders/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
from __future__ import annotations
44

55
import sys
6+
import typing
7+
8+
if typing.TYPE_CHECKING:
9+
from colour.hints import Any
610

7-
from colour.hints import Any
811
from colour.utilities import CanonicalMapping, warning
912

1013
from colour_datasets.records import datasets

colour_datasets/loaders/abstract.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99

1010
from __future__ import annotations
1111

12+
import typing
1213
from abc import ABC, abstractmethod
1314

14-
from colour.hints import Any
15+
if typing.TYPE_CHECKING:
16+
from colour.hints import Any
1517

16-
from colour_datasets.records import Record
18+
from colour_datasets.records import Record
1719

1820
__author__ = "Colour Developers"
1921
__copyright__ = "Copyright 2019 Colour Developers"
@@ -122,7 +124,7 @@ def load(self) -> Any:
122124
when they implement it, e.g., ``super().sync()``.
123125
"""
124126

125-
def sync(self):
127+
def sync(self) -> None:
126128
"""
127129
Sync the dataset content, i.e., checks whether it is synced and pulls
128130
it if required.

colour_datasets/loaders/asano2015.py

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
from __future__ import annotations
1818

1919
import os
20-
from collections import namedtuple
20+
import typing
21+
from dataclasses import dataclass, field
2122

2223
import numpy as np
2324
import xlrd
@@ -26,7 +27,10 @@
2627
LMS_ConeFundamentals,
2728
XYZ_ColourMatchingFunctions,
2829
)
29-
from colour.hints import Dict, NDArrayFloat
30+
31+
if typing.TYPE_CHECKING:
32+
from colour.hints import Dict
33+
3034
from colour.utilities import as_float_array, tstack
3135

3236
from colour_datasets.loaders import AbstractDatasetLoader
@@ -47,12 +51,8 @@
4751
]
4852

4953

50-
class Specification_Asano2015(
51-
namedtuple(
52-
"Specification_Asano2015",
53-
("XYZ_2", "XYZ_10", "LMS_2", "LMS_10", "parameters", "others"),
54-
)
55-
):
54+
@dataclass(frozen=True)
55+
class Specification_Asano2015:
5656
"""
5757
Define the *Asano (2015)* specification for an observer.
5858
@@ -76,22 +76,12 @@ class Specification_Asano2015(
7676
:cite:`Asano2015`
7777
"""
7878

79-
def __new__(
80-
cls,
81-
XYZ_2: XYZ_ColourMatchingFunctions,
82-
XYZ_10: XYZ_ColourMatchingFunctions,
83-
LMS_2: LMS_ConeFundamentals,
84-
LMS_10: LMS_ConeFundamentals,
85-
parameters: NDArrayFloat,
86-
others: Dict | None = None,
87-
):
88-
"""
89-
Return a new instance of the
90-
:class:`colour_datasets.loaders.asano2015.Specification_Asano2015`
91-
class.
92-
"""
93-
94-
return super().__new__(cls, XYZ_2, XYZ_10, LMS_2, LMS_10, parameters, others)
79+
XYZ_2: XYZ_ColourMatchingFunctions
80+
XYZ_10: XYZ_ColourMatchingFunctions
81+
LMS_2: LMS_ConeFundamentals
82+
LMS_10: LMS_ConeFundamentals
83+
parameters: Dict
84+
others: Dict = field(default_factory=dict)
9585

9686

9787
class DatasetLoader_Asano2015(AbstractDatasetLoader):
@@ -199,7 +189,7 @@ def load(self) -> Dict[str, Dict[int, Specification_Asano2015]]:
199189
observer["LMS_2"],
200190
observer["LMS_10"],
201191
observer["parameters"],
202-
dict(zip(header, values[i])),
192+
dict(zip(header, values[i], strict=False)),
203193
)
204194

205195
return self._content
@@ -284,7 +274,9 @@ def parse_workbook_Asano2015(
284274

285275
for i in range(observers[1]):
286276
observer = i + 1
287-
data[observer]["parameters"] = dict(zip(header, as_float_array(values[i])))
277+
data[observer]["parameters"] = dict(
278+
zip(header, as_float_array(values[i]), strict=False)
279+
)
288280

289281
return data
290282

colour_datasets/loaders/brendel2020.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,14 @@
1818
from __future__ import annotations
1919

2020
import os
21+
import typing
2122

2223
import numpy as np
2324
from colour import LinearInterpolator, SpectralDistribution, SpectralShape
24-
from colour.hints import Dict
25+
26+
if typing.TYPE_CHECKING:
27+
from colour.hints import Dict
28+
2529
from colour.utilities import as_int
2630

2731
from colour_datasets.loaders import AbstractDatasetLoader

0 commit comments

Comments
 (0)