rapidata 2.23.2__py3-none-any.whl → 2.24.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 (34) hide show
  1. rapidata/api_client/__init__.py +10 -1
  2. rapidata/api_client/api/validation_set_api.py +3 -3
  3. rapidata/api_client/models/__init__.py +10 -1
  4. rapidata/api_client/models/asset_metadata.py +104 -0
  5. rapidata/api_client/models/asset_metadata_asset.py +170 -0
  6. rapidata/api_client/models/asset_metadata_model.py +102 -0
  7. rapidata/api_client/models/asset_metadata_model_asset.py +170 -0
  8. rapidata/api_client/models/compare_workflow_config_metadata_value.py +33 -17
  9. rapidata/api_client/models/create_datapoint_from_files_model_metadata_inner.py +25 -11
  10. rapidata/api_client/models/datapoint.py +3 -3
  11. rapidata/api_client/models/datapoint_model.py +3 -3
  12. rapidata/api_client/models/file_asset.py +17 -12
  13. rapidata/api_client/models/file_asset_model.py +3 -1
  14. rapidata/api_client/models/file_asset_model_metadata_value.py +35 -19
  15. rapidata/api_client/models/get_compare_workflow_results_result.py +3 -3
  16. rapidata/api_client/models/get_datapoint_by_id_result.py +3 -3
  17. rapidata/api_client/models/get_rapid_responses_result.py +3 -3
  18. rapidata/api_client/models/get_workflow_results_result.py +3 -3
  19. rapidata/api_client/models/multi_asset.py +17 -12
  20. rapidata/api_client/models/multi_asset_model.py +4 -4
  21. rapidata/api_client/models/null_asset.py +16 -9
  22. rapidata/api_client/models/null_asset_model.py +3 -1
  23. rapidata/api_client/models/prompt_asset_metadata_input.py +102 -0
  24. rapidata/api_client/models/text_asset.py +17 -10
  25. rapidata/api_client/models/text_asset_model.py +3 -1
  26. rapidata/api_client/models/url_asset_input.py +100 -0
  27. rapidata/api_client_README.md +11 -2
  28. rapidata/rapidata_client/metadata/__init__.py +1 -0
  29. rapidata/rapidata_client/metadata/_media_asset_metadata.py +15 -0
  30. rapidata/rapidata_client/order/rapidata_order_manager.py +37 -17
  31. {rapidata-2.23.2.dist-info → rapidata-2.24.0.dist-info}/METADATA +1 -1
  32. {rapidata-2.23.2.dist-info → rapidata-2.24.0.dist-info}/RECORD +34 -27
  33. {rapidata-2.23.2.dist-info → rapidata-2.24.0.dist-info}/LICENSE +0 -0
  34. {rapidata-2.23.2.dist-info → rapidata-2.24.0.dist-info}/WHEEL +0 -0
@@ -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_asset import DatapointAsset
22
+ from rapidata.api_client.models.asset_metadata_model_asset import AssetMetadataModelAsset
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
@@ -28,7 +28,7 @@ class GetCompareWorkflowResultsResult(BaseModel):
28
28
  GetCompareWorkflowResultsResult
