Skip to content

Commit 412c940

Browse files
committed
Fix typing of filters
1 parent 2b383d5 commit 412c940

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

simvue/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ def get_run_name_from_id(self, run_id: str) -> str:
262262
return _name
263263

264264
@prettify_pydantic
265-
@pydantic.validate_call
265+
@pydantic.validate_call(config={"arbitrary_types_allowed": True})
266266
def get_runs(
267267
self,
268268
filters: typing.Optional[typing.Union[list[str], RunsFilter]],
@@ -901,7 +901,7 @@ def get_folder(
901901
return None
902902
return _folders[0]
903903

904-
@pydantic.validate_call
904+
@pydantic.validate_call(config={"arbitrary_types_allowed": True})
905905
def get_folders(
906906
self,
907907
filters: typing.Optional[typing.Union[list[str], FoldersFilter]] = None,

simvue/filter.py

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -153,50 +153,50 @@ def _generate_members(self) -> None:
153153
setattr(self, _func_name, _out_func)
154154

155155
@pydantic.validate_call
156-
def author(self, username: str = "self") -> "RunsFilter":
156+
def author(self, username: str = "self") -> Self:
157157
self._filters.append(f"user == {username}")
158158
return self
159159

160160
@pydantic.validate_call
161-
def exclude_author(self, username: str = "self") -> "RunsFilter":
161+
def exclude_author(self, username: str = "self") -> Self:
162162
self._filters.append(f"user != {username}")
163163
return self
164164

165-
def starred(self) -> "RunsFilter":
165+
def starred(self) -> Self:
166166
self._filters.append("starred")
167167
return self
168168

169169
@pydantic.validate_call
170-
def has_name(self, name: str) -> "RunsFilter":
170+
def has_name(self, name: str) -> Self:
171171
self._filters.append(f"name == {name}")
172172
return self
173173

174174
@pydantic.validate_call
175-
def has_name_containing(self, name: str) -> "RunsFilter":
175+
def has_name_containing(self, name: str) -> Self:
176176
self._filters.append(f"name contains {name}")
177177
return self
178178

179179
@pydantic.validate_call
180-
def has_status(self, status: Status) -> "RunsFilter":
180+
def has_status(self, status: Status) -> Self:
181181
self._filters.append(f"status == {status.value}")
182182
return self
183183

184-
def is_running(self) -> "RunsFilter":
184+
def is_running(self) -> Self:
185185
return self.has_status(Status.Running)
186186

187-
def is_lost(self) -> "RunsFilter":
187+
def is_lost(self) -> Self:
188188
return self.has_status(Status.Lost)
189189

190-
def has_completed(self) -> "RunsFilter":
190+
def has_completed(self) -> Self:
191191
return self.has_status(Status.Completed)
192192

193-
def has_failed(self) -> "RunsFilter":
193+
def has_failed(self) -> Self:
194194
return self.has_status(Status.Failed)
195195

196196
@pydantic.validate_call
197197
def has_alert(
198198
self, alert_name: str, is_critical: typing.Optional[bool] = None
199-
) -> "RunsFilter":
199+
) -> Self:
200200
self._filters.append(f"alert.name == {alert_name}")
201201
if is_critical is True:
202202
self._filters.append("alert.status == critical")
@@ -211,7 +211,7 @@ def started_within(
211211
hours: pydantic.PositiveInt = 0,
212212
days: pydantic.PositiveInt = 0,
213213
years: pydantic.PositiveInt = 0,
214-
) -> "RunsFilter":
214+
) -> Self:
215215
return self._time_within(Time.Started, hours=hours, days=days, years=years)
216216

217217
@pydantic.validate_call
@@ -221,7 +221,7 @@ def modified_within(
221221
hours: pydantic.PositiveInt = 0,
222222
days: pydantic.PositiveInt = 0,
223223
years: pydantic.PositiveInt = 0,
224-
) -> "RunsFilter":
224+
) -> Self:
225225
return self._time_within(Time.Modified, hours=hours, days=days, years=years)
226226

227227
@pydantic.validate_call
@@ -231,63 +231,63 @@ def ended_within(
231231
hours: pydantic.PositiveInt = 0,
232232
days: pydantic.PositiveInt = 0,
233233
years: pydantic.PositiveInt = 0,
234-
) -> "RunsFilter":
234+
) -> Self:
235235
return self._time_within(Time.Ended, hours=hours, days=days, years=years)
236236

237237
@pydantic.validate_call
238-
def in_folder(self, folder_name: str) -> "RunsFilter":
238+
def in_folder(self, folder_name: str) -> Self:
239239
self._filters.append(f"folder.path == {folder_name}")
240240
return self
241241

242242
@pydantic.validate_call
243-
def has_metadata_attribute(self, attribute: str) -> "RunsFilter":
243+
def has_metadata_attribute(self, attribute: str) -> Self:
244244
self._filters.append(f"metadata.{attribute} exists")
245245
return self
246246

247247
@pydantic.validate_call
248-
def exclude_metadata_attribute(self, attribute: str) -> "RunsFilter":
248+
def exclude_metadata_attribute(self, attribute: str) -> Self:
249249
self._filters.append(f"metadata.{attribute} not exists")
250250
return self
251251

252252
def _value_eq(
253253
self, category: str, attribute: str, value: typing.Union[str, int, float]
254-
) -> "RunsFilter":
254+
) -> Self:
255255
self._filters.append(f"{category}.{attribute} == {value}")
256256
return self
257257

258258
def _value_neq(
259259
self, category: str, attribute: str, value: typing.Union[str, int, float]
260-
) -> "RunsFilter":
260+
) -> Self:
261261
self._filters.append(f"{category}.{attribute} != {value}")
262262
return self
263263

264264
def _value_contains(
265265
self, category: str, attribute: str, value: typing.Union[str, int, float]
266-
) -> "RunsFilter":
266+
) -> Self:
267267
self._filters.append(f"{category}.{attribute} contains {value}")
268268
return self
269269

270270
def _value_leq(
271271
self, category: str, attribute: str, value: typing.Union[int, float]
272-
) -> "RunsFilter":
272+
) -> Self:
273273
self._filters.append(f"{category}.{attribute} <= {value}")
274274
return self
275275

276276
def _value_geq(
277277
self, category: str, attribute: str, value: typing.Union[int, float]
278-
) -> "RunsFilter":
278+
) -> Self:
279279
self._filters.append(f"{category}.{attribute} >= {value}")
280280
return self
281281

282282
def _value_lt(
283283
self, category: str, attribute: str, value: typing.Union[int, float]
284-
) -> "RunsFilter":
284+
) -> Self:
285285
self._filters.append(f"{category}.{attribute} < {value}")
286286
return self
287287

288288
def _value_gt(
289289
self, category: str, attribute: str, value: typing.Union[int, float]
290-
) -> "RunsFilter":
290+
) -> Self:
291291
self._filters.append(f"{category}.{attribute} > {value}")
292292
return self
293293

0 commit comments

Comments
 (0)