dyff-schema 0.28.0__py3-none-any.whl → 0.30.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.
Potentially problematic release.
This version of dyff-schema might be problematic. Click here for more details.
- dyff/schema/__init__.py +2 -2
- dyff/schema/_version.py +2 -0
- dyff/schema/copydoc.py +1 -1
- dyff/schema/v0/r1/adapters.py +2 -2
- dyff/schema/v0/r1/base.py +169 -249
- dyff/schema/v0/r1/commands.py +11 -25
- dyff/schema/v0/r1/dataset/arrow.py +35 -36
- dyff/schema/v0/r1/dataset/embedding.py +10 -3
- dyff/schema/v0/r1/dataset/text.py +9 -5
- dyff/schema/v0/r1/io/vllm.py +1 -1
- dyff/schema/v0/r1/platform.py +60 -40
- dyff/schema/v0/r1/requests.py +22 -18
- dyff/schema/v0/r1/version.py +2 -1
- {dyff_schema-0.28.0.dist-info → dyff_schema-0.30.0.dist-info}/METADATA +4 -3
- {dyff_schema-0.28.0.dist-info → dyff_schema-0.30.0.dist-info}/RECORD +19 -18
- {dyff_schema-0.28.0.dist-info → dyff_schema-0.30.0.dist-info}/WHEEL +1 -1
- {dyff_schema-0.28.0.dist-info → dyff_schema-0.30.0.dist-info}/licenses/LICENSE +0 -0
- {dyff_schema-0.28.0.dist-info → dyff_schema-0.30.0.dist-info}/licenses/NOTICE +0 -0
- {dyff_schema-0.28.0.dist-info → dyff_schema-0.30.0.dist-info}/top_level.txt +0 -0
dyff/schema/v0/r1/requests.py
CHANGED
|
@@ -22,7 +22,7 @@ import pydantic
|
|
|
22
22
|
|
|
23
23
|
from ... import upcast
|
|
24
24
|
from . import commands
|
|
25
|
-
from .base import DyffBaseModel, JsonMergePatchSemantics
|
|
25
|
+
from .base import DyffBaseModel, JsonMergePatchSemantics
|
|
26
26
|
from .platform import (
|
|
27
27
|
AnalysisBase,
|
|
28
28
|
AnalysisScope,
|
|
@@ -58,9 +58,9 @@ class DyffRequestDefaultValidators(DyffBaseModel):
|
|
|
58
58
|
but we allow requests to have non-UTC timezones for user convenience.
|
|
59
59
|
"""
|
|
60
60
|
|
|
61
|
-
@pydantic.
|
|
61
|
+
@pydantic.model_validator(mode="after")
|
|
62
62
|
def _require_datetime_timezone_aware(cls, values):
|
|
63
|
-
for k, v in values.items():
|
|
63
|
+
for k, v in values.__dict__.items():
|
|
64
64
|
if isinstance(v, datetime):
|
|
65
65
|
if v.tzinfo is None:
|
|
66
66
|
raise ValueError(f"{cls.__qualname__}.{k}: timezone not set")
|
|
@@ -74,10 +74,14 @@ class DyffRequestBase(SchemaVersion, DyffRequestDefaultValidators):
|
|
|
74
74
|
def dict(
|
|
75
75
|
self, *, by_alias: bool = True, exclude_unset=True, **kwargs
|
|
76
76
|
) -> _ModelAsDict:
|
|
77
|
-
return super().
|
|
77
|
+
return super().model_dump(
|
|
78
|
+
by_alias=by_alias, exclude_unset=exclude_unset, **kwargs
|
|
79
|
+
)
|
|
78
80
|
|
|
79
81
|
def json(self, *, by_alias: bool = True, exclude_unset=True, **kwargs) -> str:
|
|
80
|
-
return super().
|
|
82
|
+
return super().model_dump_json(
|
|
83
|
+
by_alias=by_alias, exclude_unset=exclude_unset, **kwargs
|
|
84
|
+
)
|
|
81
85
|
|
|
82
86
|
|
|
83
87
|
# ----------------------------------------------------------------------------
|
|
@@ -93,7 +97,7 @@ class AnalysisCreateRequest(DyffEntityCreateRequest, AnalysisBase):
|
|
|
93
97
|
|
|
94
98
|
method: str = pydantic.Field(description="Method ID")
|
|
95
99
|
|
|
96
|
-
@pydantic.
|
|
100
|
+
@pydantic.field_validator("scope", check_fields=False)
|
|
97
101
|
def _validate_scope(cls, scope: AnalysisScope) -> AnalysisScope:
|
|
98
102
|
# TODO: This has to be a validator function because we can't apply the
|
|
99
103
|
# regex contraint to AnalysisScope, since there are already entities
|
|
@@ -114,7 +118,7 @@ class AnalysisCreateRequest(DyffEntityCreateRequest, AnalysisBase):
|
|
|
114
118
|
|
|
115
119
|
|
|
116
120
|
class ConcernCreateRequest(DyffEntityCreateRequest, ConcernBase):
|
|
117
|
-
@pydantic.
|
|
121
|
+
@pydantic.field_validator("documentation", check_fields=False)
|
|
118
122
|
def _validate_documentation(
|
|
119
123
|
cls, documentation: DocumentationBase
|
|
120
124
|
) -> DocumentationBase:
|
|
@@ -148,7 +152,7 @@ class InferenceServiceCreateRequest(DyffEntityCreateRequest, InferenceServiceBas
|
|
|
148
152
|
)
|
|
149
153
|
|
|
150
154
|
# TODO: (DYFF-421) Make .image required and remove this validator
|
|
151
|
-
@pydantic.
|
|
155
|
+
@pydantic.field_validator("image", check_fields=False)
|
|
152
156
|
def validate_image_not_none(cls, v):
|
|
153
157
|
if v is None:
|
|
154
158
|
raise ValueError(
|
|
@@ -189,10 +193,10 @@ class EvaluationCreateRequest(DyffEntityCreateRequest, EvaluationBase):
|
|
|
189
193
|
" for the evaluation, instead of starting a new one.",
|
|
190
194
|
)
|
|
191
195
|
|
|
192
|
-
@pydantic.
|
|
196
|
+
@pydantic.model_validator(mode="after")
|
|
193
197
|
def check_session_exactly_one(cls, values):
|
|
194
|
-
session = values.
|
|
195
|
-
session_ref = values.
|
|
198
|
+
session = values.inferenceSession is not None
|
|
199
|
+
session_ref = values.inferenceSessionReference is not None
|
|
196
200
|
if not (session ^ session_ref):
|
|
197
201
|
raise ValueError(
|
|
198
202
|
"must specify exactly one of {inferenceSession, inferenceSessionReference}"
|
|
@@ -208,16 +212,18 @@ class EvaluationCreateRequest(DyffEntityCreateRequest, EvaluationBase):
|
|
|
208
212
|
return EvaluationCreateRequest(
|
|
209
213
|
account=evaluation.account,
|
|
210
214
|
inferenceSessionReference=evaluation.inferenceSessionReference,
|
|
211
|
-
**base.
|
|
215
|
+
**base.model_dump(),
|
|
212
216
|
)
|
|
213
217
|
else:
|
|
214
218
|
return EvaluationCreateRequest(
|
|
215
219
|
account=evaluation.account,
|
|
216
220
|
inferenceSession=EvaluationInferenceSessionRequest(
|
|
217
221
|
inferenceService=evaluation.inferenceSession.inferenceService.id,
|
|
218
|
-
**upcast(
|
|
222
|
+
**upcast(
|
|
223
|
+
InferenceSessionBase, evaluation.inferenceSession
|
|
224
|
+
).model_dump(),
|
|
219
225
|
),
|
|
220
|
-
**base.
|
|
226
|
+
**base.model_dump(),
|
|
221
227
|
)
|
|
222
228
|
|
|
223
229
|
|
|
@@ -268,10 +274,8 @@ class DocumentationEditRequest(
|
|
|
268
274
|
|
|
269
275
|
|
|
270
276
|
class FamilyMembersEditRequest(DyffRequestBase, JsonMergePatchSemantics):
|
|
271
|
-
members: dict[TagNameType, Optional[
|
|
272
|
-
|
|
273
|
-
description="Mapping of names to IDs of member resources.",
|
|
274
|
-
)
|
|
277
|
+
members: dict[TagNameType, Optional[FamilyMemberBase]] = pydantic.Field(
|
|
278
|
+
description="Mapping of names to IDs of member resources.",
|
|
275
279
|
)
|
|
276
280
|
|
|
277
281
|
|
dyff/schema/v0/r1/version.py
CHANGED
|
@@ -10,7 +10,8 @@ SCHEMA_VERSION: str = "0.1"
|
|
|
10
10
|
|
|
11
11
|
class SchemaVersion(pydantic.BaseModel):
|
|
12
12
|
schemaVersion: Literal["0.1"] = pydantic.Field(
|
|
13
|
-
default=SCHEMA_VERSION,
|
|
13
|
+
default=SCHEMA_VERSION, # type: ignore [arg-type]
|
|
14
|
+
description="The schema version.",
|
|
14
15
|
)
|
|
15
16
|
|
|
16
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dyff-schema
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.30.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
|
|
@@ -26,7 +26,7 @@ Requires-Dist: hypothesis-jsonschema
|
|
|
26
26
|
Requires-Dist: jsonpath-ng
|
|
27
27
|
Requires-Dist: numpy<2
|
|
28
28
|
Requires-Dist: pyarrow
|
|
29
|
-
Requires-Dist: pydantic<2
|
|
29
|
+
Requires-Dist: pydantic<3.0.0,>=2.0.0
|
|
30
30
|
Dynamic: license-file
|
|
31
31
|
|
|
32
32
|
# dyff-schema
|
|
@@ -39,8 +39,9 @@ Dynamic: license-file
|
|
|
39
39
|
[](https://github.com/pre-commit/pre-commit)
|
|
40
40
|
[](https://github.com/psf/black)
|
|
41
41
|
[](https://pycqa.github.io/isort/)
|
|
42
|
+
[](https://github.com/PyCQA/docformatter)
|
|
42
43
|
[](https://github.com/prettier/prettier)
|
|
43
|
-
[](https://gitlab.com/saferatday0/cici)
|
|
44
45
|
|
|
45
46
|
<!-- END BADGIE TIME -->
|
|
46
47
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
dyff/schema/__init__.py,sha256=
|
|
1
|
+
dyff/schema/__init__.py,sha256=w7OWDFuyGKd6xt_yllNtKzHahPgywrfU4Ue02psYaMA,2244
|
|
2
|
+
dyff/schema/_version.py,sha256=jaJNt0cIPw7pKpa1ZksSexFHwIRD7mvffKUdrE657pk,80
|
|
2
3
|
dyff/schema/adapters.py,sha256=YMTHv_2VlLGFp-Kqwa6H51hjffHmk8gXjZilHysIF5Q,123
|
|
3
4
|
dyff/schema/annotations.py,sha256=nE6Jk1PLqlShj8uqjE_EzZC9zYnTDW5AVtQcjysiK8M,10018
|
|
4
5
|
dyff/schema/base.py,sha256=jvaNtsSZyFfsdUZTcY_U-yfLY5_GyrMxSXhON2R9XR0,119
|
|
5
6
|
dyff/schema/commands.py,sha256=hlqMJ99ZF_ElnGF6vQO_T872WM7aClFoFKkAXA66boI,123
|
|
6
|
-
dyff/schema/copydoc.py,sha256=
|
|
7
|
+
dyff/schema/copydoc.py,sha256=MSZTU3mHToqV2fx3QCb8H0nbh6JYBOqfzS-tPOw1W54,1075
|
|
7
8
|
dyff/schema/errors.py,sha256=ow3yiucU4wGkeLmapUURp3eyaebwGUwDaVTXpPcrA7M,1542
|
|
8
9
|
dyff/schema/ids.py,sha256=M3kdGRYGPCMnFkRRo0nzHlntdJtBrRwGJ_9R7LlN0bI,2085
|
|
9
10
|
dyff/schema/platform.py,sha256=peHzGGSd5dQ-EFXrWDjBqMUtoOL3iCHxcV3XzW6Rjag,123
|
|
@@ -23,25 +24,25 @@ dyff/schema/io/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs,92
|
|
|
23
24
|
dyff/schema/io/vllm.py,sha256=2q05M_-lTzq9oywKXHPPpCFCSDVCSsRQqtmERzWTtio,123
|
|
24
25
|
dyff/schema/v0/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs,92
|
|
25
26
|
dyff/schema/v0/r1/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs,92
|
|
26
|
-
dyff/schema/v0/r1/adapters.py,sha256=
|
|
27
|
-
dyff/schema/v0/r1/base.py,sha256=
|
|
28
|
-
dyff/schema/v0/r1/commands.py,sha256=
|
|
29
|
-
dyff/schema/v0/r1/platform.py,sha256=
|
|
30
|
-
dyff/schema/v0/r1/requests.py,sha256=
|
|
27
|
+
dyff/schema/v0/r1/adapters.py,sha256=hpwCSW8lkMkUKCLe0zaMUDu-VS_caSxJvPsECEi_XRA,33069
|
|
28
|
+
dyff/schema/v0/r1/base.py,sha256=WEy-xSL_FoC1gwAij1V_TEqPsITiIF_KlBDaDpPLWr8,20359
|
|
29
|
+
dyff/schema/v0/r1/commands.py,sha256=wDNMB8lry-H9G5hlT4m6y4fysoq4glY5qKsHytfehqU,9052
|
|
30
|
+
dyff/schema/v0/r1/platform.py,sha256=Hp9hTaDqWCDsPGHouCmiCMLXByjW8UadXIlgRtb0vZc,82305
|
|
31
|
+
dyff/schema/v0/r1/requests.py,sha256=VLdhyAKpdQytNdZZW60Y5Kg35GmB6BezDwDengl18Ws,17168
|
|
31
32
|
dyff/schema/v0/r1/test.py,sha256=X6dUyVd5svcPCI-PBMOAqEfK9jv3bRDvkQTJzwS96c0,10720
|
|
32
|
-
dyff/schema/v0/r1/version.py,sha256=
|
|
33
|
+
dyff/schema/v0/r1/version.py,sha256=NONebgcv5Thsw_ymud6PacZdGjV6ndBrmLnap-obcpo,428
|
|
33
34
|
dyff/schema/v0/r1/dataset/__init__.py,sha256=LbVlkO2asyGYBKk2z49xjJYTM-pu9y9e4eQDXgTDLnM,2553
|
|
34
|
-
dyff/schema/v0/r1/dataset/arrow.py,sha256=
|
|
35
|
+
dyff/schema/v0/r1/dataset/arrow.py,sha256=2XzJ1D2RqwfYRfLrJrsz-czOXZaPuGiWqXGfTGDBomY,12324
|
|
35
36
|
dyff/schema/v0/r1/dataset/binary.py,sha256=KXvn79SUt3e_ZZXrju2atT_yMFwgAkCgDYXBtfv0E_I,636
|
|
36
37
|
dyff/schema/v0/r1/dataset/classification.py,sha256=pbbEXhxyZ0pgYwzaTlM8hVHPNEJDCdHKOeGowPXgWYc,311
|
|
37
|
-
dyff/schema/v0/r1/dataset/embedding.py,sha256=
|
|
38
|
-
dyff/schema/v0/r1/dataset/text.py,sha256=
|
|
38
|
+
dyff/schema/v0/r1/dataset/embedding.py,sha256=2cmcoV6AsvUBRrefmJ-_Vdfg9NVvdMr0-s7dqki15ls,792
|
|
39
|
+
dyff/schema/v0/r1/dataset/text.py,sha256=MYG5seGODDryRSCy-g0Unh5dD0HCytmZ3FeElC-eE8A,1213
|
|
39
40
|
dyff/schema/v0/r1/dataset/vision.py,sha256=aIe0fbfM_g3DsrDTdg2K803YKLjZBpurM_VJcJFuZLc,369
|
|
40
41
|
dyff/schema/v0/r1/io/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs,92
|
|
41
|
-
dyff/schema/v0/r1/io/vllm.py,sha256=
|
|
42
|
-
dyff_schema-0.
|
|
43
|
-
dyff_schema-0.
|
|
44
|
-
dyff_schema-0.
|
|
45
|
-
dyff_schema-0.
|
|
46
|
-
dyff_schema-0.
|
|
47
|
-
dyff_schema-0.
|
|
42
|
+
dyff/schema/v0/r1/io/vllm.py,sha256=vWyLg-susbg0JDfv6VExBpgFdU2GHP2a14ChOdbckvs,5321
|
|
43
|
+
dyff_schema-0.30.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
44
|
+
dyff_schema-0.30.0.dist-info/licenses/NOTICE,sha256=YONACu0s_Ui6jNi-wtEsVQbTU1JIkh8wvLH6d1-Ni_w,43
|
|
45
|
+
dyff_schema-0.30.0.dist-info/METADATA,sha256=g0DxR2SxqA7qTpENblTBKliqpHsnAqwcoJr7J78dAIg,3623
|
|
46
|
+
dyff_schema-0.30.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
47
|
+
dyff_schema-0.30.0.dist-info/top_level.txt,sha256=9e3VVdeX73t_sUJOPQPCcGtYO1JhoErhHIi3WoWGcFI,5
|
|
48
|
+
dyff_schema-0.30.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|