29
29
  """ # noqa: E501
30
30
  workflow_datapoint_id: StrictStr = Field(alias="workflowDatapointId")
31
- asset: DatapointAsset
31
+ asset: AssetMetadataModelAsset
32
32
  elo: StrictInt
33
33
  __properties: ClassVar[List[str]] = ["workflowDatapointId", "asset", "elo"]
34
34
 
@@ -87,7 +87,7 @@ class GetCompareWorkflowResultsResult(BaseModel):
87
87
 
88
88
  _obj = cls.model_validate({
89
89
  "workflowDatapointId": obj.get("workflowDatapointId"),
90
- "asset": DatapointAsset.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
90
+ "asset": AssetMetadataModelAsset.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
@@ -20,7 +20,7 @@ import json
20
20
  from datetime import datetime
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
- from rapidata.api_client.models.datapoint_asset import DatapointAsset
23
+ from rapidata.api_client.models.asset_metadata_model_asset import AssetMetadataModelAsset
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
26
 
@@ -32,7 +32,7 @@ class GetDatapointByIdResult(BaseModel):
32
32
  dataset_id: StrictStr = Field(alias="datasetId")
33
33
  state: StrictStr
34
34
  sort_index: Optional[StrictInt] = Field(default=None, alias="sortIndex")
35
- asset: DatapointAsset
35
+ asset: AssetMetadataModelAsset
36
36
  created_at: datetime = Field(alias="createdAt")
37
37
  __properties: ClassVar[List[str]] = ["id", "datasetId", "state", "sortIndex", "asset", "createdAt"]
38
38
 
@@ -106,7 +106,7 @@ class GetDatapointByIdResult(BaseModel):
106
106
  "datasetId": obj.get("datasetId"),
107
107
  "state": obj.get("state"),
108
108
  "sortIndex": obj.get("sortIndex"),
109
- "asset": DatapointAsset.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
109
+ "asset": AssetMetadataModelAsset.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
110
110
  "createdAt": obj.get("createdAt")
111
111
  })
112
112
  return _obj
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List
22
- from rapidata.api_client.models.datapoint_asset import DatapointAsset
22
+ from rapidata.api_client.models.asset_metadata_model_asset import AssetMetadataModelAsset
23
23
  from rapidata.api_client.models.rapid_response import RapidResponse
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
@@ -29,7 +29,7 @@ class GetRapidResponsesResult(BaseModel):
29
29
  GetRapidResponsesResult
30
30
  """ # noqa: E501
31
31
  rapid_id: StrictStr = Field(alias="rapidId")
32
- asset: DatapointAsset
32
+ asset: AssetMetadataModelAsset
33
33
  responses: List[RapidResponse]
34
34
  state: StrictStr
35
35
  __properties: ClassVar[List[str]] = ["rapidId", "asset", "responses", "state"]
@@ -103,7 +103,7 @@ class GetRapidResponsesResult(BaseModel):
103
103
 
104
104
  _obj = cls.model_validate({
105
105
  "rapidId": obj.get("rapidId"),
106
- "asset": DatapointAsset.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
106
+ "asset": AssetMetadataModelAsset.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
107
107
  "responses": [RapidResponse.from_dict(_item) for _item in obj["responses"]] if obj.get("responses") is not None else None,
108
108
  "state": obj.get("state")
109
109
  })
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List
22
- from rapidata.api_client.models.datapoint_asset import DatapointAsset
22
+ from rapidata.api_client.models.asset_metadata_model_asset import AssetMetadataModelAsset
23
23
  from rapidata.api_client.models.get_validation_rapids_result_payload import GetValidationRapidsResultPayload
24
24
  from rapidata.api_client.models.rapid_response import RapidResponse
25
25
  from typing import Optional, Set
@@ -31,7 +31,7 @@ class GetWorkflowResultsResult(BaseModel):
31
31
  """ # noqa: E501
32
32
  rapid_id: StrictStr = Field(alias="rapidId")
33
33
  payload: GetValidationRapidsResultPayload
34
- asset: DatapointAsset
34
+ asset: AssetMetadataModelAsset
35
35
  responses: List[RapidResponse]
36
36
  state: StrictStr
37
37
  __properties: ClassVar[List[str]] = ["rapidId", "payload", "asset", "responses", "state"]
@@ -109,7 +109,7 @@ class GetWorkflowResultsResult(BaseModel):
109
109
  _obj = cls.model_validate({
110
110
  "rapidId": obj.get("rapidId"),
111
111
  "payload": GetValidationRapidsResultPayload.from_dict(obj["payload"]) if obj.get("payload") is not None else None,
112
- "asset": DatapointAsset.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
112
+ "asset": AssetMetadataModelAsset.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
113
113
  "responses": [RapidResponse.from_dict(_item) for _item in obj["responses"]] if obj.get("responses") is not None else None,
114
114
  "state": obj.get("state")
115
115
  })
@@ -19,7 +19,6 @@ 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.file_asset_metadata_inner import FileAssetMetadataInner
23
22
  from typing import Optional, Set
24
23
  from typing_extensions import Self
25
24
 
@@ -28,8 +27,8 @@ class MultiAsset(BaseModel):
28
27
  MultiAsset
29
28
  """ # noqa: E501
