rapidata 1.1.0__py3-none-any.whl → 1.2.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.
Files changed (82) hide show
  1. rapidata/__init__.py +1 -0
  2. rapidata/api_client/__init__.py +30 -8
  3. rapidata/api_client/api/__init__.py +2 -0
  4. rapidata/api_client/api/campaign_api.py +8 -4
  5. rapidata/api_client/api/coco_api.py +4 -2
  6. rapidata/api_client/api/compare_workflow_api.py +2 -1
  7. rapidata/api_client/api/datapoint_api.py +6 -3
  8. rapidata/api_client/api/dataset_api.py +404 -396
  9. rapidata/api_client/api/identity_api.py +329 -50
  10. rapidata/api_client/api/newsletter_api.py +4 -2
  11. rapidata/api_client/api/order_api.py +40 -20
  12. rapidata/api_client/api/pipeline_api.py +6 -3
  13. rapidata/api_client/api/rapid_api.py +10 -5
  14. rapidata/api_client/api/rapidata_identity_api_api.py +272 -0
  15. rapidata/api_client/api/simple_workflow_api.py +2 -1
  16. rapidata/api_client/api/user_info_api.py +272 -0
  17. rapidata/api_client/api/validation_api.py +14 -7
  18. rapidata/api_client/api/workflow_api.py +30 -1067
  19. rapidata/api_client/models/__init__.py +28 -8
  20. rapidata/api_client/models/classification_metadata_model.py +98 -0
  21. rapidata/api_client/models/compare_workflow_config.py +3 -3
  22. rapidata/api_client/models/compare_workflow_config_model.py +3 -3
  23. rapidata/api_client/models/compare_workflow_model1.py +4 -18
  24. rapidata/api_client/models/compare_workflow_model1_referee.py +154 -0
  25. rapidata/api_client/models/completed_rapid_model.py +3 -3
  26. rapidata/api_client/models/completed_rapid_model_asset.py +170 -0
  27. rapidata/api_client/models/count_metadata_model.py +98 -0
  28. rapidata/api_client/models/demographic_metadata_model.py +100 -0
  29. rapidata/api_client/models/file_asset_model.py +3 -3
  30. rapidata/api_client/models/file_asset_model1.py +108 -0
  31. rapidata/api_client/models/file_asset_model1_metadata_inner.py +252 -0
  32. rapidata/api_client/models/file_asset_model2.py +108 -0
  33. rapidata/api_client/models/file_asset_model_metadata_inner.py +252 -0
  34. rapidata/api_client/models/image_dimension_metadata_model.py +100 -0
  35. rapidata/api_client/models/in_progress_rapid_model.py +3 -3
  36. rapidata/api_client/models/issue_auth_token_result.py +1 -1
  37. rapidata/api_client/models/legacy_issue_client_auth_token_result.py +87 -0
  38. rapidata/api_client/models/legacy_request_password_reset_command.py +98 -0
  39. rapidata/api_client/models/legacy_submit_password_reset_command.py +102 -0
  40. rapidata/api_client/models/location_metadata_model.py +100 -0
  41. rapidata/api_client/models/multi_asset_model.py +3 -3
  42. rapidata/api_client/models/multi_asset_model1.py +118 -0
  43. rapidata/api_client/models/multi_asset_model1_assets_inner.py +170 -0
  44. rapidata/api_client/models/multi_asset_model2.py +118 -0
  45. rapidata/api_client/models/not_started_rapid_model.py +3 -3
  46. rapidata/api_client/models/null_asset_model.py +3 -3
  47. rapidata/api_client/models/null_asset_model1.py +106 -0
  48. rapidata/api_client/models/null_asset_model2.py +106 -0
  49. rapidata/api_client/models/original_filename_metadata_model.py +98 -0
  50. rapidata/api_client/models/prompt_metadata_model.py +98 -0
  51. rapidata/api_client/models/query_validation_rapids_result_asset.py +40 -40
  52. rapidata/api_client/models/ranked_datapoint_model.py +3 -3
  53. rapidata/api_client/models/simple_workflow_config.py +6 -6
  54. rapidata/api_client/models/simple_workflow_config_model.py +3 -3
  55. rapidata/api_client/models/simple_workflow_model1.py +7 -21
  56. rapidata/api_client/models/simple_workflow_model1_blueprint.py +238 -0
  57. rapidata/api_client/models/text_asset_model.py +3 -3
  58. rapidata/api_client/models/text_asset_model1.py +108 -0
  59. rapidata/api_client/models/text_asset_model2.py +108 -0
  60. rapidata/api_client/models/text_metadata_model.py +98 -0
  61. rapidata/api_client/models/transcription_metadata_model.py +98 -0
  62. rapidata/api_client/models/translated_prompt_metadata_model.py +102 -0
  63. rapidata/api_client/models/translated_string.py +93 -0
  64. rapidata/api_client_README.md +36 -13
  65. rapidata/rapidata_client/__init__.py +13 -2
  66. rapidata/rapidata_client/assets/media_asset.py +1 -1
  67. rapidata/rapidata_client/assets/multi_asset.py +14 -3
  68. rapidata/rapidata_client/dataset/rapidata_dataset.py +59 -21
  69. rapidata/rapidata_client/dataset/validation_set_builder.py +1 -1
  70. rapidata/rapidata_client/order/rapidata_order.py +49 -18
  71. rapidata/rapidata_client/order/rapidata_order_builder.py +99 -41
  72. rapidata/rapidata_client/selection/__init__.py +1 -0
  73. rapidata/rapidata_client/selection/capped_selection.py +25 -0
  74. rapidata/rapidata_client/selection/demographic_selection.py +3 -2
  75. rapidata/rapidata_client/simple_builders/__init__.py +0 -0
  76. rapidata/rapidata_client/simple_builders/simple_classification_builders.py +14 -9
  77. rapidata/rapidata_client/simple_builders/simple_compare_builders.py +6 -3
  78. rapidata/service/openapi_service.py +15 -0
  79. {rapidata-1.1.0.dist-info → rapidata-1.2.1.dist-info}/METADATA +1 -1
  80. {rapidata-1.1.0.dist-info → rapidata-1.2.1.dist-info}/RECORD +82 -50
  81. {rapidata-1.1.0.dist-info → rapidata-1.2.1.dist-info}/LICENSE +0 -0
  82. {rapidata-1.1.0.dist-info → rapidata-1.2.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,98 @@
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
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class PromptMetadataModel(BaseModel):
26
+ """
27
+ PromptMetadataModel
28
+ """ # noqa: E501
29
+ t: StrictStr = Field(description="Discriminator value for PromptMetadata", alias="_t")
30
+ prompt: StrictStr
31
+ identifier: StrictStr
32
+ __properties: ClassVar[List[str]] = ["_t", "prompt", "identifier"]
33
+
34
+ @field_validator('t')
35
+ def t_validate_enum(cls, value):
36
+ """Validates the enum"""
37
+ if value not in set(['PromptMetadata']):
38
+ raise ValueError("must be one of enum values ('PromptMetadata')")
39
+ return value
40
+
41
+ model_config = ConfigDict(
42
+ populate_by_name=True,
43
+ validate_assignment=True,
44
+ protected_namespaces=(),
45
+ )
46
+
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.model_dump(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
55
+ return json.dumps(self.to_dict())
56
+
57
+ @classmethod
58
+ def from_json(cls, json_str: str) -> Optional[Self]:
59
+ """Create an instance of PromptMetadataModel from a JSON string"""
60
+ return cls.from_dict(json.loads(json_str))
61
+
62
+ def to_dict(self) -> Dict[str, Any]:
63
+ """Return the dictionary representation of the model using alias.
64
+
65
+ This has the following differences from calling pydantic's
66
+ `self.model_dump(by_alias=True)`:
67
+
68
+ * `None` is only added to the output dict for nullable fields that
69
+ were set at model initialization. Other fields with value `None`
70
+ are ignored.
71
+ """
72
+ excluded_fields: Set[str] = set([
73
+ ])
74
+
75
+ _dict = self.model_dump(
76
+ by_alias=True,
77
+ exclude=excluded_fields,
78
+ exclude_none=True,
79
+ )
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of PromptMetadataModel from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "_t": obj.get("_t") if obj.get("_t") is not None else 'PromptMetadata',
93
+ "prompt": obj.get("prompt"),
94
+ "identifier": obj.get("identifier")
95
+ })
96
+ return _obj
97
+
98
+
@@ -17,30 +17,30 @@ import json
17
17
  import pprint
