dyff-schema 0.20.1__py3-none-any.whl → 0.22.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1064,6 +1064,7 @@ class ModelStorageMedium(str, enum.Enum):
1064
1064
  Mock = "Mock"
1065
1065
  ObjectStorage = "ObjectStorage"
1066
1066
  PersistentVolume = "PersistentVolume"
1067
+ FUSEVolume = "FUSEVolume"
1067
1068
 
1068
1069
 
1069
1070
  class ModelArtifactKind(str, enum.Enum):
@@ -1216,11 +1217,16 @@ class InferenceServiceRunner(DyffSchemaBaseModel):
1216
1217
  )
1217
1218
 
1218
1219
  accelerator: Optional[Accelerator] = pydantic.Field(
1219
- default=None, description="Optional accelerator hardware to use"
1220
+ default=None, description="Optional accelerator hardware to use, per node."
1220
1221
  )
1221
1222
 
1222
1223
  resources: ModelResources = pydantic.Field(
1223
- description="Resource requirements to run the service."
1224
+ description="Resource requirements to run the service, per node."
1225
+ )
1226
+
1227
+ nodes: int = pydantic.Field(
1228
+ default=1,
1229
+ description="Number of nodes. The resource specs apply to *each node*.",
1224
1230
  )
1225
1231
 
1226
1232
 
@@ -1301,11 +1307,19 @@ class InferenceSessionBase(DyffSchemaBaseModel):
1301
1307
  replicas: int = pydantic.Field(default=1, description="Number of model replicas")
1302
1308
 
1303
1309
  accelerator: Optional[Accelerator] = pydantic.Field(
1304
- default=None, description="Accelerator hardware to use."
1310
+ default=None, description="Accelerator hardware to use, per node."
1305
1311
  )
1306
1312
 
1307
1313
  useSpotPods: bool = pydantic.Field(
1308
- default=True, description="Use 'spot pods' for cheaper computation"
1314
+ default=True,
1315
+ description="Use preemptible 'spot pods' for cheaper computation."
1316
+ " Note that some accelerator types may not be available in non-spot pods.",
1317
+ )
1318
+
1319
+ nodes: int = pydantic.Field(
1320
+ default=1,
1321
+ ge=1,
1322
+ description="Number of nodes. The resource specs apply to *each node*.",
1309
1323
  )
1310
1324
 
1311
1325
 
@@ -16,11 +16,11 @@ from __future__ import annotations
16
16
 
17
17
  import re
18
18
  from datetime import datetime
19
- from typing import Optional, Union
19
+ from typing import Literal, Optional, Union
20
20
 
21
21
  import pydantic
22
22
 
23
- from .base import DyffBaseModel
23
+ from .base import DyffBaseModel, DyffSchemaBaseModel
24
24
  from .platform import (
25
25
  AnalysisBase,
26
26
  AnalysisScope,
@@ -252,7 +252,7 @@ class LabelUpdateRequest(DyffRequestBase, Labeled):
252
252
  # specify. I think it's not that important, because all of the query parameters
253
253
  # will always be optional. There could be a problem if the semantics of a
254
254
  # name change, but let's just not do that!
255
- class DyffEntityQueryRequest(DyffRequestDefaultValidators):
255
+ class QueryRequest(DyffRequestDefaultValidators):
256
256
  query: Optional[str] = pydantic.Field(
257
257
  default=None,
258
258
  description="A JSON structure describing a query, encoded as a string."
@@ -262,6 +262,30 @@ class DyffEntityQueryRequest(DyffRequestDefaultValidators):
262
262
  )
263
263
 
264
264
  id: Optional[str] = pydantic.Field(default=None)
265
+
266
+ order: Optional[Literal["ascending", "descending"]] = pydantic.Field(
267
+ default=None,
268
+ description="Sort the results in this order. Default: unsorted."
269
+ " Ignored unless 'orderBy' is also set."
270
+ " The order of operations is query -> order -> limit.",
271
+ )
272
+
273
+ orderBy: Optional[str] = pydantic.Field(
274
+ default=None,
275
+ description="Sort the results by the value of the specified field."
276
+ " The 'order' field must be set also."
277
+ " The order of operations is query -> order -> limit.",
278
+ )
279
+
280
+ limit: Optional[int] = pydantic.Field(
281
+ default=None,
282
+ ge=1,
283
+ description="Return at most this many results."
284
+ " The order of operations is query -> order -> limit.",
285
+ )
286
+
287
+
288
+ class DyffEntityQueryRequest(QueryRequest):
265
289
  account: Optional[str] = pydantic.Field(default=None)
266
290
  status: Optional[str] = pydantic.Field(default=None)
267
291
  reason: Optional[str] = pydantic.Field(default=None)
@@ -270,16 +294,8 @@ class DyffEntityQueryRequest(DyffRequestDefaultValidators):
270
294
  )
271
295
 
272
296
 