30
29
  t: StrictStr = Field(description="Discriminator value for MultiAsset", alias="_t")
31
- assets: List[DatapointAsset]
32
- metadata: Optional[List[FileAssetMetadataInner]] = None
30
+ assets: List[AssetMetadataAsset]
31
+ metadata: Optional[Dict[str, CompareWorkflowConfigMetadataValue]] = None
33
32
  __properties: ClassVar[List[str]] = ["_t", "assets", "metadata"]
34
33
 
35
34
  @field_validator('t')
@@ -85,13 +84,13 @@ class MultiAsset(BaseModel):
85
84
  if _item_assets:
86
85
  _items.append(_item_assets.to_dict())
87
86
  _dict['assets'] = _items
88
- # override the default output from pydantic by calling `to_dict()` of each item in metadata (list)
89
- _items = []
87
+ # override the default output from pydantic by calling `to_dict()` of each value in metadata (dict)
88
+ _field_dict = {}
90
89
  if self.metadata:
91
- for _item_metadata in self.metadata:
92
- if _item_metadata:
93
- _items.append(_item_metadata.to_dict())
94
- _dict['metadata'] = _items
90
+ for _key_metadata in self.metadata:
91
+ if self.metadata[_key_metadata]:
92
+ _field_dict[_key_metadata] = self.metadata[_key_metadata].to_dict()
93
+ _dict['metadata'] = _field_dict
95
94
  return _dict
96
95
 
97
96
  @classmethod
@@ -105,12 +104,18 @@ class MultiAsset(BaseModel):
105
104
 
106
105
  _obj = cls.model_validate({
107
106
  "_t": obj.get("_t") if obj.get("_t") is not None else 'MultiAsset',
108
- "assets": [DatapointAsset.from_dict(_item) for _item in obj["assets"]] if obj.get("assets") is not None else None,
109
- "metadata": [FileAssetMetadataInner.from_dict(_item) for _item in obj["metadata"]] if obj.get("metadata") is not None else None
107
+ "assets": [AssetMetadataAsset.from_dict(_item) for _item in obj["assets"]] if obj.get("assets") is not None else None,
108
+ "metadata": dict(
109
+ (_k, CompareWorkflowConfigMetadataValue.from_dict(_v))
110
+ for _k, _v in obj["metadata"].items()
111
+ )
112
+ if obj.get("metadata") is not None
113
+ else None
110
114
  })
111
115
  return _obj
112
116
 
113
- from rapidata.api_client.models.datapoint_asset import DatapointAsset
117
+ from rapidata.api_client.models.asset_metadata_asset import AssetMetadataAsset
118
+ from rapidata.api_client.models.compare_workflow_config_metadata_value import CompareWorkflowConfigMetadataValue
114
119
  # TODO: Rewrite to not use raise_errors
115
120
  MultiAsset.model_rebuild(raise_errors=False)
116
121
 
@@ -19,7 +19,6 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List
22
- from rapidata.api_client.models.file_asset_model_metadata_value import FileAssetModelMetadataValue
23
22
  from typing import Optional, Set
24
23
  from typing_extensions import Self
25
24
 
@@ -28,7 +27,7 @@ class MultiAssetModel(BaseModel):
28
27
  MultiAssetModel