18
18
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
19
19
  from typing import Any, List, Optional
20
- from rapidata.api_client.models.file_asset_model import FileAssetModel
21
- from rapidata.api_client.models.multi_asset_model import MultiAssetModel
22
- from rapidata.api_client.models.null_asset_model import NullAssetModel
23
- from rapidata.api_client.models.text_asset_model import TextAssetModel
20
+ from rapidata.api_client.models.file_asset_model1 import FileAssetModel1
21
+ from rapidata.api_client.models.multi_asset_model1 import MultiAssetModel1
22
+ from rapidata.api_client.models.null_asset_model1 import NullAssetModel1
23
+ from rapidata.api_client.models.text_asset_model1 import TextAssetModel1
24
24
  from pydantic import StrictStr, Field
25
25
  from typing import Union, List, Set, Optional, Dict
26
26
  from typing_extensions import Literal, Self
27
27
 
28
- QUERYVALIDATIONRAPIDSRESULTASSET_ONE_OF_SCHEMAS = ["FileAssetModel", "MultiAssetModel", "NullAssetModel", "TextAssetModel"]
28
+ QUERYVALIDATIONRAPIDSRESULTASSET_ONE_OF_SCHEMAS = ["FileAssetModel1", "MultiAssetModel1", "NullAssetModel1", "TextAssetModel1"]
29
29
 
30
30
  class QueryValidationRapidsResultAsset(BaseModel):
31
31
  """
32
32
  QueryValidationRapidsResultAsset
33
33
  """
