| @@ 15-50 (lines=36) @@ | ||
| 12 | from ._properties import calculate_properties  | 
                                |
| 13 | ||
| 14 | ||
| 15 | class SearchSpaceDictLike(MutableMapping):  | 
                                |
| 16 | _search_space: dict = None  | 
                                |
| 17 | ||
| 18 | def __init__(self, constraints: List[callable] = None, **param_space):  | 
                                |
| 19 | self._search_space = dict(**param_space)  | 
                                |
| 20 | self.constraints = constraints  | 
                                |
| 21 | ||
| 22 | def __getitem__(self, key):  | 
                                |
| 23 | return self._search_space[key]  | 
                                |
| 24 | ||
| 25 | def __setitem__(self, key, value):  | 
                                |
| 26 | self._search_space[key] = value  | 
                                |
| 27 | ||
| 28 | def __delitem__(self, key):  | 
                                |
| 29 | del self._search_space[key]  | 
                                |
| 30 | ||
| 31 | def __iter__(self):  | 
                                |
| 32 | return iter(self._search_space)  | 
                                |
| 33 | ||
| 34 | def __len__(self):  | 
                                |
| 35 | return len(self._search_space)  | 
                                |
| 36 | ||
| 37 | def __repr__(self):  | 
                                |
| 38 |         return f"{self.__class__.__name__}({self._search_space})" | 
                                |
| 39 | ||
| 40 | def __call__(self):  | 
                                |
| 41 | return self._search_space  | 
                                |
| 42 | ||
| 43 | def keys(self):  | 
                                |
| 44 | return self._search_space.keys()  | 
                                |
| 45 | ||
| 46 | def values(self):  | 
                                |
| 47 | return self._search_space.values()  | 
                                |
| 48 | ||
| 49 | def items(self):  | 
                                |
| 50 | return self._search_space.items()  | 
                                |
| 51 | ||
| 52 | ||
| 53 | class SearchConfig(SearchSpaceDictLike):  | 
                                |
| @@ 14-48 (lines=35) @@ | ||
| 11 | from ._properties import calculate_properties  | 
                                |
| 12 | ||
| 13 | ||
| 14 | class SearchSpaceDictLike(MutableMapping):  | 
                                |
| 15 | _search_space: dict = None  | 
                                |
| 16 | ||
| 17 | def __init__(self, **param_space):  | 
                                |
| 18 | self._search_space = dict(**param_space)  | 
                                |
| 19 | ||
| 20 | def __getitem__(self, key):  | 
                                |
| 21 | return self._search_space[key]  | 
                                |
| 22 | ||
| 23 | def __setitem__(self, key, value):  | 
                                |
| 24 | self._search_space[key] = value  | 
                                |
| 25 | ||
| 26 | def __delitem__(self, key):  | 
                                |
| 27 | del self._search_space[key]  | 
                                |
| 28 | ||
| 29 | def __iter__(self):  | 
                                |
| 30 | return iter(self._search_space)  | 
                                |
| 31 | ||
| 32 | def __len__(self):  | 
                                |
| 33 | return len(self._search_space)  | 
                                |
| 34 | ||
| 35 | def __repr__(self):  | 
                                |
| 36 |         return f"{self.__class__.__name__}({self._search_space})" | 
                                |
| 37 | ||
| 38 | def __call__(self):  | 
                                |
| 39 | return self._search_space  | 
                                |
| 40 | ||
| 41 | def keys(self):  | 
                                |
| 42 | return self._search_space.keys()  | 
                                |
| 43 | ||
| 44 | def values(self):  | 
                                |
| 45 | return self._search_space.values()  | 
                                |
| 46 | ||
| 47 | def items(self):  | 
                                |
| 48 | return self._search_space.items()  | 
                                |
| 49 | ||
| 50 | ||
| 51 | class SearchSpace(SearchSpaceDictLike):  | 
                                |