29
28
  """ # noqa: E501
30
29
  t: StrictStr = Field(description="Discriminator value for MultiAsset", alias="_t")
31
- assets: List[DatapointAsset]
30
+ assets: List[AssetMetadataModelAsset]
32
31
  metadata: Dict[str, FileAssetModelMetadataValue]
33
32
  identifier: StrictStr
34
33
  __properties: ClassVar[List[str]] = ["_t", "assets", "metadata", "identifier"]
@@ -106,7 +105,7 @@ class MultiAssetModel(BaseModel):
106
105
 
107
106
  _obj = cls.model_validate({
108
107
  "_t": obj.get("_t") if obj.get("_t") is not None else 'MultiAsset',
109
- "assets": [DatapointAsset.from_dict(_item) for _item in obj["assets"]] if obj.get("assets") is not None else None,
108
+ "assets": [AssetMetadataModelAsset.from_dict(_item) for _item in obj["assets"]] if obj.get("assets") is not None else None,
110
109
  "metadata": dict(
111
110
  (_k, FileAssetModelMetadataValue.from_dict(_v))
112
111
  for _k, _v in obj["metadata"].items()
@@ -117,7 +116,8 @@ class MultiAssetModel(BaseModel):
117
116
  })
118
117
  return _obj
119
118
 
120
- from rapidata.api_client.models.datapoint_asset import DatapointAsset
119
+ from rapidata.api_client.models.asset_metadata_model_asset import AssetMetadataModelAsset
120
+ from rapidata.api_client.models.file_asset_model_metadata_value import FileAssetModelMetadataValue
121
121
  # TODO: Rewrite to not use raise_errors
122
122
  MultiAssetModel.model_rebuild(raise_errors=False)
123
123
 
@@ -19,7 +19,6 @@ 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.file_asset_metadata_inner import FileAssetMetadataInner
23
22
  from typing import Optional, Set
24
23
  from typing_extensions import Self
25
24
 
@@ -28,7 +27,7 @@ class NullAsset(BaseModel):
28
27
  NullAsset
29
28
  """ # noqa: E501
30
29
  t: StrictStr = Field(description="Discriminator value for NullAsset", alias="_t")
31
- metadata: Optional[List[FileAssetMetadataInner]] = None
30
+ metadata: Optional[Dict[str, CompareWorkflowConfigMetadataValue]] = None
32
31
  __properties: ClassVar[List[str]] = ["_t", "metadata"]
33
32
 
34
33
  @field_validator('t')
@@ -77,13 +76,13 @@ class NullAsset(BaseModel):
77
76
  exclude=excluded_fields,
78
77
  exclude_none=True,
79
78
  )
80
- # override the default output from pydantic by calling `to_dict()` of each item in metadata (list)
81
- _items = []
79
+ # override the default output from pydantic by calling `to_dict()` of each value in metadata (dict)
80
+ _field_dict = {}
82
81
  if self.metadata:
83
- for _item_metadata in self.metadata:
84
- if _item_metadata:
85
- _items.append(_item_metadata.to_dict())
86
- _dict['metadata'] = _items
82
+ for _key_metadata in self.metadata:
83
+ if self.metadata[_key_metadata]:
84
+ _field_dict[_key_metadata] = self.metadata[_key_metadata].to_dict()
85
+ _dict['metadata'] = _field_dict
87
86
  return _dict
88
87
 
89
88
  @classmethod
@@ -97,8 +96,16 @@ class NullAsset(BaseModel):
97
96
 
98
97
  _obj = cls.model_validate({
99
98
  "_t": obj.get("_t") if obj.get("_t") is not None else 'NullAsset',
100
- "metadata": [FileAssetMetadataInner.from_dict(_item) for _item in obj["metadata"]] if obj.get("metadata") is not None else None
99
+ "metadata": dict(
100
+ (_k, CompareWorkflowConfigMetadataValue.from_dict(_v))
101
+ for _k, _v in obj["metadata"].items()
102
+ )
103
+ if obj.get("metadata") is not None
104
+ else None
101
105
  })
102
106
  return _obj
103
107
 
108
+ from rapidata.api_client.models.compare_workflow_config_metadata_value import CompareWorkflowConfigMetadataValue
109
+ # TODO: Rewrite to not use raise_errors
110
+ NullAsset.model_rebuild(raise_errors=False)
104
111
 
@@ -19,7 +19,6 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List
22
- from rapidata.api_client.models.file_asset_model_metadata_value import FileAssetModelMetadataValue
23
22
  from typing import Optional, Set
24
23
  from typing_extensions import Self
25
24
 
@@ -108,4 +107,7 @@ class NullAssetModel(BaseModel):
108
107
  })
109
108
  return _obj
110
109
 
110
+ from rapidata.api_client.models.file_asset_model_metadata_value import FileAssetModelMetadataValue
111
+ # TODO: Rewrite to not use raise_errors
112
+ NullAssetModel.model_rebuild(raise_errors=False)
111
113
 
