dyff-schema 0.38.9__py3-none-any.whl → 0.38.13__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/_version.py CHANGED
@@ -1,2 +1,2 @@
1
- __version__ = version = "0.38.9"
2
- __version_tuple__ = version_tuple = (0, 38, 9)
1
+ __version__ = version = "0.38.13"
2
+ __version_tuple__ = version_tuple = (0, 38, 13)
@@ -2656,7 +2656,7 @@ class ChallengeTaskContent(DyffSchemaBaseModel):
2656
2656
  )
2657
2657
 
2658
2658
 
2659
- class ChallengeSubmissionStructure(DyffSchemaBaseModel):
2659
+ class SubmissionStructure(DyffSchemaBaseModel):
2660
2660
  submissionKind: EntityKindLiteral = pydantic.Field(
2661
2661
  default=Entities.InferenceService.value,
2662
2662
  description="The kind of entity that you can submit to this task.",
@@ -2683,8 +2683,8 @@ class ChallengeTaskBase(DyffSchemaBaseModel):
2683
2683
  assessment: str = pydantic.Field(
2684
2684
  description="ID of the Pipeline used to assess the submission."
2685
2685
  )
2686
- submissionStructure: ChallengeSubmissionStructure = pydantic.Field(
2687
- default_factory=ChallengeSubmissionStructure,
2686
+ submissionStructure: SubmissionStructure = pydantic.Field(
2687
+ default_factory=SubmissionStructure,
2688
2688
  description="How to run the assessment pipeline on a new submission.",
2689
2689
  )
2690
2690
  rules: ChallengeTaskRules = pydantic.Field(description="The rules for submissions.")
@@ -2745,14 +2745,14 @@ class Challenge(DyffEntity):
2745
2745
  return None
2746
2746
 
2747
2747
 
2748
- class ChallengeSubmissionBase(DyffSchemaBaseModel):
2748
+ class SubmissionBase(DyffSchemaBaseModel):
2749
2749
  team: str = pydantic.Field(description="The ID of the team making the submission.")
2750
2750
  submission: EntityIdentifier = pydantic.Field(
2751
2751
  description="The resource being submitted for assessment."
2752
2752
  )
2753
2753
 
2754
2754
 
2755
- class ChallengeSubmission(DyffEntity, ChallengeSubmissionBase):
2755
+ class Submission(DyffEntity, SubmissionBase):
2756
2756
  """A submission of an inference system to a challenge by a team.
2757
2757
 
2758
2758
  All of the constituent resources must already exist. Creating a Submission simply
@@ -2788,27 +2788,31 @@ class PipelineEvaluationRequest(EvaluationRequestBase):
2788
2788
  kind: Literal["PipelineEvaluationRequest"] = "PipelineEvaluationRequest"
2789
2789
 
2790
2790
  def dependencies(self) -> list[str]:
2791
- # This is a dirty hack that works because the types are structurally
2792
- # equivalent as far as .dependencies() cares
2793
- return Evaluation.dependencies(self) # type: ignore[arg-type]
2791
+ if self.inferenceSession is None:
2792
+ raise AssertionError()
2793
+ return [self.dataset, self.inferenceSession.inferenceService]
2794
+
2795
+ @pydantic.model_validator(mode="after")
2796
+ def check_session_not_reference(self):
2797
+ if self.inferenceSession is None or self.inferenceSessionReference is not None:
2798
+ raise ValueError(
2799
+ "evaluations in pipelines must set inferenceSession, not inferenceSessionReference"
2800
+ )
2801
+ return self
2794
2802
 
2795
2803
 
2796
2804
  class PipelineMeasurementRequest(AnalysisRequestBase):
2797
2805
  kind: Literal["PipelineMeasurementRequest"] = "PipelineMeasurementRequest"
2798
2806
 
2799
2807
  def dependencies(self) -> list[str]:
2800
- # This is a dirty hack that works because the types are structurally
2801
- # equivalent as far as .dependencies() cares
2802
- return Measurement.dependencies(self) # type: ignore[arg-type]
2808
+ return [self.method] + [x.entity for x in self.inputs]
2803
2809
 
2804
2810
 
2805
2811
  class PipelineSafetyCaseRequest(AnalysisRequestBase):
2806
2812
  kind: Literal["PipelineSafetyCaseRequest"] = "PipelineSafetyCaseRequest"
2807
2813
 
2808
2814
  def dependencies(self) -> list[str]:
2809
- # This is a dirty hack that works because the types are structurally
2810
- # equivalent as far as .dependencies() cares
2811
- return SafetyCase.dependencies(self) # type: ignore[arg-type]
2815
+ return [self.method] + [x.entity for x in self.inputs]
2812
2816
 
2813
2817
 
2814
2818
  PipelineNodeRequest = Union[
@@ -3203,7 +3207,6 @@ _DyffEntityTypeRevisable = Union[
3203
3207
  Audit,
3204
3208
  AuditProcedure,
3205
3209
  Challenge,
3206
- ChallengeSubmission,
3207
3210
  DataSource,
3208
3211
  Dataset,
3209
3212
  Evaluation,
@@ -3220,6 +3223,7 @@ _DyffEntityTypeRevisable = Union[
3220
3223
  PipelineRun,
3221
3224
  Report,
3222
3225
  SafetyCase,
3226
+ Submission,
3223
3227
  Team,
3224
3228
  UseCase,
3225
3229
  ]
@@ -3299,7 +3303,7 @@ _ENTITY_CLASS: dict[Entities, type[DyffEntityType]] = {
3299
3303
  Entities.Report: Report,
3300
3304
  Entities.Revision: Revision,
3301
3305
  Entities.SafetyCase: SafetyCase,
3302
- Entities.Submission: ChallengeSubmission,
3306
+ Entities.Submission: Submission,
3303
3307
  Entities.Team: Team,
3304
3308
  Entities.UseCase: UseCase,
3305
3309
  }
@@ -3315,7 +3319,6 @@ DyffEntityT = TypeVar(
3315
3319
  Audit,
3316
3320
  AuditProcedure,
3317
3321
  Challenge,
3318
- ChallengeSubmission,
3319
3322
  DataSource,
3320
3323
  Dataset,
3321
3324
  Evaluation,
@@ -3334,6 +3337,7 @@ DyffEntityT = TypeVar(
3334
3337
  Report,
3335
3338
  Revision,
3336
3339
  SafetyCase,
3340
+ Submission,
3337
3341
  Team,
3338
3342
  UseCase,
3339
3343
  )
@@ -3365,8 +3369,6 @@ __all__ = [
3365
3369
  "Challenge",
3366
3370
  "ChallengeContent",
3367
3371
  "ChallengeContentPage",
3368
- "ChallengeSubmission",
3369
- "ChallengeSubmissionBase",
3370
3372
  "ChallengeTask",
3371
3373
  "ChallengeTaskBase",
3372
3374
  "ChallengeTaskContent",
@@ -3503,6 +3505,9 @@ __all__ = [
3503
3505
  "ScoreMetadataRefs",
3504
3506
  "Status",
3505
3507
  "StorageSignedURL",
3508
+ "Submission",
3509
+ "SubmissionBase",
3510
+ "SubmissionStructure",
3506
3511
  "TagName",
3507
3512
  "TagNameType",
3508
3513
  "TaskSchema",
@@ -27,7 +27,6 @@ from .platform import (
27
27
  AnalysisRequestBase,
28
28
  AnalysisScope,
29
29
  ChallengeContent,
30
- ChallengeSubmissionBase,
31
30
  ChallengeTaskBase,
32
31
  ConcernBase,
33
32
  DatasetBase,
@@ -46,6 +45,7 @@ from .platform import (
46
45
  PipelineBase,
47
46
  PipelineRunBase,
48
47
  ReportBase,
48
+ SubmissionBase,
49
49
  TagNameType,
50
50
  TeamBase,
51
51
  summary_maxlen,
@@ -149,9 +149,7 @@ class ChallengeCreateRequest(DyffEntityCreateRequest):
149
149
  )
150
150
 
151
151
 
152
- class ChallengeSubmissionCreateRequest(
153
- DyffEntityCreateRequest, ChallengeSubmissionBase
154
- ):
152
+ class SubmissionCreateRequest(DyffEntityCreateRequest, SubmissionBase):
155
153
  pass
156
154
 
157
155
 
@@ -504,7 +502,6 @@ __all__ = [
504
502
  "ChallengeContentEditRequest",
505
503
  "ChallengeCreateRequest",
506
504
  "ChallengeQueryRequest",
507
- "ChallengeSubmissionCreateRequest",
508
505
  "ChallengeTaskCreateRequest",
509
506
  "ChallengeTaskRulesEditRequest",
510
507
  "ChallengeTeamCreateRequest",
@@ -544,6 +541,7 @@ __all__ = [
544
541
  "ReportQueryRequest",
545
542
  "SafetyCaseQueryRequest",
546
543
  "ScoreQueryRequest",
544
+ "SubmissionCreateRequest",
547
545
  "TeamEditRequest",
548
546
  "TeamQueryRequest",
549
547
  "UseCaseQueryRequest",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dyff-schema
3
- Version: 0.38.9
3
+ Version: 0.38.13
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
@@ -1,5 +1,5 @@
1
1
  dyff/schema/__init__.py,sha256=w7OWDFuyGKd6xt_yllNtKzHahPgywrfU4Ue02psYaMA,2244
2
- dyff/schema/_version.py,sha256=jP_GNrq_tFLhV5z7uMhGy_OtdKaIY_JHxqyFqQGklVA,80
2
+ dyff/schema/_version.py,sha256=50V94fT_56OCMvK0CeEH1SwgrRmZ0di-SpcyDei7ROA,82
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
@@ -29,8 +29,8 @@ dyff/schema/v0/r1/adapters.py,sha256=hpwCSW8lkMkUKCLe0zaMUDu-VS_caSxJvPsECEi_XRA
29
29
  dyff/schema/v0/r1/base.py,sha256=1VJXVLKldOq3aH2HdVgxXXk4DJTZEIiaTa4GzMKzziU,20228
30
30
  dyff/schema/v0/r1/commands.py,sha256=jqbEvDRLpcVGWXqlbniuSKg3UIjlrpKt6_0hiwUpPfQ,20153
31
31
  dyff/schema/v0/r1/oci.py,sha256=YjHDVBJ2IIxqijll70OK6pM-qT6pq8tvU7D3YB9vGM0,6700
32
- dyff/schema/v0/r1/platform.py,sha256=wpCq2sRBxzVt6cetAUl66BW5fMMEFtrUNKDYyxFqZFU,113848
33
- dyff/schema/v0/r1/requests.py,sha256=k9T-xI2DDCjvCCmEg_kZ0M6yl_ZG6uh8rocWCLZLKFA,18590
32
+ dyff/schema/v0/r1/platform.py,sha256=x6-JVK_gw1io-8A89zJfH_3pOu9qZxactsuhFrNNQmU,113785
33
+ dyff/schema/v0/r1/requests.py,sha256=OhkM9QpSimsGaX8TtjSHcWlHg1UYyPCiq-WW9DJ7FdQ,18548
34
34
  dyff/schema/v0/r1/responses.py,sha256=nxy7FPtfw2B_bljz5UGGuSE79HTkDQxKH56AJVmd4Qo,1287
35
35
  dyff/schema/v0/r1/test.py,sha256=X6dUyVd5svcPCI-PBMOAqEfK9jv3bRDvkQTJzwS96c0,10720
36
36
  dyff/schema/v0/r1/version.py,sha256=NONebgcv5Thsw_ymud6PacZdGjV6ndBrmLnap-obcpo,428
@@ -43,9 +43,9 @@ dyff/schema/v0/r1/dataset/text.py,sha256=MYG5seGODDryRSCy-g0Unh5dD0HCytmZ3FeElC-
43
43
  dyff/schema/v0/r1/dataset/vision.py,sha256=tJFF4dkhHX0UXTj1sPW-G22xTSI40gbYO465FuvmvAU,443
44
44
  dyff/schema/v0/r1/io/__init__.py,sha256=L5y8UhRnojerPYHumsxQJRcHCNz8Hj9NM8b47mewMNs,92
45
45
  dyff/schema/v0/r1/io/vllm.py,sha256=vWyLg-susbg0JDfv6VExBpgFdU2GHP2a14ChOdbckvs,5321
46
- dyff_schema-0.38.9.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
47
- dyff_schema-0.38.9.dist-info/licenses/NOTICE,sha256=YONACu0s_Ui6jNi-wtEsVQbTU1JIkh8wvLH6d1-Ni_w,43
48
- dyff_schema-0.38.9.dist-info/METADATA,sha256=w8UkdcgYuYkeN7g30eL42IUDzedbe-AyZ59FLqlL_NM,3734
49
- dyff_schema-0.38.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
50
- dyff_schema-0.38.9.dist-info/top_level.txt,sha256=9e3VVdeX73t_sUJOPQPCcGtYO1JhoErhHIi3WoWGcFI,5
51
- dyff_schema-0.38.9.dist-info/RECORD,,
46
+ dyff_schema-0.38.13.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
47
+ dyff_schema-0.38.13.dist-info/licenses/NOTICE,sha256=YONACu0s_Ui6jNi-wtEsVQbTU1JIkh8wvLH6d1-Ni_w,43
48
+ dyff_schema-0.38.13.dist-info/METADATA,sha256=0_GHYLYCJl_ivN-40TZwmtwey-qsgf63pHQgIqBaOf0,3735
49
+ dyff_schema-0.38.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
50
+ dyff_schema-0.38.13.dist-info/top_level.txt,sha256=9e3VVdeX73t_sUJOPQPCcGtYO1JhoErhHIi3WoWGcFI,5
51
+ dyff_schema-0.38.13.dist-info/RECORD,,