34
- # data type: FileAssetModel
35
- oneof_schema_1_validator: Optional[FileAssetModel] = None
36
- # data type: MultiAssetModel
37
- oneof_schema_2_validator: Optional[MultiAssetModel] = None
38
- # data type: NullAssetModel
39
- oneof_schema_3_validator: Optional[NullAssetModel] = None
40
- # data type: TextAssetModel
41
- oneof_schema_4_validator: Optional[TextAssetModel] = None
42
- actual_instance: Optional[Union[FileAssetModel, MultiAssetModel, NullAssetModel, TextAssetModel]] = None
43
- one_of_schemas: Set[str] = { "FileAssetModel", "MultiAssetModel", "NullAssetModel", "TextAssetModel" }
34
+ # data type: FileAssetModel1
35
+ oneof_schema_1_validator: Optional[FileAssetModel1] = None
36
+ # data type: MultiAssetModel1
37
+ oneof_schema_2_validator: Optional[MultiAssetModel1] = None
38
+ # data type: NullAssetModel1
39
+ oneof_schema_3_validator: Optional[NullAssetModel1] = None
40
+ # data type: TextAssetModel1
41
+ oneof_schema_4_validator: Optional[TextAssetModel1] = None
42
+ actual_instance: Optional[Union[FileAssetModel1, MultiAssetModel1, NullAssetModel1, TextAssetModel1]] = None
43
+ one_of_schemas: Set[str] = { "FileAssetModel1", "MultiAssetModel1", "NullAssetModel1", "TextAssetModel1" }
44
44
 