@@ -0,0 +1,102 @@
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.url_asset_input import UrlAssetInput
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class PromptAssetMetadataInput(BaseModel):
27
+ """
28
+ PromptAssetMetadataInput
29
+ """ # noqa: E501
30
+ t: StrictStr = Field(description="Discriminator value for PromptAssetMetadataInput", alias="_t")
31
+ asset: UrlAssetInput
32
+ identifier: Optional[StrictStr] = None
33
+ __properties: ClassVar[List[str]] = ["_t", "asset", "identifier"]
34
+
35
+ @field_validator('t')
36
+ def t_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value not in set(['PromptAssetMetadataInput']):
39
+ raise ValueError("must be one of enum values ('PromptAssetMetadataInput')")
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 PromptAssetMetadataInput 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
+ """
73
+ excluded_fields: Set[str] = set([
74
+ ])
75
+
76
+ _dict = self.model_dump(
77
+ by_alias=True,
78
+ exclude=excluded_fields,
79
+ exclude_none=True,
80
+ )
81
+ # override the default output from pydantic by calling `to_dict()` of asset
82
+ if self.asset:
83
+ _dict['asset'] = self.asset.to_dict()
84
+ return _dict
85
+
86
+ @classmethod
87
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
88
+ """Create an instance of PromptAssetMetadataInput from a dict"""
89
+ if obj is None:
90
+ return None
91
+
92
+ if not isinstance(obj, dict):
93
+ return cls.model_validate(obj)
94
+
95
+ _obj = cls.model_validate({
96
+ "_t": obj.get("_t") if obj.get("_t") is not None else 'PromptAssetMetadataInput',
97
+ "asset": UrlAssetInput.from_dict(obj["asset"]) if obj.get("asset") is not None else None,
98
+ "identifier": obj.get("identifier")
99
+ })
100
+ return _obj
101
+
102
+
@@ -18,8 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
- from typing import Any, ClassVar, Dict, List
22
- from rapidata.api_client.models.file_asset_metadata_inner import FileAssetMetadataInner
21
+ from typing import Any, ClassVar, Dict, List, Optional
23
22
  from typing import Optional, Set
24
23
  from typing_extensions import Self
25
24
 
@@ -29,7 +28,7 @@ class TextAsset(BaseModel):
29
28
  """ # noqa: E501
30
29
  t: StrictStr = Field(description="Discriminator value for TextAsset", alias="_t")
31
30
  text: StrictStr
32
- metadata: List[FileAssetMetadataInner]
31
+ metadata: Optional[Dict[str, CompareWorkflowConfigMetadataValue]] = None
33
32
  __properties: ClassVar[List[str]] = ["_t", "text", "metadata"]
34
33
 
35
34
  @field_validator('t')
@@ -78,13 +77,13 @@ class TextAsset(BaseModel):
78
77
  exclude=excluded_fields,
79
78
  exclude_none=True,
80
79
  )
81
- # override the default output from pydantic by calling `to_dict()` of each item in metadata (list)
82
- _items = []
80
+ # override the default output from pydantic by calling `to_dict()` of each value in metadata (dict)
81
+ _field_dict = {}
83
82
  if self.metadata:
84
- for _item_metadata in self.metadata:
85
- if _item_metadata:
86
- _items.append(_item_metadata.to_dict())
87
- _dict['metadata'] = _items
83
+ for _key_metadata in self.metadata:
84
+ if self.metadata[_key_metadata]:
85
+ _field_dict[_key_metadata] = self.metadata[_key_metadata].to_dict()
86
+ _dict['metadata'] = _field_dict
88
87
  return _dict
89
88
 
90
89
  @classmethod
@@ -99,8 +98,16 @@ class TextAsset(BaseModel):
99
98
  _obj = cls.model_validate({
100
99
  "_t": obj.get("_t") if obj.get("_t") is not None else 'TextAsset',
101
100
  "text": obj.get("text"),
102
- "metadata": [FileAssetMetadataInner.from_dict(_item) for _item in obj["metadata"]] if obj.get("metadata") is not None else None
101
+ "metadata": dict(
102
+ (_k, CompareWorkflowConfigMetadataValue.from_dict(_v))
103
+ for _k, _v in obj["metadata"].items()
104
+ )
105
+ if obj.get("metadata") is not None
106
+ else None
103
107
  })
104
108
  return _obj
