dyff-schema 0.30.1__py3-none-any.whl → 0.31.1__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.
dyff/schema/_version.py CHANGED
@@ -1,2 +1,2 @@
1
- __version__ = version = "0.30.1"
2
- __version_tuple__ = version_tuple = (0, 30, 1)
1
+ __version__ = version = "0.31.1"
2
+ __version_tuple__ = version_tuple = (0, 31, 1)
@@ -251,6 +251,9 @@ class Resources(str, enum.Enum):
251
251
  breaks existing API keys.
252
252
  """
253
253
 
254
+ ChoresValidateSchema = "chores/validate-schema"
255
+ """Administrative task: Schema validation operations."""
256
+
254
257
  ALL = "*"
255
258
 
256
259
  @staticmethod
@@ -1955,11 +1958,20 @@ class Method(DyffEntity, MethodBase):
1955
1958
  return None
1956
1959
 
1957
1960
 
1961
+ class EntityIDMarker:
1962
+ """Marker class to indicate that a field contains an entity ID that supports
1963
+ family@tag resolution."""
1964
+
1965
+
1966
+ # Type alias for entity ID fields that support family@tag resolution
1967
+ EntityIDField: TypeAlias = Annotated[str, EntityIDMarker]
1968
+
1969
+
1958
1970
  class AnalysisInput(DyffSchemaBaseModel):
1959
1971
  keyword: str = pydantic.Field(
1960
1972
  description="The 'keyword' specified for this input in the MethodSpec."
1961
1973
  )
1962
- entity: str = pydantic.Field(
1974
+ entity: EntityIDField = pydantic.Field(
1963
1975
  description="The ID of the entity whose data should be made available as 'keyword'."
1964
1976
  )
1965
1977
 
@@ -2495,6 +2507,8 @@ __all__ = [
2495
2507
  "Entities",
2496
2508
  "EntityID",
2497
2509
  "EntityIdentifier",
2510
+ "EntityIDField",
2511
+ "EntityIDMarker",
2498
2512
  "EntityKindLiteral",
2499
2513
  "Evaluation",
2500
2514
  "EvaluationBase",
@@ -30,6 +30,7 @@ from .platform import (
30
30
  DatasetBase,
31
31
  DataView,
32
32
  DocumentationBase,
33
+ EntityIDField,
33
34
  Evaluation,
34
35
  EvaluationBase,
35
36
  FamilyBase,
@@ -95,7 +96,7 @@ class AnalysisCreateRequest(DyffEntityCreateRequest, AnalysisBase):
95
96
  """An Analysis transforms Datasets, Evaluations, and Measurements into new