45
45
  model_config = ConfigDict(
46
46
  validate_assignment=True,
@@ -69,32 +69,32 @@ class QueryValidationRapidsResultAsset(BaseModel):
69
69
  instance = QueryValidationRapidsResultAsset.model_construct()
70
70
  error_messages = []
71
71
  match = 0
72
- # validate data type: FileAssetModel
73
- if not isinstance(v, FileAssetModel):
74
- error_messages.append(f"Error! Input type `{type(v)}` is not `FileAssetModel`")
72
+ # validate data type: FileAssetModel1
73
+ if not isinstance(v, FileAssetModel1):
74
+ error_messages.append(f"Error! Input type `{type(v)}` is not `FileAssetModel1`")
75
75
  else:
76
76
  match += 1
77
- # validate data type: MultiAssetModel
78
- if not isinstance(v, MultiAssetModel):
79
- error_messages.append(f"Error! Input type `{type(v)}` is not `MultiAssetModel`")
77
+ # validate data type: MultiAssetModel1
78
+ if not isinstance(v, MultiAssetModel1):
79
+ error_messages.append(f"Error! Input type `{type(v)}` is not `MultiAssetModel1`")
80
80
  else:
81
81
  match += 1
82
- # validate data type: NullAssetModel
83
- if not isinstance(v, NullAssetModel):
84
- error_messages.append(f"Error! Input type `{type(v)}` is not `NullAssetModel`")
82
+ # validate data type: NullAssetModel1
83
+ if not isinstance(v, NullAssetModel1):
84
+ error_messages.append(f"Error! Input type `{type(v)}` is not `NullAssetModel1`")
85
85
  else:
86
86
  match += 1
87
- # validate data type: TextAssetModel
88
- if not isinstance(v, TextAssetModel):
89
- error_messages.append(f"Error! Input type `{type(v)}` is not `TextAssetModel`")
87
+ # validate data type: TextAssetModel1
88
+ if not isinstance(v, TextAssetModel1):
89
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TextAssetModel1`")
90
90
  else:
91
91
  match += 1
92
92
  if match > 1:
93
93
  # more than 1 match
94
- raise ValueError("Multiple matches found when setting `actual_instance` in QueryValidationRapidsResultAsset with oneOf schemas: FileAssetModel, MultiAssetModel, NullAssetModel, TextAssetModel. Details: " + ", ".join(error_messages))
94
+ raise ValueError("Multiple matches found when setting `actual_instance` in QueryValidationRapidsResultAsset with oneOf schemas: FileAssetModel1, MultiAssetModel1, NullAssetModel1, TextAssetModel1. Details: " + ", ".join(error_messages))
95
95
  elif match == 0:
96
96
  # no match
97
- raise ValueError("No match found when setting `actual_instance` in QueryValidationRapidsResultAsset with oneOf schemas: FileAssetModel, MultiAssetModel, NullAssetModel, TextAssetModel. Details: " + ", ".join(error_messages))
97
+ raise ValueError("No match found when setting `actual_instance` in QueryValidationRapidsResultAsset with oneOf schemas: FileAssetModel1, MultiAssetModel1, NullAssetModel1, TextAssetModel1. Details: " + ", ".join(error_messages))
98
98
  else:
99
99
  return v
100
100
 
@@ -112,37 +112,37 @@ class QueryValidationRapidsResultAsset(BaseModel):
112
112
  error_messages = []
113
113
  match = 0
114
114
 
115
- # deserialize data into FileAssetModel
115
+ # deserialize data into FileAssetModel1
116
116
  try:
117
- instance.actual_instance = FileAssetModel.from_json(json_str)
117
+ instance.actual_instance = FileAssetModel1.from_json(json_str)
118
118
  match += 1
119
119
  except (ValidationError, ValueError) as e:
120
120
  error_messages.append(str(e))
121
- # deserialize data into MultiAssetModel
121
+ # deserialize data into MultiAssetModel1
122
122
  try:
123
- instance.actual_instance = MultiAssetModel.from_json(json_str)
123
+ instance.actual_instance = MultiAssetModel1.from_json(json_str)
124
124
  match += 1
125
125
  except (ValidationError, ValueError) as e:
126
126
  error_messages.append(str(e))
127
- # deserialize data into NullAssetModel
127
+ # deserialize data into NullAssetModel1
128
128
  try:
129
- instance.actual_instance = NullAssetModel.from_json(json_str)
129
+ instance.actual_instance = NullAssetModel1.from_json(json_str)
130
130
  match += 1
131
131
  except (ValidationError, ValueError) as e:
132
132
  error_messages.append(str(e))
133
- # deserialize data into TextAssetModel
133
+ # deserialize data into TextAssetModel1
134
134
  try:
135
- instance.actual_instance = TextAssetModel.from_json(json_str)
135
+ instance.actual_instance = TextAssetModel1.from_json(json_str)
136
136
  match += 1
137
137
  except (ValidationError, ValueError) as e:
138
138
  error_messages.append(str(e))
139
139
 
140
140
  if match > 1:
141
141
  # more than 1 match
142
- raise ValueError("Multiple matches found when deserializing the JSON string into QueryValidationRapidsResultAsset with oneOf schemas: FileAssetModel, MultiAssetModel, NullAssetModel, TextAssetModel. Details: " + ", ".join(error_messages))
142
+ raise ValueError("Multiple matches found when deserializing the JSON string into QueryValidationRapidsResultAsset with oneOf schemas: FileAssetModel1, MultiAssetModel1, NullAssetModel1, TextAssetModel1. Details: " + ", ".join(error_messages))
143
143
  elif match == 0:
144
144
  # no match
145
- raise ValueError("No match found when deserializing the JSON string into QueryValidationRapidsResultAsset with oneOf schemas: FileAssetModel, MultiAssetModel, NullAssetModel, TextAssetModel. Details: " + ", ".join(error_messages))
145
+ raise ValueError("No match found when deserializing the JSON string into QueryValidationRapidsResultAsset with oneOf schemas: FileAssetModel1, MultiAssetModel1, NullAssetModel1, TextAssetModel1. Details: " + ", ".join(error_messages))
146
146
  else:
147
147
  return instance
148
148
 
@@ -156,7 +156,7 @@ class QueryValidationRapidsResultAsset(BaseModel):
156
156
  else:
157
157
  return json.dumps(self.actual_instance)
158
158
 
159
- def to_dict(self) -> Optional[Union[Dict[str, Any], FileAssetModel, MultiAssetModel, NullAssetModel, TextAssetModel]]:
159
+ def to_dict(self) -> Optional[Union[Dict[str, Any], FileAssetModel1, MultiAssetModel1, NullAssetModel1, TextAssetModel1]]:
160
160
  """Returns the dict representation of the actual instance"""
161
161
  if self.actual_instance is None:
162
162
  return None
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List
22
- from rapidata.api_client.models.datapoint_model_asset import DatapointModelAsset
22
+ from rapidata.api_client.models.completed_rapid_model_asset import CompletedRapidModelAsset
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
@@ -28,7 +28,7 @@ class RankedDatapointModel(BaseModel):
28
28
  RankedDatapointModel
29
29
  """ # noqa: E501
30
30
  workflow_datapoint_id: StrictStr = Field(alias="workflowDatapointId")
31
- asset: DatapointModelAsset
31
+ asset: CompletedRapidModelAsset
32
32
  elo: StrictInt
33
33
  __properties: ClassVar[List[str]] = ["workflowDatapointId", "asset", "elo"]
34
34
 
@@ -87,7 +87,7 @@ class RankedDatapointModel(BaseModel):
87
87
 
88
88
  _obj = cls.model_validate({
89
89
  "workflowDatapointId": obj.get("workflowDatapointId"),
90
- "asset": DatapointModelAsset.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
90
+ "asset": CompletedRapidModelAsset.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
91
91
  "elo": obj.get("elo")
92
92
  })
93
93
  return _obj
@@ -19,9 +19,9 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from rapidata.api_client.models.compare_workflow_config_referee import CompareWorkflowConfigReferee
22
+ from rapidata.api_client.models.compare_workflow_model1_referee import CompareWorkflowModel1Referee
23
23
  from rapidata.api_client.models.feature_flag import FeatureFlag
24
- from rapidata.api_client.models.simple_workflow_config_blueprint import SimpleWorkflowConfigBlueprint
24
+ from rapidata.api_client.models.simple_workflow_model1_blueprint import SimpleWorkflowModel1Blueprint
25
25
  from typing import Optional, Set
26
26
  from typing_extensions import Self
27
27
 
@@ -30,8 +30,8 @@ class SimpleWorkflowConfig(BaseModel):
30
30
  SimpleWorkflowConfig
31
31
  """ # noqa: E501
32
32
  t: StrictStr = Field(description="Discriminator value for SimpleWorkflowConfig", alias="_t")
33
- referee: CompareWorkflowConfigReferee
34
- blueprint: SimpleWorkflowConfigBlueprint
33
+ referee: CompareWorkflowModel1Referee
34
+ blueprint: SimpleWorkflowModel1Blueprint
35
35
  target_country_codes: List[StrictStr] = Field(alias="targetCountryCodes")
36
36
  feature_flags: Optional[List[FeatureFlag]] = Field(default=None, alias="featureFlags")
37
37
  priority: Optional[StrictStr] = None
@@ -115,8 +115,8 @@ class SimpleWorkflowConfig(BaseModel):
115
115
 
116
116
  _obj = cls.model_validate({
117
117
  "_t": obj.get("_t") if obj.get("_t") is not None else 'SimpleWorkflowConfig',
118
- "referee": CompareWorkflowConfigReferee.from_dict(obj["referee"]) if obj.get("referee") is not None else None,
119
- "blueprint": SimpleWorkflowConfigBlueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None,
118
+ "referee": CompareWorkflowModel1Referee.from_dict(obj["referee"]) if obj.get("referee") is not None else None,
119
+ "blueprint": SimpleWorkflowModel1Blueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None,
120
120
  "targetCountryCodes": obj.get("targetCountryCodes"),
121
121
  "featureFlags": [FeatureFlag.from_dict(_item) for _item in obj["featureFlags"]] if obj.get("featureFlags") is not None else None,
122
122
  "priority": obj.get("priority"),
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from rapidata.api_client.models.compare_workflow_config_referee import CompareWorkflowConfigReferee
22
+ from rapidata.api_client.models.compare_workflow_model1_referee import CompareWorkflowModel1Referee
23
23
  from rapidata.api_client.models.feature_flag import FeatureFlag
24
24
  from rapidata.api_client.models.simple_workflow_config_model_blueprint import SimpleWorkflowConfigModelBlueprint
25
25
  from typing import Optional, Set
@@ -30,7 +30,7 @@ class SimpleWorkflowConfigModel(BaseModel):
30
30
  The configuration for a simple workflow. A simple workflow creates a rapid for each datapoint in its dataset. It is considered complete when all rapids have been completed.
31
31
  """ # noqa: E501
32
32
  t: StrictStr = Field(description="Discriminator value for SimpleWorkflowConfig", alias="_t")
33
- referee: CompareWorkflowConfigReferee
33
+ referee: CompareWorkflowModel1Referee
34
34
  blueprint: SimpleWorkflowConfigModelBlueprint
35
35
  target_country_codes: List[StrictStr] = Field(description="A list of country codes that this workflow is targeting.", alias="targetCountryCodes")
36
36
  feature_flags: Optional[List[FeatureFlag]] = Field(default=None, alias="featureFlags")
@@ -120,7 +120,7 @@ class SimpleWorkflowConfigModel(BaseModel):
120
120
 
121
121
  _obj = cls.model_validate({
122
122
  "_t": obj.get("_t") if obj.get("_t") is not None else 'SimpleWorkflowConfig',
123
- "referee": CompareWorkflowConfigReferee.from_dict(obj["referee"]) if obj.get("referee") is not None else None,
123
+ "referee": CompareWorkflowModel1Referee.from_dict(obj["referee"]) if obj.get("referee") is not None else None,
124
124
  "blueprint": SimpleWorkflowConfigModelBlueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None,
125
125
  "targetCountryCodes": obj.get("targetCountryCodes"),
126
126
  "featureFlags": [FeatureFlag.from_dict(_item) for _item in obj["featureFlags"]] if obj.get("featureFlags") is not None else None,
@@ -19,9 +19,8 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from rapidata.api_client.models.compare_workflow_config_referee import CompareWorkflowConfigReferee
23
- from rapidata.api_client.models.feature_flag import FeatureFlag
24
- from rapidata.api_client.models.simple_workflow_config_blueprint import SimpleWorkflowConfigBlueprint
22
+ from rapidata.api_client.models.compare_workflow_model1_referee import CompareWorkflowModel1Referee
23
+ from rapidata.api_client.models.simple_workflow_model1_blueprint import SimpleWorkflowModel1Blueprint
25
24
  from typing import Optional, Set
26
25
  from typing_extensions import Self
27
26
 
@@ -32,15 +31,12 @@ class SimpleWorkflowModel1(BaseModel):
32
31
  t: StrictStr = Field(description="Discriminator value for SimpleWorkflowModel", alias="_t")
33
32
  id: StrictStr
34
33
  dataset_id: Optional[StrictStr] = Field(alias="datasetId")
35
- target_country_codes: List[StrictStr] = Field(alias="targetCountryCodes")
36
- feature_flags: List[FeatureFlag] = Field(alias="featureFlags")
37
34
  state: StrictStr
38
- priority: StrictStr
39
- blueprint: SimpleWorkflowConfigBlueprint
40
- referee: CompareWorkflowConfigReferee
35
+ blueprint: SimpleWorkflowModel1Blueprint
36
+ referee: CompareWorkflowModel1Referee
41
37
  name: StrictStr
42
38
  owner_mail: Optional[StrictStr] = Field(alias="ownerMail")
43
- __properties: ClassVar[List[str]] = ["_t", "id", "datasetId", "targetCountryCodes", "featureFlags", "state", "priority", "blueprint", "referee", "name", "ownerMail"]
39
+ __properties: ClassVar[List[str]] = ["_t", "id", "datasetId", "state", "blueprint", "referee", "name", "ownerMail"]
44
40
 
45
41
  @field_validator('t')
46
42
  def t_validate_enum(cls, value):
@@ -88,13 +84,6 @@ class SimpleWorkflowModel1(BaseModel):
88
84
  exclude=excluded_fields,
89
85
  exclude_none=True,
90
86
  )
91
- # override the default output from pydantic by calling `to_dict()` of each item in feature_flags (list)
92
- _items = []
93
- if self.feature_flags:
94
- for _item_feature_flags in self.feature_flags:
95
- if _item_feature_flags:
96
- _items.append(_item_feature_flags.to_dict())
97
- _dict['featureFlags'] = _items
98
87
  # override the default output from pydantic by calling `to_dict()` of blueprint
99
88
  if self.blueprint:
100
89
  _dict['blueprint'] = self.blueprint.to_dict()
@@ -126,12 +115,9 @@ class SimpleWorkflowModel1(BaseModel):
126
115
  "_t": obj.get("_t") if obj.get("_t") is not None else 'SimpleWorkflowModel',
127
116
  "id": obj.get("id"),
128
117
  "datasetId": obj.get("datasetId"),
129
- "targetCountryCodes": obj.get("targetCountryCodes"),
130
- "featureFlags": [FeatureFlag.from_dict(_item) for _item in obj["featureFlags"]] if obj.get("featureFlags") is not None else None,
131
118
  "state": obj.get("state"),
132
- "priority": obj.get("priority"),
133
- "blueprint": SimpleWorkflowConfigBlueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None,
134
- "referee": CompareWorkflowConfigReferee.from_dict(obj["referee"]) if obj.get("referee") is not None else None,
119
+ "blueprint": SimpleWorkflowModel1Blueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None,
120
+ "referee": CompareWorkflowModel1Referee.from_dict(obj["referee"]) if obj.get("referee") is not None else None,
135
121
  "name": obj.get("name"),
136
122
  "ownerMail": obj.get("ownerMail")
137
123
  })
@@ -0,0 +1,238 @@
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 json
17
+ import pprint
18
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
19
+ from typing import Any, List, Optional
20
+ from rapidata.api_client.models.attach_category_rapid_blueprint import AttachCategoryRapidBlueprint
21
+ from rapidata.api_client.models.bounding_box_rapid_blueprint import BoundingBoxRapidBlueprint
22
+ from rapidata.api_client.models.compare_rapid_blueprint import CompareRapidBlueprint
23
+ from rapidata.api_client.models.free_text_rapid_blueprint import FreeTextRapidBlueprint
24
+ from rapidata.api_client.models.line_rapid_blueprint import LineRapidBlueprint
25
+ from rapidata.api_client.models.locate_rapid_blueprint import LocateRapidBlueprint
26
+ from rapidata.api_client.models.named_entity_rapid_blueprint import NamedEntityRapidBlueprint
27
+ from rapidata.api_client.models.polygon_rapid_blueprint import PolygonRapidBlueprint
28
+ from rapidata.api_client.models.transcription_rapid_blueprint import TranscriptionRapidBlueprint
29
+ from pydantic import StrictStr, Field
30
+ from typing import Union, List, Set, Optional, Dict
31
+ from typing_extensions import Literal, Self
32
+
33
+ SIMPLEWORKFLOWMODEL1BLUEPRINT_ONE_OF_SCHEMAS = ["AttachCategoryRapidBlueprint", "BoundingBoxRapidBlueprint", "CompareRapidBlueprint", "FreeTextRapidBlueprint", "LineRapidBlueprint", "LocateRapidBlueprint", "NamedEntityRapidBlueprint", "PolygonRapidBlueprint", "TranscriptionRapidBlueprint"]
34
+
35
+ class SimpleWorkflowModel1Blueprint(BaseModel):
36
+ """
37
+ SimpleWorkflowModel1Blueprint
38
+ """
39
+ # data type: TranscriptionRapidBlueprint
40
+ oneof_schema_1_validator: Optional[TranscriptionRapidBlueprint] = None
41
+ # data type: PolygonRapidBlueprint
42
+ oneof_schema_2_validator: Optional[PolygonRapidBlueprint] = None
43
+ # data type: NamedEntityRapidBlueprint
44
+ oneof_schema_3_validator: Optional[NamedEntityRapidBlueprint] = None
45
+ # data type: LocateRapidBlueprint
46
+ oneof_schema_4_validator: Optional[LocateRapidBlueprint] = None
47
+ # data type: LineRapidBlueprint
48
+ oneof_schema_5_validator: Optional[LineRapidBlueprint] = None
49
+ # data type: FreeTextRapidBlueprint
50
+ oneof_schema_6_validator: Optional[FreeTextRapidBlueprint] = None
51
+ # data type: CompareRapidBlueprint
52
+ oneof_schema_7_validator: Optional[CompareRapidBlueprint] = None
53
+ # data type: AttachCategoryRapidBlueprint
54
+ oneof_schema_8_validator: Optional[AttachCategoryRapidBlueprint] = None
55
+ # data type: BoundingBoxRapidBlueprint
56
+ oneof_schema_9_validator: Optional[BoundingBoxRapidBlueprint] = None
57
+ actual_instance: Optional[Union[AttachCategoryRapidBlueprint, BoundingBoxRapidBlueprint, CompareRapidBlueprint, FreeTextRapidBlueprint, LineRapidBlueprint, LocateRapidBlueprint, NamedEntityRapidBlueprint, PolygonRapidBlueprint, TranscriptionRapidBlueprint]] = None
58
+ one_of_schemas: Set[str] = { "AttachCategoryRapidBlueprint", "BoundingBoxRapidBlueprint", "CompareRapidBlueprint", "FreeTextRapidBlueprint", "LineRapidBlueprint", "LocateRapidBlueprint", "NamedEntityRapidBlueprint", "PolygonRapidBlueprint", "TranscriptionRapidBlueprint" }
59
+
60
+ model_config = ConfigDict(
61
+ validate_assignment=True,
62
+ protected_namespaces=(),
63
+ )
64
+
65
+
66
+ discriminator_value_class_map: Dict[str, str] = {
67
+ }
68
+
69
+ def __init__(self, *args, **kwargs) -> None:
70
+ if args:
71
+ if len(args) > 1:
72
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
73
+ if kwargs:
74
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
75
+ super().__init__(actual_instance=args[0])
76
+ else:
77
+ super().__init__(**kwargs)
78
+
79
+ @field_validator('actual_instance')
80
+ def actual_instance_must_validate_oneof(cls, v):
81
+ instance = SimpleWorkflowModel1Blueprint.model_construct()
82
+ error_messages = []
83
+ match = 0
84
+ # validate data type: TranscriptionRapidBlueprint
85
+ if not isinstance(v, TranscriptionRapidBlueprint):
86
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TranscriptionRapidBlueprint`")
87
+ else:
88
+ match += 1
89
+ # validate data type: PolygonRapidBlueprint
90
+ if not isinstance(v, PolygonRapidBlueprint):
91
+ error_messages.append(f"Error! Input type `{type(v)}` is not `PolygonRapidBlueprint`")
92
+ else:
93
+ match += 1
94
+ # validate data type: NamedEntityRapidBlueprint
95
+ if not isinstance(v, NamedEntityRapidBlueprint):
96
+ error_messages.append(f"Error! Input type `{type(v)}` is not `NamedEntityRapidBlueprint`")
97
+ else:
98
+ match += 1
99
+ # validate data type: LocateRapidBlueprint
100
+ if not isinstance(v, LocateRapidBlueprint):
101
+ error_messages.append(f"Error! Input type `{type(v)}` is not `LocateRapidBlueprint`")
102
+ else:
103
+ match += 1
104
+ # validate data type: LineRapidBlueprint
105
+ if not isinstance(v, LineRapidBlueprint):
106
+ error_messages.append(f"Error! Input type `{type(v)}` is not `LineRapidBlueprint`")
107
+ else:
108
+ match += 1
109
+ # validate data type: FreeTextRapidBlueprint
110
+ if not isinstance(v, FreeTextRapidBlueprint):
111
+ error_messages.append(f"Error! Input type `{type(v)}` is not `FreeTextRapidBlueprint`")
112
+ else:
113
+ match += 1
114
+ # validate data type: CompareRapidBlueprint
115
+ if not isinstance(v, CompareRapidBlueprint):
116
+ error_messages.append(f"Error! Input type `{type(v)}` is not `CompareRapidBlueprint`")
117
+ else:
118
+ match += 1
119
+ # validate data type: AttachCategoryRapidBlueprint
120
+ if not isinstance(v, AttachCategoryRapidBlueprint):
121
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AttachCategoryRapidBlueprint`")
122
+ else:
123
+ match += 1
124
+ # validate data type: BoundingBoxRapidBlueprint
125
+ if not isinstance(v, BoundingBoxRapidBlueprint):
126
+ error_messages.append(f"Error! Input type `{type(v)}` is not `BoundingBoxRapidBlueprint`")
127
+ else:
128
+ match += 1
129
+ if match > 1:
130
+ # more than 1 match
131
+ raise ValueError("Multiple matches found when setting `actual_instance` in SimpleWorkflowModel1Blueprint with oneOf schemas: AttachCategoryRapidBlueprint, BoundingBoxRapidBlueprint, CompareRapidBlueprint, FreeTextRapidBlueprint, LineRapidBlueprint, LocateRapidBlueprint, NamedEntityRapidBlueprint, PolygonRapidBlueprint, TranscriptionRapidBlueprint. Details: " + ", ".join(error_messages))
132
+ elif match == 0:
133
+ # no match
134
+ raise ValueError("No match found when setting `actual_instance` in SimpleWorkflowModel1Blueprint with oneOf schemas: AttachCategoryRapidBlueprint, BoundingBoxRapidBlueprint, CompareRapidBlueprint, FreeTextRapidBlueprint, LineRapidBlueprint, LocateRapidBlueprint, NamedEntityRapidBlueprint, PolygonRapidBlueprint, TranscriptionRapidBlueprint. Details: " + ", ".join(error_messages))
135
+ else:
136
+ return v
137
+
138
+ @classmethod
139
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
140
+ return cls.from_json(json.dumps(obj))
141
+
142
+ @classmethod
143
+ def from_json(cls, json_str: str) -> Self:
144
+ """Returns the object represented by the json string"""
145
+ instance = cls.model_construct()
146
+ error_messages = []
147
+ match = 0
148
+
149
+ # deserialize data into TranscriptionRapidBlueprint
150
+ try:
151
+ instance.actual_instance = TranscriptionRapidBlueprint.from_json(json_str)
152
+ match += 1
153
+ except (ValidationError, ValueError) as e:
154
+ error_messages.append(str(e))
155
+ # deserialize data into PolygonRapidBlueprint
156
+ try:
157
+ instance.actual_instance = PolygonRapidBlueprint.from_json(json_str)
158
+ match += 1
159
+ except (ValidationError, ValueError) as e:
160
+ error_messages.append(str(e))
161
+ # deserialize data into NamedEntityRapidBlueprint
162
+ try:
163
+ instance.actual_instance = NamedEntityRapidBlueprint.from_json(json_str)
164
+ match += 1
165
+ except (ValidationError, ValueError) as e:
166
+ error_messages.append(str(e))
167
+ # deserialize data into LocateRapidBlueprint
168
+ try:
169
+ instance.actual_instance = LocateRapidBlueprint.from_json(json_str)
170
+ match += 1
171
+ except (ValidationError, ValueError) as e:
172
+ error_messages.append(str(e))
173
+ # deserialize data into LineRapidBlueprint
174
+ try:
175
+ instance.actual_instance = LineRapidBlueprint.from_json(json_str)
176
+ match += 1
177
+ except (ValidationError, ValueError) as e:
178
+ error_messages.append(str(e))
179
+ # deserialize data into FreeTextRapidBlueprint
180
+ try:
181
+ instance.actual_instance = FreeTextRapidBlueprint.from_json(json_str)
182
+ match += 1
183
+ except (ValidationError, ValueError) as e:
184
+ error_messages.append(str(e))
185
+ # deserialize data into CompareRapidBlueprint
186
+ try:
187
+ instance.actual_instance = CompareRapidBlueprint.from_json(json_str)
188
+ match += 1
189
+ except (ValidationError, ValueError) as e:
190
+ error_messages.append(str(e))
191
+ # deserialize data into AttachCategoryRapidBlueprint
192
+ try:
193
+ instance.actual_instance = AttachCategoryRapidBlueprint.from_json(json_str)
194
+ match += 1
195
+ except (ValidationError, ValueError) as e:
196
+ error_messages.append(str(e))
197
+ # deserialize data into BoundingBoxRapidBlueprint
198
+ try:
199
+ instance.actual_instance = BoundingBoxRapidBlueprint.from_json(json_str)
200
+ match += 1
201
+ except (ValidationError, ValueError) as e:
202
+ error_messages.append(str(e))
203
+
204
+ if match > 1:
205
+ # more than 1 match
206
+ raise ValueError("Multiple matches found when deserializing the JSON string into SimpleWorkflowModel1Blueprint with oneOf schemas: AttachCategoryRapidBlueprint, BoundingBoxRapidBlueprint, CompareRapidBlueprint, FreeTextRapidBlueprint, LineRapidBlueprint, LocateRapidBlueprint, NamedEntityRapidBlueprint, PolygonRapidBlueprint, TranscriptionRapidBlueprint. Details: " + ", ".join(error_messages))
207
+ elif match == 0:
208
+ # no match
209
+ raise ValueError("No match found when deserializing the JSON string into SimpleWorkflowModel1Blueprint with oneOf schemas: AttachCategoryRapidBlueprint, BoundingBoxRapidBlueprint, CompareRapidBlueprint, FreeTextRapidBlueprint, LineRapidBlueprint, LocateRapidBlueprint, NamedEntityRapidBlueprint, PolygonRapidBlueprint, TranscriptionRapidBlueprint. Details: " + ", ".join(error_messages))
210
+ else:
211
+ return instance
212
+
213
+ def to_json(self) -> str:
214
+ """Returns the JSON representation of the actual instance"""
215
+ if self.actual_instance is None:
216
+ return "null"
217
+
218
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
219
+ return self.actual_instance.to_json()
220
+ else:
221
+ return json.dumps(self.actual_instance)
222
+
223
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AttachCategoryRapidBlueprint, BoundingBoxRapidBlueprint, CompareRapidBlueprint, FreeTextRapidBlueprint, LineRapidBlueprint, LocateRapidBlueprint, NamedEntityRapidBlueprint, PolygonRapidBlueprint, TranscriptionRapidBlueprint]]:
224
+ """Returns the dict representation of the actual instance"""
225
+ if self.actual_instance is None:
226
+ return None
227
+
228
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
229
+ return self.actual_instance.to_dict()
230
+ else:
231
+ # primitive type
232
+ return self.actual_instance
233
+
234
+ def to_str(self) -> str:
235
+ """Returns the string representation of the actual instance"""
236
+ return pprint.pformat(self.model_dump())
237
+
238
+