105
109
 
110
+ from rapidata.api_client.models.compare_workflow_config_metadata_value import CompareWorkflowConfigMetadataValue
111
+ # TODO: Rewrite to not use raise_errors
112
+ TextAsset.model_rebuild(raise_errors=False)
106
113
 
@@ -19,7 +19,6 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List
22
- from rapidata.api_client.models.file_asset_model_metadata_value import FileAssetModelMetadataValue
23
22
  from typing import Optional, Set
24
23
  from typing_extensions import Self
25
24
 
@@ -110,4 +109,7 @@ class TextAssetModel(BaseModel):
110
109
  })
111
110
  return _obj
112
111
 
112
+ from rapidata.api_client.models.file_asset_model_metadata_value import FileAssetModelMetadataValue
113
+ # TODO: Rewrite to not use raise_errors
114
+ TextAssetModel.model_rebuild(raise_errors=False)
113
115
 
@@ -0,0 +1,100 @@
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 typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class UrlAssetInput(BaseModel):
26
+ """
27
+ UrlAssetInput
28
+ """ # noqa: E501
29
+ t: StrictStr = Field(description="Discriminator value for UrlAssetInput", alias="_t")
30
+ url: StrictStr
31
+ identifier: Optional[StrictStr] = None
32
+ __properties: ClassVar[List[str]] = ["_t", "url", "identifier"]
33
+
34
+ @field_validator('t')
35
+ def t_validate_enum(cls, value):
36
+ """Validates the enum"""
37
+ if value not in set(['UrlAssetInput']):
38
+ raise ValueError("must be one of enum values ('UrlAssetInput')")
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 UrlAssetInput 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
+ * OpenAPI `readOnly` fields are excluded.
72
+ """
73
+ excluded_fields: Set[str] = set([
74
+ "identifier",
75
+ ])
76
+
77
+ _dict = self.model_dump(
78
+ by_alias=True,
79
+ exclude=excluded_fields,
80
+ exclude_none=True,
81
+ )
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of UrlAssetInput from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "_t": obj.get("_t") if obj.get("_t") is not None else 'UrlAssetInput',
95
+ "url": obj.get("url"),
96
+ "identifier": obj.get("identifier")
97
+ })
98
+ return _obj
99
+
100
+
@@ -195,7 +195,7 @@ Class | Method | HTTP request | Description
195
195
  *ValidationSetApi* | [**validation_set_post**](rapidata/api_client/docs/ValidationSetApi.md#validation_set_post) | **POST** /validation-set | Creates a new empty validation set.
196
196
  *ValidationSetApi* | [**validation_set_validation_set_id_delete**](rapidata/api_client/docs/ValidationSetApi.md#validation_set_validation_set_id_delete) | **DELETE** /validation-set/{validationSetId} | Gets a validation set by the id.
197
197
  *ValidationSetApi* | [**validation_set_validation_set_id_dimensions_put**](rapidata/api_client/docs/ValidationSetApi.md#validation_set_validation_set_id_dimensions_put) | **PUT** /validation-set/{validationSetId}/dimensions | Updates the dimensions of all rapids within a validation set.
198
- *ValidationSetApi* | [**validation_set_validation_set_id_export_get**](rapidata/api_client/docs/ValidationSetApi.md#validation_set_validation_set_id_export_get) | **GET** /validation-set/{validationSetId}/export | Exports all rapids of a validationset to a file.
198
+ *ValidationSetApi* | [**validation_set_validation_set_id_export_get**](rapidata/api_client/docs/ValidationSetApi.md#validation_set_validation_set_id_export_get) | **GET** /validation-set/{validationSetId}/export | Exports all rapids of a validation-set to a file.
199
199
  *ValidationSetApi* | [**validation_set_validation_set_id_get**](rapidata/api_client/docs/ValidationSetApi.md#validation_set_validation_set_id_get) | **GET** /validation-set/{validationSetId} | Gets a validation set by the id.
200
200
  *ValidationSetApi* | [**validation_set_validation_set_id_rapid_files_post**](rapidata/api_client/docs/ValidationSetApi.md#validation_set_validation_set_id_rapid_files_post) | **POST** /validation-set/{validationSetId}/rapid/files | Adds a new validation rapid to the specified validation set using files to create the assets.
201
201
  *ValidationSetApi* | [**validation_set_validation_set_id_rapid_texts_post**](rapidata/api_client/docs/ValidationSetApi.md#validation_set_validation_set_id_rapid_texts_post) | **POST** /validation-set/{validationSetId}/rapid/texts | Adds a new validation rapid to the specified validation set using text sources to create the assets.
@@ -232,6 +232,10 @@ Class | Method | HTTP request | Description
232
232
  - [AgeUserFilterModel](rapidata/api_client/docs/AgeUserFilterModel.md)
233
233
  - [AggregatorType](rapidata/api_client/docs/AggregatorType.md)
234
234
  - [AreRapidsActiveResult](rapidata/api_client/docs/AreRapidsActiveResult.md)
235
+ - [AssetMetadata](rapidata/api_client/docs/AssetMetadata.md)
236
+ - [AssetMetadataAsset](rapidata/api_client/docs/AssetMetadataAsset.md)
237
+ - [AssetMetadataModel](rapidata/api_client/docs/AssetMetadataModel.md)
238
+ - [AssetMetadataModelAsset](rapidata/api_client/docs/AssetMetadataModelAsset.md)
235
239
  - [AttachCategoryRapidBlueprint](rapidata/api_client/docs/AttachCategoryRapidBlueprint.md)
236
240
  - [AttachCategoryResult](rapidata/api_client/docs/AttachCategoryResult.md)
237
241
  - [AttachCategoryTruth](rapidata/api_client/docs/AttachCategoryTruth.md)
@@ -306,7 +310,6 @@ Class | Method | HTTP request | Description
306
310
  - [CreateValidationSetModel](rapidata/api_client/docs/CreateValidationSetModel.md)
307
311
  - [CustomUserFilterModel](rapidata/api_client/docs/CustomUserFilterModel.md)
308
312
  - [Datapoint](rapidata/api_client/docs/Datapoint.md)
309
- - [DatapointAsset](rapidata/api_client/docs/DatapointAsset.md)
310
313
  - [DatapointMetadataModel](rapidata/api_client/docs/DatapointMetadataModel.md)
311
314
  - [DatapointModel](rapidata/api_client/docs/DatapointModel.md)
312
315
  - [DatapointState](rapidata/api_client/docs/DatapointState.md)
@@ -326,6 +329,7 @@ Class | Method | HTTP request | Description
326
329
  - [FeatureFlagModel](rapidata/api_client/docs/FeatureFlagModel.md)
327
330
  - [FeedbackModel](rapidata/api_client/docs/FeedbackModel.md)
328
331
  - [FileArtifactModel](rapidata/api_client/docs/FileArtifactModel.md)
332
+ - [FileAsset](rapidata/api_client/docs/FileAsset.md)
329
333
  - [FileAssetModel](rapidata/api_client/docs/FileAssetModel.md)
330
334
  - [FileAssetModelMetadataValue](rapidata/api_client/docs/FileAssetModelMetadataValue.md)
331
335
  - [Filter](rapidata/api_client/docs/Filter.md)
@@ -388,6 +392,7 @@ Class | Method | HTTP request | Description
388
392
  - [LocationMetadataModel](rapidata/api_client/docs/LocationMetadataModel.md)
389
393
  - [LogicOperator](rapidata/api_client/docs/LogicOperator.md)
390
394
  - [MetadataVisibilities](rapidata/api_client/docs/MetadataVisibilities.md)
395
+ - [MultiAsset](rapidata/api_client/docs/MultiAsset.md)
391
396
  - [MultiAssetModel](rapidata/api_client/docs/MultiAssetModel.md)
392
397
  - [NaiveRefereeConfig](rapidata/api_client/docs/NaiveRefereeConfig.md)
393
398
  - [NaiveRefereeModel](rapidata/api_client/docs/NaiveRefereeModel.md)
@@ -401,6 +406,7 @@ Class | Method | HTTP request | Description
401
406
  - [NewsletterModel](rapidata/api_client/docs/NewsletterModel.md)
402
407
  - [NotAvailableYetResult](rapidata/api_client/docs/NotAvailableYetResult.md)
403
408
  - [NotUserFilterModel](rapidata/api_client/docs/NotUserFilterModel.md)
409
+ - [NullAsset](rapidata/api_client/docs/NullAsset.md)
404
410
  - [NullAssetModel](rapidata/api_client/docs/NullAssetModel.md)
405
411
  - [OnlinePairMakerConfig](rapidata/api_client/docs/OnlinePairMakerConfig.md)
406
412
  - [OnlinePairMakerConfigModel](rapidata/api_client/docs/OnlinePairMakerConfigModel.md)
@@ -421,6 +427,7 @@ Class | Method | HTTP request | Description
421
427
  - [PreliminaryDownloadResult](rapidata/api_client/docs/PreliminaryDownloadResult.md)
422
428
  - [PrivateTextMetadataInput](rapidata/api_client/docs/PrivateTextMetadataInput.md)
423
429
  - [ProbabilisticAttachCategoryRefereeConfig](rapidata/api_client/docs/ProbabilisticAttachCategoryRefereeConfig.md)
430
+ - [PromptAssetMetadataInput](rapidata/api_client/docs/PromptAssetMetadataInput.md)
424
431
  - [PromptMetadata](rapidata/api_client/docs/PromptMetadata.md)
425
432
  - [PromptMetadataInput](rapidata/api_client/docs/PromptMetadataInput.md)
426
433
  - [PromptMetadataModel](rapidata/api_client/docs/PromptMetadataModel.md)
@@ -466,6 +473,7 @@ Class | Method | HTTP request | Description
466
473
  - [StickyState](rapidata/api_client/docs/StickyState.md)
467
474
  - [SubmitCocoModel](rapidata/api_client/docs/SubmitCocoModel.md)
468
475
  - [SubmitCocoResult](rapidata/api_client/docs/SubmitCocoResult.md)
476
+ - [TextAsset](rapidata/api_client/docs/TextAsset.md)
469
477
  - [TextAssetModel](rapidata/api_client/docs/TextAssetModel.md)
470
478
  - [TextMetadata](rapidata/api_client/docs/TextMetadata.md)
471
479
  - [TextMetadataModel](rapidata/api_client/docs/TextMetadataModel.md)
@@ -491,6 +499,7 @@ Class | Method | HTTP request | Description
491
499
  - [UploadFilesFromS3BucketModel](rapidata/api_client/docs/UploadFilesFromS3BucketModel.md)
492
500
  - [UploadFromS3Result](rapidata/api_client/docs/UploadFromS3Result.md)
493
501
  - [UploadTextSourcesToDatasetModel](rapidata/api_client/docs/UploadTextSourcesToDatasetModel.md)
502
+ - [UrlAssetInput](rapidata/api_client/docs/UrlAssetInput.md)
494
503
  - [UserScoreUserFilterModel](rapidata/api_client/docs/UserScoreUserFilterModel.md)
495
504
  - [ValidationChance](rapidata/api_client/docs/ValidationChance.md)
496
505
  - [ValidationImportPostRequestBlueprint](rapidata/api_client/docs/ValidationImportPostRequestBlueprint.md)
@@ -3,3 +3,4 @@ from ._private_text_metadata import PrivateTextMetadata
3
3
  from ._public_text_metadata import PublicTextMetadata
4
4
  from ._prompt_metadata import PromptMetadata
5
5
  from ._select_words_metadata import SelectWordsMetadata
6
+ from ._media_asset_metadata import MediaAssetMetadata
@@ -0,0 +1,15 @@
1
+ from rapidata.api_client.models.prompt_asset_metadata_input import PromptAssetMetadataInput
2
+ from rapidata.api_client.models.url_asset_input import UrlAssetInput
3
+ from rapidata.rapidata_client.metadata._base_metadata import Metadata
4
+
5
+
6
+ class MediaAssetMetadata(Metadata):
7
+
8
+ def __init__(self, url: str):
9
+ super().__init__()
10
+ self._url = url
11
+
12
+ def to_model(self):
13
+ return PromptAssetMetadataInput(
14
+ _t="PromptAssetMetadataInput", asset=UrlAssetInput(_t="UrlAssetInput", url=self._url)
15
+ )