273
- class DocumentationQueryRequest(DyffRequestDefaultValidators):
274
- query: Optional[str] = pydantic.Field(
275
- default=None,
276
- description="A JSON structure describing a query, encoded as a string."
277
- " Valid keys are the same as the valid query keys for the corresponding"
278
- " endpoint. Values can be scalars or lists. Lists are treated as"
279
- " disjunctive queries (i.e., 'value $in list').",
280
- )
281
-
282
- id: Optional[str] = pydantic.Field(default=None)
297
+ class DocumentationQueryRequest(QueryRequest):
298
+ pass
283
299
 
284
300
 
285
301
  class _AnalysisProductQueryRequest(DyffEntityQueryRequest):
@@ -409,6 +425,7 @@ __all__ = [
409
425
  "ModelQueryRequest",
410
426
  "ModuleCreateRequest",
411
427
  "ModuleQueryRequest",
428
+ "QueryRequest",
412
429
  "ReportCreateRequest",
413
430
  "ReportQueryRequest",
414
431
  "SafetyCaseQueryRequest",
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: dyff-schema
3
- Version: 0.20.1
3
+ Version: 0.22.0
4
4
  Summary: Data models for the Dyff AI auditing platform.
5
5
  Author-email: Digital Safety Research Institute <contact@dsri.org>
6
6
  License: Apache-2.0
@@ -24,8 +24,8 @@ dyff/schema/v0/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs,92
24
24
  dyff/schema/v0/r1/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs,92
25
25
  dyff/schema/v0/r1/adapters.py,sha256=2t2oxsnGfSEDKKDIEYw4qqLXMH7qlFIwPVuLyUmbsHs,23552
26
26
  dyff/schema/v0/r1/base.py,sha256=IpvlYDr6JjYo6tn8XW4C1Fpgd_uqzZGZsG_cuEn_gQs,19441
27
- dyff/schema/v0/r1/platform.py,sha256=bvROO9WEOV257C_QSWuWeDLCFegaYl116YvMP-AClUE,75609
28
- dyff/schema/v0/r1/requests.py,sha256=3aLqBchrwoFg18ZrVGU938Zo3B4G2o-zzHA2r7noEDc,15259
27
+ dyff/schema/v0/r1/platform.py,sha256=Wkg5bZayE-qQbtXQ2BscLvyybCnZChU9isAAHuPINHs,76069
28
+ dyff/schema/v0/r1/requests.py,sha256=4TM1IKG9IP4MyprIy9E9XA_JqvkuwKAuY1ao1BbVLI0,15676
29
29
  dyff/schema/v0/r1/test.py,sha256=X6dUyVd5svcPCI-PBMOAqEfK9jv3bRDvkQTJzwS96c0,10720
30
30
  dyff/schema/v0/r1/version.py,sha256=isKAGuGxsdru8vDaYmI4YiZdJOu_wNxXK7u6QzD6FE4,392
31
31
  dyff/schema/v0/r1/dataset/__init__.py,sha256=LbVlkO2asyGYBKk2z49xjJYTM-pu9y9e4eQDXgTDLnM,2553
@@ -37,9 +37,9 @@ dyff/schema/v0/r1/dataset/text.py,sha256=nLIn91Zlt0tNdXUklSgjJ-kEDxoPX32ISLkiv2D
37
37
  dyff/schema/v0/r1/dataset/vision.py,sha256=aIe0fbfM_g3DsrDTdg2K803YKLjZBpurM_VJcJFuZLc,369
38
38
  dyff/schema/v0/r1/io/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs,92
39
39
  dyff/schema/v0/r1/io/vllm.py,sha256=CUE9y8KthtUI7sD49S875rDmPvKotSXVIRaBS79aBZs,5320
40
- dyff_schema-0.20.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
41
- dyff_schema-0.20.1.dist-info/METADATA,sha256=RgL-FUplGCL93AiOnjWVkZ5m_QMygt6kRe2bBq4yp_g,3482
42
- dyff_schema-0.20.1.dist-info/NOTICE,sha256=YONACu0s_Ui6jNi-wtEsVQbTU1JIkh8wvLH6d1-Ni_w,43
43
- dyff_schema-0.20.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
44
- dyff_schema-0.20.1.dist-info/top_level.txt,sha256=9e3VVdeX73t_sUJOPQPCcGtYO1JhoErhHIi3WoWGcFI,5
45
- dyff_schema-0.20.1.dist-info/RECORD,,
40
+ dyff_schema-0.22.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
41
+ dyff_schema-0.22.0.dist-info/METADATA,sha256=f7UjVkyIOQDA7i_posc7jWTkHon-zLOrbeT6SKANcxw,3482
42
+ dyff_schema-0.22.0.dist-info/NOTICE,sha256=YONACu0s_Ui6jNi-wtEsVQbTU1JIkh8wvLH6d1-Ni_w,43
43
+ dyff_schema-0.22.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
44
+ dyff_schema-0.22.0.dist-info/top_level.txt,sha256=9e3VVdeX73t_sUJOPQPCcGtYO1JhoErhHIi3WoWGcFI,5
45
+ dyff_schema-0.22.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5