dyff-schema 0.38.7__tar.gz → 0.38.9__tar.gz

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.

Files changed (68) hide show
  1. {dyff_schema-0.38.7/dyff_schema.egg-info → dyff_schema-0.38.9}/PKG-INFO +1 -1
  2. dyff_schema-0.38.9/dyff/schema/_version.py +2 -0
  3. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/platform.py +45 -5
  4. {dyff_schema-0.38.7 → dyff_schema-0.38.9/dyff_schema.egg-info}/PKG-INFO +1 -1
  5. dyff_schema-0.38.7/dyff/schema/_version.py +0 -2
  6. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/.gitignore +0 -0
  7. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/.gitlab-ci.yml +0 -0
  8. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/.idea/dyff-schema.iml +0 -0
  9. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/.licenserc.yaml +0 -0
  10. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/.pre-commit-config.yaml +0 -0
  11. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/.prettierignore +0 -0
  12. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/.secrets.baseline +0 -0
  13. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/CODE_OF_CONDUCT.md +0 -0
  14. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/LICENSE +0 -0
  15. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/NOTICE +0 -0
  16. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/README.md +0 -0
  17. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/__init__.py +0 -0
  18. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/adapters.py +0 -0
  19. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/annotations.py +0 -0
  20. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/base.py +0 -0
  21. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/commands.py +0 -0
  22. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/copydoc.py +0 -0
  23. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/dataset/__init__.py +0 -0
  24. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/dataset/arrow.py +0 -0
  25. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/dataset/binary.py +0 -0
  26. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/dataset/classification.py +0 -0
  27. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/dataset/embedding.py +0 -0
  28. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/dataset/text.py +0 -0
  29. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/dataset/vision.py +0 -0
  30. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/errors.py +0 -0
  31. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/ids.py +0 -0
  32. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/io/__init__.py +0 -0
  33. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/io/vllm.py +0 -0
  34. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/platform.py +0 -0
  35. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/py.typed +0 -0
  36. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/quantity.py +0 -0
  37. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/requests.py +0 -0
  38. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/responses.py +0 -0
  39. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/test.py +0 -0
  40. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/__init__.py +0 -0
  41. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/__init__.py +0 -0
  42. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/adapters.py +0 -0
  43. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/base.py +0 -0
  44. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/commands.py +0 -0
  45. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/dataset/__init__.py +0 -0
  46. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/dataset/arrow.py +0 -0
  47. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/dataset/binary.py +0 -0
  48. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/dataset/classification.py +0 -0
  49. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/dataset/embedding.py +0 -0
  50. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/dataset/text.py +0 -0
  51. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/dataset/vision.py +0 -0
  52. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/io/__init__.py +0 -0
  53. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/io/vllm.py +0 -0
  54. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/oci.py +0 -0
  55. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/requests.py +0 -0
  56. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/responses.py +0 -0
  57. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/test.py +0 -0
  58. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/v0/r1/version.py +0 -0
  59. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff/schema/version.py +0 -0
  60. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff_schema.egg-info/SOURCES.txt +0 -0
  61. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff_schema.egg-info/dependency_links.txt +0 -0
  62. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff_schema.egg-info/requires.txt +0 -0
  63. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/dyff_schema.egg-info/top_level.txt +0 -0
  64. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/makefile +0 -0
  65. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/pyproject.toml +0 -0
  66. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/setup.cfg +0 -0
  67. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/tests/test_adapters.py +0 -0
  68. {dyff_schema-0.38.7 → dyff_schema-0.38.9}/tests/test_import.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dyff-schema
3
- Version: 0.38.7
3
+ Version: 0.38.9
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
@@ -0,0 +1,2 @@
1
+ __version__ = version = "0.38.9"
2
+ __version_tuple__ = version_tuple = (0, 38, 9)
@@ -2787,14 +2787,29 @@ class ChallengeSubmission(DyffEntity, ChallengeSubmissionBase):
2787
2787
  class PipelineEvaluationRequest(EvaluationRequestBase):
2788
2788
  kind: Literal["PipelineEvaluationRequest"] = "PipelineEvaluationRequest"
2789
2789
 
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]
2794
+
2790
2795
 
2791
2796
  class PipelineMeasurementRequest(AnalysisRequestBase):
2792
2797
  kind: Literal["PipelineMeasurementRequest"] = "PipelineMeasurementRequest"
2793
2798
 
2799
+ 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]
2803
+
2794
2804
 
2795
2805
  class PipelineSafetyCaseRequest(AnalysisRequestBase):