96
97
  Measurements or SafetyCases."""
97
98
 
98
- method: str = pydantic.Field(description="Method ID")
99
+ method: EntityIDField = pydantic.Field(description="Method ID")
99
100
 
100
101
  @pydantic.field_validator("scope", check_fields=False)
101
102
  def _validate_scope(cls, scope: AnalysisScope) -> AnalysisScope:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dyff-schema
3
- Version: 0.30.1
3
+ Version: 0.31.1
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
@@ -12,12 +12,11 @@ Classifier: Intended Audience :: Science/Research
12
12
  Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
19
18
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
20
- Requires-Python: >=3.9
19
+ Requires-Python: >=3.10
21
20
  Description-Content-Type: text/markdown
22
21
  License-File: LICENSE
23
22
  License-File: NOTICE
@@ -27,6 +26,8 @@ Requires-Dist: jsonpath-ng
27
26
  Requires-Dist: numpy<2
28
27
  Requires-Dist: pyarrow
29
28
  Requires-Dist: pydantic<3.0.0,>=2.0.0
29
+ Provides-Extra: dev
30
+ Requires-Dist: pytest; extra == "dev"
30
31
  Dynamic: license-file
31
32
 
32
33
  # dyff-schema
@@ -1,5 +1,5 @@
1
1
  dyff/schema/__init__.py,sha256=w7OWDFuyGKd6xt_yllNtKzHahPgywrfU4Ue02psYaMA,2244
2
- dyff/schema/_version.py,sha256=b5YBuhpx4KBNLup_QY5e0xhsx1Q2LttYULeEoU-8uhY,80
2
+ dyff/schema/_version.py,sha256=xYca_BM655IHW3SpDaF4qHGb28po0Ino5HCEk8E6NAg,80
3
3
  dyff/schema/adapters.py,sha256=YMTHv_2VlLGFp-Kqwa6H51hjffHmk8gXjZilHysIF5Q,123
4
4
  dyff/schema/annotations.py,sha256=nE6Jk1PLqlShj8uqjE_EzZC9zYnTDW5AVtQcjysiK8M,10018
5
5
  dyff/schema/base.py,sha256=jvaNtsSZyFfsdUZTcY_U-yfLY5_GyrMxSXhON2R9XR0,119
@@ -27,8 +27,8 @@ dyff/schema/v0/r1/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs
27
27
  dyff/schema/v0/r1/adapters.py,sha256=hpwCSW8lkMkUKCLe0zaMUDu-VS_caSxJvPsECEi_XRA,33069
28
28
  dyff/schema/v0/r1/base.py,sha256=zaxU2fIu1Ca-nZsZwG0eb7COJmnPkDZ_yLrieHXqr0s,20353
29
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
30
+ dyff/schema/v0/r1/platform.py,sha256=7ErqSqPLQD2bIEqnJByktBb7RaQYRkZbqQsofb0dFIM,82736
31
+ dyff/schema/v0/r1/requests.py,sha256=C-LX-NAIDgh88xCl3NW7wqLIpurK8SXqmhRnGvy4BM0,17197
32
32
  dyff/schema/v0/r1/test.py,sha256=X6dUyVd5svcPCI-PBMOAqEfK9jv3bRDvkQTJzwS96c0,10720
33
33
  dyff/schema/v0/r1/version.py,sha256=NONebgcv5Thsw_ymud6PacZdGjV6ndBrmLnap-obcpo,428
34
34
  dyff/schema/v0/r1/dataset/__init__.py,sha256=LbVlkO2asyGYBKk2z49xjJYTM-pu9y9e4eQDXgTDLnM,2553
@@ -40,9 +40,9 @@ dyff/schema/v0/r1/dataset/text.py,sha256=MYG5seGODDryRSCy-g0Unh5dD0HCytmZ3FeElC-
40
40
  dyff/schema/v0/r1/dataset/vision.py,sha256=aIe0fbfM_g3DsrDTdg2K803YKLjZBpurM_VJcJFuZLc,369
41
41
  dyff/schema/v0/r1/io/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs,92
42
42
  dyff/schema/v0/r1/io/vllm.py,sha256=vWyLg-susbg0JDfv6VExBpgFdU2GHP2a14ChOdbckvs,5321
43
- dyff_schema-0.30.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
44
- dyff_schema-0.30.1.dist-info/licenses/NOTICE,sha256=YONACu0s_Ui6jNi-wtEsVQbTU1JIkh8wvLH6d1-Ni_w,43
45
- dyff_schema-0.30.1.dist-info/METADATA,sha256=q23-qxTt8hJXIjMnf3sM4VA4JgFhdyWkmPM_xeM5qgE,3623
46
- dyff_schema-0.30.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
47
- dyff_schema-0.30.1.dist-info/top_level.txt,sha256=9e3VVdeX73t_sUJOPQPCcGtYO1JhoErhHIi3WoWGcFI,5
48
- dyff_schema-0.30.1.dist-info/RECORD,,
43
+ dyff_schema-0.31.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
44
+ dyff_schema-0.31.1.dist-info/licenses/NOTICE,sha256=YONACu0s_Ui6jNi-wtEsVQbTU1JIkh8wvLH6d1-Ni_w,43
45
+ dyff_schema-0.31.1.dist-info/METADATA,sha256=CWl03-J57aLei00PtpH5PuDC5aL8cgd6TqzZkaAG7lg,3632
46
+ dyff_schema-0.31.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
47
+ dyff_schema-0.31.1.dist-info/top_level.txt,sha256=9e3VVdeX73t_sUJOPQPCcGtYO1JhoErhHIi3WoWGcFI,5
48
+ dyff_schema-0.31.1.dist-info/RECORD,,