rapidata 2.28.4__py3-none-any.whl → 2.29.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 rapidata might be problematic. Click here for more details.

Files changed (108) hide show
  1. rapidata/__init__.py +1 -1
  2. rapidata/api_client/__init__.py +44 -17
  3. rapidata/api_client/api/__init__.py +1 -0
  4. rapidata/api_client/api/benchmark_api.py +2766 -0
  5. rapidata/api_client/api/campaign_api.py +0 -780
  6. rapidata/api_client/api/coco_api.py +0 -571
  7. rapidata/api_client/api/customer_rapid_api.py +332 -1
  8. rapidata/api_client/api/datapoint_api.py +0 -524
  9. rapidata/api_client/api/dataset_api.py +595 -2276
  10. rapidata/api_client/api/feedback_api.py +0 -270
  11. rapidata/api_client/api/identity_api.py +74 -888
  12. rapidata/api_client/api/leaderboard_api.py +1642 -259
  13. rapidata/api_client/api/order_api.py +617 -5692
  14. rapidata/api_client/api/pipeline_api.py +31 -334
  15. rapidata/api_client/api/validation_set_api.py +469 -3356
  16. rapidata/api_client/api/workflow_api.py +0 -799
  17. rapidata/api_client/models/__init__.py +43 -17
  18. rapidata/api_client/models/add_campaign_model.py +3 -3
  19. rapidata/api_client/models/add_validation_rapid_model.py +1 -3
  20. rapidata/api_client/models/add_validation_text_rapid_model.py +1 -3
  21. rapidata/api_client/models/and_user_filter_model.py +106 -0
  22. rapidata/api_client/models/and_user_filter_model_filters_inner.py +282 -0
  23. rapidata/api_client/models/benchmark_query_result.py +94 -0
  24. rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
  25. rapidata/api_client/models/boost_leaderboard_model.py +89 -0
  26. rapidata/api_client/models/clone_order_model.py +2 -4
  27. rapidata/api_client/models/create_benchmark_model.py +87 -0
  28. rapidata/api_client/models/create_benchmark_participant_model.py +87 -0
  29. rapidata/api_client/models/create_benchmark_participant_result.py +89 -0
  30. rapidata/api_client/models/create_benchmark_result.py +87 -0
  31. rapidata/api_client/models/create_datapoint_result.py +4 -16
  32. rapidata/api_client/models/create_leaderboard_model.py +18 -2
  33. rapidata/api_client/models/create_leaderboard_result.py +5 -3
  34. rapidata/api_client/models/create_order_model.py +3 -3
  35. rapidata/api_client/models/file_asset_input.py +104 -0
  36. rapidata/api_client/models/file_asset_input1.py +104 -0
  37. rapidata/api_client/models/file_asset_input1_file.py +168 -0
  38. rapidata/api_client/models/file_asset_input2.py +104 -0
  39. rapidata/api_client/models/file_asset_input_file.py +182 -0
  40. rapidata/api_client/models/form_file_wrapper.py +120 -0
  41. rapidata/api_client/models/get_benchmark_by_id_query.py +96 -0
  42. rapidata/api_client/models/get_benchmark_by_id_query_result.py +94 -0
  43. rapidata/api_client/models/get_benchmark_by_id_query_result_paged_result.py +105 -0
  44. rapidata/api_client/models/get_benchmark_by_id_result.py +94 -0
  45. rapidata/api_client/models/get_participant_by_id_result.py +6 -22
  46. rapidata/api_client/models/get_standing_by_id_result.py +113 -0
  47. rapidata/api_client/models/get_validation_rapids_result.py +3 -3
  48. rapidata/api_client/models/get_workflow_results_result.py +3 -3
  49. rapidata/api_client/models/local_file_wrapper.py +120 -0
  50. rapidata/api_client/models/multi_asset_input.py +110 -0
  51. rapidata/api_client/models/multi_asset_input1.py +110 -0
  52. rapidata/api_client/models/multi_asset_input1_assets_inner.py +170 -0
  53. rapidata/api_client/models/multi_asset_input2.py +110 -0
  54. rapidata/api_client/models/multi_asset_input_assets_inner.py +170 -0
  55. rapidata/api_client/models/not_user_filter_model.py +3 -3
  56. rapidata/api_client/models/or_user_filter_model.py +3 -3
  57. rapidata/api_client/models/participant_by_benchmark.py +102 -0
  58. rapidata/api_client/models/participant_by_benchmark_paged_result.py +105 -0
  59. rapidata/api_client/models/participant_by_leaderboard.py +6 -2
  60. rapidata/api_client/models/participant_status.py +1 -4
  61. rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
  62. rapidata/api_client/models/potential_validation_rapid.py +103 -0
  63. rapidata/api_client/models/potential_validation_rapid_paged_result.py +105 -0
  64. rapidata/api_client/models/potential_validation_rapid_truth.py +280 -0
  65. rapidata/api_client/models/prompt_asset_metadata_input.py +3 -3
  66. rapidata/api_client/models/prompt_asset_metadata_input_asset.py +170 -0
  67. rapidata/api_client/models/prompt_by_benchmark_result.py +92 -0
  68. rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
  69. rapidata/api_client/models/prompt_metadata_input.py +5 -3
  70. rapidata/api_client/models/proxy_file_wrapper.py +114 -0
  71. rapidata/api_client/models/query_validation_model.py +97 -0
  72. rapidata/api_client/models/rapid_model.py +3 -3
  73. rapidata/api_client/models/simple_workflow_config.py +3 -3
  74. rapidata/api_client/models/simple_workflow_model1.py +3 -3
  75. rapidata/api_client/models/standing_by_leaderboard.py +113 -0
  76. rapidata/api_client/models/standing_by_leaderboard_paged_result.py +105 -0
  77. rapidata/api_client/models/standing_status.py +38 -0
  78. rapidata/api_client/models/stream_file_wrapper.py +116 -0
  79. rapidata/api_client/models/submit_coco_model.py +1 -3
  80. rapidata/api_client/models/submit_prompt_model.py +89 -0
  81. rapidata/api_client/models/text_asset_input.py +100 -0
  82. rapidata/api_client/models/transcription_metadata_input.py +5 -3
  83. rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
  84. rapidata/api_client/models/zip_entry_file_wrapper.py +120 -0
  85. rapidata/api_client_README.md +67 -76
  86. rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
  87. rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +62 -0
  88. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +227 -0
  89. rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +83 -0
  90. rapidata/rapidata_client/filter/not_filter.py +2 -2
  91. rapidata/rapidata_client/filter/or_filter.py +2 -2
  92. rapidata/rapidata_client/metadata/__init__.py +1 -0
  93. rapidata/rapidata_client/metadata/_media_asset_metadata.py +8 -1
  94. rapidata/rapidata_client/metadata/_prompt_identifier_metadata.py +15 -0
  95. rapidata/rapidata_client/order/_rapidata_dataset.py +6 -6
  96. rapidata/rapidata_client/order/_rapidata_order_builder.py +4 -4
  97. rapidata/rapidata_client/order/rapidata_order.py +1 -1
  98. rapidata/rapidata_client/rapidata_client.py +3 -3
  99. rapidata/rapidata_client/validation/rapidata_validation_set.py +1 -1
  100. rapidata/rapidata_client/validation/rapids/rapids.py +4 -6
  101. rapidata/service/openapi_service.py +5 -0
  102. {rapidata-2.28.4.dist-info → rapidata-2.29.0.dist-info}/METADATA +1 -1
  103. {rapidata-2.28.4.dist-info → rapidata-2.29.0.dist-info}/RECORD +106 -57
  104. rapidata/rapidata_client/leaderboard/rapidata_leaderboard.py +0 -127
  105. rapidata/rapidata_client/leaderboard/rapidata_leaderboard_manager.py +0 -92
  106. /rapidata/rapidata_client/{leaderboard → benchmark}/__init__.py +0 -0
  107. {rapidata-2.28.4.dist-info → rapidata-2.29.0.dist-info}/LICENSE +0 -0
  108. {rapidata-2.28.4.dist-info → rapidata-2.29.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Rapidata.Dataset
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: v1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class CreateBenchmarkParticipantModel(BaseModel):
26
+ """
27
+ The model to create a participant in a leaderboard
28
+ """ # noqa: E501
29
+ name: StrictStr = Field(description="The name of the participant.")
30
+ __properties: ClassVar[List[str]] = ["name"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of CreateBenchmarkParticipantModel from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of CreateBenchmarkParticipantModel from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "name": obj.get("name")
84
+ })
85
+ return _obj
86
+
87
+
@@ -0,0 +1,89 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Rapidata.Dataset
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: v1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class CreateBenchmarkParticipantResult(BaseModel):
26
+ """
27
+ CreateBenchmarkParticipantResult
28
+ """ # noqa: E501
29
+ participant_id: StrictStr = Field(alias="participantId")
30
+ dataset_id: StrictStr = Field(alias="datasetId")
31
+ __properties: ClassVar[List[str]] = ["participantId", "datasetId"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of CreateBenchmarkParticipantResult from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of CreateBenchmarkParticipantResult from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({
84
+ "participantId": obj.get("participantId"),
85
+ "datasetId": obj.get("datasetId")
86
+ })
87
+ return _obj
88
+
89
+
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Rapidata.Dataset
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: v1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class CreateBenchmarkResult(BaseModel):
26
+ """
27
+ CreateBenchmarkResult
28
+ """ # noqa: E501
29
+ id: StrictStr
30
+ __properties: ClassVar[List[str]] = ["id"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of CreateBenchmarkResult from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of CreateBenchmarkResult from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "id": obj.get("id")
84
+ })
85
+ return _obj
86
+
87
+
@@ -17,9 +17,8 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
- from typing import Any, ClassVar, Dict, List, Optional
22
- from rapidata.api_client.models.base_error import BaseError
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
23
22
  from typing import Optional, Set
24
23
  from typing_extensions import Self
25
24
 
@@ -28,9 +27,7 @@ class CreateDatapointResult(BaseModel):
28
27
  CreateDatapointResult
29
28
  """ # noqa: E501
30
29
  datapoint_id: StrictStr = Field(alias="datapointId")
31
- errors: Optional[List[BaseError]] = None
32
- created_count: Optional[StrictInt] = Field(default=None, alias="createdCount")
33
- __properties: ClassVar[List[str]] = ["datapointId", "errors", "createdCount"]
30
+ __properties: ClassVar[List[str]] = ["datapointId"]
34
31
 
35
32
  model_config = ConfigDict(
36
33
  populate_by_name=True,
@@ -71,13 +68,6 @@ class CreateDatapointResult(BaseModel):
71
68
  exclude=excluded_fields,
72
69
  exclude_none=True,
73
70
  )
74
- # override the default output from pydantic by calling `to_dict()` of each item in errors (list)
75
- _items = []
76
- if self.errors:
77
- for _item_errors in self.errors:
78
- if _item_errors:
79
- _items.append(_item_errors.to_dict())
80
- _dict['errors'] = _items
81
71
  return _dict
82
72
 
83
73
  @classmethod
@@ -90,9 +80,7 @@ class CreateDatapointResult(BaseModel):
90
80
  return cls.model_validate(obj)
91
81
 
92
82
  _obj = cls.model_validate({
93
- "datapointId": obj.get("datapointId"),
94
- "errors": [BaseError.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None,
95
- "createdCount": obj.get("createdCount")
83
+ "datapointId": obj.get("datapointId")
96
84
  })
97
85
  return _obj
98
86
 
@@ -26,12 +26,15 @@ class CreateLeaderboardModel(BaseModel):
26
26
  """
27
27
  The CreateLeaderboardModel class represents the model for creating a leaderboard.
28
28
  """ # noqa: E501
29
+ benchmark_id: Optional[StrictStr] = Field(default=None, description="If a leaderboard should be added to a preexisting benchmark, the benchmark Id can be provided.", alias="benchmarkId")
30
+ benchmark_name: Optional[StrictStr] = Field(default=None, description="If no BenchmarkId is provided a new benchmark will be created. if no name is supplied the benchmark will be called the same as the leaderboard.", alias="benchmarkName")
29
31
  name: StrictStr = Field(description="The name of the leaderboard.")
30
32
  instruction: StrictStr = Field(description="The instruction datapoints will be matched up against.")
31
33
  show_prompt: StrictBool = Field(description="Indicates if the prompt is shown on the rapids.", alias="showPrompt")
32
34
  response_budget: Optional[StrictInt] = Field(default=None, description="Total amount of responses that get collected per run", alias="responseBudget")
33
35
  min_responses: Optional[StrictInt] = Field(default=None, description="The minimum amount of responses that need to be collected per comparison.", alias="minResponses")
34
- __properties: ClassVar[List[str]] = ["name", "instruction", "showPrompt", "responseBudget", "minResponses"]
36
+ is_inversed: Optional[StrictBool] = Field(default=None, description="If the results should be inversed, meaning people should select the worse model.", alias="isInversed")
37
+ __properties: ClassVar[List[str]] = ["benchmarkId", "benchmarkName", "name", "instruction", "showPrompt", "responseBudget", "minResponses", "isInversed"]
35
38
 
36
39
  model_config = ConfigDict(
37
40
  populate_by_name=True,
@@ -72,6 +75,16 @@ class CreateLeaderboardModel(BaseModel):
72
75
  exclude=excluded_fields,
73
76
  exclude_none=True,
74
77
  )
78
+ # set to None if benchmark_id (nullable) is None
79
+ # and model_fields_set contains the field
80
+ if self.benchmark_id is None and "benchmark_id" in self.model_fields_set:
81
+ _dict['benchmarkId'] = None
82
+
83
+ # set to None if benchmark_name (nullable) is None
84
+ # and model_fields_set contains the field
85
+ if self.benchmark_name is None and "benchmark_name" in self.model_fields_set:
86
+ _dict['benchmarkName'] = None
87
+
75
88
  return _dict
76
89
 
77
90
  @classmethod
@@ -84,11 +97,14 @@ class CreateLeaderboardModel(BaseModel):
84
97
  return cls.model_validate(obj)
85
98
 
86
99
  _obj = cls.model_validate({
100
+ "benchmarkId": obj.get("benchmarkId"),
101
+ "benchmarkName": obj.get("benchmarkName"),
87
102
  "name": obj.get("name"),
88
103
  "instruction": obj.get("instruction"),
89
104
  "showPrompt": obj.get("showPrompt"),
90
105
  "responseBudget": obj.get("responseBudget"),
91
- "minResponses": obj.get("minResponses")
106
+ "minResponses": obj.get("minResponses"),
107
+ "isInversed": obj.get("isInversed")
92
108
  })
93
109
  return _obj
94
110
 
@@ -17,7 +17,7 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, StrictStr
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
@@ -27,7 +27,8 @@ class CreateLeaderboardResult(BaseModel):
27
27
  CreateLeaderboardResult
28
28
  """ # noqa: E501
29
29
  id: StrictStr
30
- __properties: ClassVar[List[str]] = ["id"]
30
+ benchmark_id: StrictStr = Field(alias="benchmarkId")
31
+ __properties: ClassVar[List[str]] = ["id", "benchmarkId"]
31
32
 
32
33
  model_config = ConfigDict(
33
34
  populate_by_name=True,
@@ -80,7 +81,8 @@ class CreateLeaderboardResult(BaseModel):
80
81
  return cls.model_validate(obj)
81
82
 
82
83
  _obj = cls.model_validate({
83
- "id": obj.get("id")
84
+ "id": obj.get("id"),
85
+ "benchmarkId": obj.get("benchmarkId")
84
86
  })
85
87
  return _obj
86
88
 
@@ -20,8 +20,8 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from rapidata.api_client.models.ab_test_selection_a_inner import AbTestSelectionAInner
23
+ from rapidata.api_client.models.and_user_filter_model_filters_inner import AndUserFilterModelFiltersInner
23
24
  from rapidata.api_client.models.create_order_model_referee import CreateOrderModelReferee
24
- from rapidata.api_client.models.create_order_model_user_filters_inner import CreateOrderModelUserFiltersInner
25
25
  from rapidata.api_client.models.create_order_model_workflow import CreateOrderModelWorkflow
26
26
  from rapidata.api_client.models.feature_flag_model import FeatureFlagModel
27
27
  from typing import Optional, Set
@@ -41,7 +41,7 @@ class CreateOrderModel(BaseModel):
41
41
  sticky_state: Optional[StrictStr] = Field(default=None, description="Indicates if the underlying campaign should be sticky.", alias="stickyState")
42
42
  user_score_dimensions: Optional[List[StrictStr]] = Field(default=None, description="The user score dimensions are used to determine the score of the responses from the user.", alias="userScoreDimensions")
43
43
  demographic_keys: Optional[List[StrictStr]] = Field(default=None, description="The demographic keys are used to determine which demographics to store on the resposnes from the user.", alias="demographicKeys")
44
- user_filters: Optional[List[CreateOrderModelUserFiltersInner]] = Field(default=None, description="The user filters are used to restrict the order to only collect votes from a specific demographic.", alias="userFilters")
44
+ user_filters: Optional[List[AndUserFilterModelFiltersInner]] = Field(default=None, description="The user filters are used to restrict the order to only collect votes from a specific demographic.", alias="userFilters")
45
45
  validation_set_id: Optional[StrictStr] = Field(default=None, description="The validation set id can be changed to point to a specific validation set. if not provided a sane default will be used.", alias="validationSetId")
46
46
  selections: Optional[List[AbTestSelectionAInner]] = Field(default=None, description="The selections are used to determine which tasks are shown to a user.")
47
47
  retrieval_mode: Optional[StrictStr] = Field(default=None, description="The retrieval mode defines how rapids are retrieved from the active labeling pool.", alias="retrievalMode")
@@ -228,7 +228,7 @@ class CreateOrderModel(BaseModel):
228
228
  "stickyState": obj.get("stickyState"),
229
229
  "userScoreDimensions": obj.get("userScoreDimensions"),
230
230
  "demographicKeys": obj.get("demographicKeys"),
231
- "userFilters": [CreateOrderModelUserFiltersInner.from_dict(_item) for _item in obj["userFilters"]] if obj.get("userFilters") is not None else None,
231
+ "userFilters": [AndUserFilterModelFiltersInner.from_dict(_item) for _item in obj["userFilters"]] if obj.get("userFilters") is not None else None,
232
232
  "validationSetId": obj.get("validationSetId"),
233
233
  "selections": [AbTestSelectionAInner.from_dict(_item) for _item in obj["selections"]] if obj.get("selections") is not None else None,
234
234
  "retrievalMode": obj.get("retrievalMode"),
@@ -0,0 +1,104 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Rapidata.Dataset
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: v1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from rapidata.api_client.models.file_asset_input_file import FileAssetInputFile
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class FileAssetInput(BaseModel):
27
+ """
28
+ FileAssetInput
29
+ """ # noqa: E501
30
+ t: StrictStr = Field(description="Discriminator value for FileAssetInput", alias="_t")
31
+ file: FileAssetInputFile
32
+ identifier: Optional[StrictStr] = None
33
+ __properties: ClassVar[List[str]] = ["_t", "file", "identifier"]
34
+
35
+ @field_validator('t')
36
+ def t_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value not in set(['FileAssetInput']):
39
+ raise ValueError("must be one of enum values ('FileAssetInput')")
40
+ return value
41
+
42
+ model_config = ConfigDict(
43
+ populate_by_name=True,
44
+ validate_assignment=True,
45
+ protected_namespaces=(),
46
+ )
47
+
48
+
49
+ def to_str(self) -> str:
50
+ """Returns the string representation of the model using alias"""
51
+ return pprint.pformat(self.model_dump(by_alias=True))
52
+
53
+ def to_json(self) -> str:
54
+ """Returns the JSON representation of the model using alias"""
55
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> Optional[Self]:
60
+ """Create an instance of FileAssetInput from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self) -> Dict[str, Any]:
64
+ """Return the dictionary representation of the model using alias.
65
+
66
+ This has the following differences from calling pydantic's
67
+ `self.model_dump(by_alias=True)`:
68
+
69
+ * `None` is only added to the output dict for nullable fields that
70
+ were set at model initialization. Other fields with value `None`
71
+ are ignored.
72
+ * OpenAPI `readOnly` fields are excluded.
73
+ """
74
+ excluded_fields: Set[str] = set([
75
+ "identifier",
76
+ ])
77
+
78
+ _dict = self.model_dump(
79
+ by_alias=True,
80
+ exclude=excluded_fields,
81
+ exclude_none=True,
82
+ )
83
+ # override the default output from pydantic by calling `to_dict()` of file
84
+ if self.file:
85
+ _dict['file'] = self.file.to_dict()
86
+ return _dict
87
+
88
+ @classmethod
89
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
90
+ """Create an instance of FileAssetInput from a dict"""
91
+ if obj is None:
92
+ return None
93
+
94
+ if not isinstance(obj, dict):
95
+ return cls.model_validate(obj)
96
+
97
+ _obj = cls.model_validate({
98
+ "_t": obj.get("_t") if obj.get("_t") is not None else 'FileAssetInput',
99
+ "file": FileAssetInputFile.from_dict(obj["file"]) if obj.get("file") is not None else None,
100
+ "identifier": obj.get("identifier")
101
+ })
102
+ return _obj
103
+
104
+
@@ -0,0 +1,104 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Rapidata.Dataset
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: v1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from rapidata.api_client.models.file_asset_input1_file import FileAssetInput1File
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class FileAssetInput1(BaseModel):
27
+ """
28
+ FileAssetInput1
29
+ """ # noqa: E501
30
+ t: StrictStr = Field(description="Discriminator value for FileAssetInput", alias="_t")
31
+ file: FileAssetInput1File
32
+ identifier: Optional[StrictStr] = None
33
+ __properties: ClassVar[List[str]] = ["_t", "file", "identifier"]
34
+
35
+ @field_validator('t')
36
+ def t_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value not in set(['FileAssetInput']):
39
+ raise ValueError("must be one of enum values ('FileAssetInput')")
40
+ return value
41
+
42
+ model_config = ConfigDict(
43
+ populate_by_name=True,
44
+ validate_assignment=True,
45
+ protected_namespaces=(),
46
+ )
47
+
48
+
49
+ def to_str(self) -> str:
50
+ """Returns the string representation of the model using alias"""
51
+ return pprint.pformat(self.model_dump(by_alias=True))
52
+
53
+ def to_json(self) -> str:
54
+ """Returns the JSON representation of the model using alias"""
55
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> Optional[Self]:
60
+ """Create an instance of FileAssetInput1 from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self) -> Dict[str, Any]:
64
+ """Return the dictionary representation of the model using alias.
65
+
66
+ This has the following differences from calling pydantic's
67
+ `self.model_dump(by_alias=True)`:
68
+
69
+ * `None` is only added to the output dict for nullable fields that
70
+ were set at model initialization. Other fields with value `None`
71
+ are ignored.
72
+ * OpenAPI `readOnly` fields are excluded.
73
+ """
74
+ excluded_fields: Set[str] = set([
75
+ "identifier",
76
+ ])
77
+
78
+ _dict = self.model_dump(
79
+ by_alias=True,
80
+ exclude=excluded_fields,
81
+ exclude_none=True,
82
+ )
83
+ # override the default output from pydantic by calling `to_dict()` of file
84
+ if self.file:
85
+ _dict['file'] = self.file.to_dict()
86
+ return _dict
87
+
88
+ @classmethod
89
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
90
+ """Create an instance of FileAssetInput1 from a dict"""
91
+ if obj is None:
92
+ return None
93
+
94
+ if not isinstance(obj, dict):
95
+ return cls.model_validate(obj)
96
+
97
+ _obj = cls.model_validate({
98
+ "_t": obj.get("_t") if obj.get("_t") is not None else 'FileAssetInput',
99
+ "file": FileAssetInput1File.from_dict(obj["file"]) if obj.get("file") is not None else None,
100
+ "identifier": obj.get("identifier")
101
+ })
102
+ return _obj
103
+
104
+