2796
2806
  kind: Literal["PipelineSafetyCaseRequest"] = "PipelineSafetyCaseRequest"
2797
2807
 
2808
+ 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]
2812
+
2798
2813
 
2799
2814
  PipelineNodeRequest = Union[
2800
2815
  PipelineEvaluationRequest,
@@ -2836,16 +2851,25 @@ class PipelineNode(DyffSchemaBaseModel):
2836
2851
 
2837
2852
  class PipelineParameter(DyffSchemaBaseModel):
2838
2853
  """Declares a parameter that can be passed to the pipeline to customize its
2839
- behavior."""
2854
+ behavior.
2855
+
2856
+ By default, the argument will be substituted for the placeholder value
2857
+ ``$(keyword)``, where ``keyword`` is the ``.keyword`` property of the
2858
+ parameter. In this case, the value of the argument must be a string.
2840
2859
 
2841
- keyword: str = pydantic.Field(description="The keyword of the argument.")
2842
- destination: str = pydantic.Field(
2860
+ If ``.destination`` is specified, the argument will instead overwrite
2861
+ the value at the specified JSON path.
2862
+ """
2863
+
2864
+ keyword: str = pydantic.Field(description="The keyword of the parameter.")
2865
+ destination: Optional[str] = pydantic.Field(
2866
+ default=None,
2843
2867
  description="The field in a pipeline node to substitute with the"
2844
- " parameter value. Should be a string like 'node_name.field1.field2'."
2868
+ " parameter value. Should be a string like 'node_name.field1.field2'.",
2845
2869
  )
2846
2870
  description: Optional[str] = pydantic.Field(
2847
2871
  default=None,
2848
- description="A description of the argument.",
2872
+ description="A description of the parameter.",
2849
2873
  max_length=summary_maxlen(),
2850
2874
  )
2851
2875
 
@@ -2856,6 +2880,10 @@ class PipelineBase(DyffSchemaBaseModel):
2856
2880
  description="The nodes in the pipeline graph.",
2857
2881
  min_length=1,
2858
2882
  )
2883
+ parameters: dict[str, PipelineParameter] = pydantic.Field(
2884
+ default_factory=dict,
2885
+ description="Input parameters used to customize the pipeline.",
2886
+ )
2859
2887
 
2860
2888
  @pydantic.field_validator("nodes", mode="after")
2861
2889
  def validate_node_names_match(cls, nodes: dict[str, PipelineNode]):
@@ -2864,6 +2892,15 @@ class PipelineBase(DyffSchemaBaseModel):
2864
2892
  raise ValueError(f"nodes[{k}]: dict key must match value.name")
2865
2893
  return nodes
2866
2894
 
2895
+ @pydantic.field_validator("parameters", mode="after")
2896
+ def validate_parameter_keywords_match(
2897
+ cls, parameters: dict[str, PipelineParameter]
2898
+ ):
2899
+ for k, v in parameters.items():
2900
+ if k != v.keyword:
2901
+ raise ValueError(f"parameters[{k}]: dict key must match value.keyword")
2902
+ return parameters
2903
+
2867
2904
 
2868
2905
  class Pipeline(DyffEntity, PipelineBase):
2869
2906
  """A set of Dyff workflows that can be executed as a group.
@@ -3166,6 +3203,7 @@ _DyffEntityTypeRevisable = Union[
3166
3203
  Audit,
3167
3204
  AuditProcedure,
3168
3205
  Challenge,
3206
+ ChallengeSubmission,
3169
3207
  DataSource,
3170
3208
  Dataset,
3171
3209
  Evaluation,
@@ -3261,6 +3299,7 @@ _ENTITY_CLASS: dict[Entities, type[DyffEntityType]] = {
3261
3299
  Entities.Report: Report,
3262
3300
  Entities.Revision: Revision,
3263
3301
  Entities.SafetyCase: SafetyCase,
3302
+ Entities.Submission: ChallengeSubmission,
3264
3303
  Entities.Team: Team,
3265
3304
  Entities.UseCase: UseCase,
3266
3305
  }
@@ -3276,6 +3315,7 @@ DyffEntityT = TypeVar(
3276
3315
  Audit,
3277
3316
  AuditProcedure,
3278
3317
  Challenge,
3318
+ ChallengeSubmission,
3279
3319
  DataSource,
3280
3320
  Dataset,
3281
3321
  Evaluation,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dyff-schema
3
- Version: 0.38.7
3
+ Version: 0.38.9
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,2 +0,0 @@
1
- __version__ = version = "0.38.7"
2
- __version_tuple__ = version_tuple = (0, 38, 7)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes