rapidata 2.36.1__py3-none-any.whl → 2.36.2__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 (95) hide show
  1. rapidata/__init__.py +2 -2
  2. rapidata/api_client/__init__.py +2 -4
  3. rapidata/api_client/api/validation_set_api.py +54 -31
  4. rapidata/api_client/models/__init__.py +2 -4
  5. rapidata/api_client/models/add_validation_rapid_model.py +17 -2
  6. rapidata/api_client/models/asset_metadata.py +9 -1
  7. rapidata/api_client/models/boost_query_result.py +5 -17
  8. rapidata/api_client/models/campaign_query_result.py +3 -9
  9. rapidata/api_client/models/classification_metadata.py +12 -1
  10. rapidata/api_client/models/compare_workflow_config.py +22 -12
  11. rapidata/api_client/models/compare_workflow_config_model.py +12 -2
  12. rapidata/api_client/models/compare_workflow_model.py +12 -2
  13. rapidata/api_client/models/count_metadata.py +12 -1
  14. rapidata/api_client/models/create_demographic_rapid_model.py +18 -3
  15. rapidata/api_client/models/create_order_model.py +6 -48
  16. rapidata/api_client/models/effort_capped_selection.py +2 -11
  17. rapidata/api_client/models/evaluation_workflow_config.py +13 -3
  18. rapidata/api_client/models/evaluation_workflow_model.py +13 -3
  19. rapidata/api_client/models/file_type_metadata.py +11 -6
  20. rapidata/api_client/models/file_type_metadata_model.py +2 -8
  21. rapidata/api_client/models/filter.py +5 -23
  22. rapidata/api_client/models/get_datapoint_by_id_result.py +3 -9
  23. rapidata/api_client/models/get_rapid_responses_result.py +3 -9
  24. rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
  25. rapidata/api_client/models/get_standing_by_id_result.py +3 -9
  26. rapidata/api_client/models/get_validation_rapids_result.py +3 -9
  27. rapidata/api_client/models/get_workflow_progress_result.py +3 -9
  28. rapidata/api_client/models/get_workflow_results_result.py +3 -9
  29. rapidata/api_client/models/image_dimension_metadata.py +12 -1
  30. rapidata/api_client/models/labeling_selection.py +2 -11
  31. rapidata/api_client/models/location_metadata.py +12 -1
  32. rapidata/api_client/models/order_model.py +3 -9
  33. rapidata/api_client/models/original_filename_metadata.py +12 -1
  34. rapidata/api_client/models/participant_by_benchmark.py +3 -9
  35. rapidata/api_client/models/prompt_metadata.py +12 -1
  36. rapidata/api_client/models/rapid_model.py +3 -9
  37. rapidata/api_client/models/report_model.py +3 -9
  38. rapidata/api_client/models/response_count_filter.py +2 -8
  39. rapidata/api_client/models/response_count_user_filter_model.py +2 -8
  40. rapidata/api_client/models/root_filter.py +3 -12
  41. rapidata/api_client/models/runs_by_leaderboard_result.py +3 -9
  42. rapidata/api_client/models/simple_workflow_config.py +13 -3
  43. rapidata/api_client/models/simple_workflow_config_model.py +11 -3
  44. rapidata/api_client/models/simple_workflow_model.py +13 -3
  45. rapidata/api_client/models/sort_criterion.py +3 -9
  46. rapidata/api_client/models/source_url_metadata.py +12 -1
  47. rapidata/api_client/models/standing_by_leaderboard.py +3 -9
  48. rapidata/api_client/models/streams_metadata.py +12 -1
  49. rapidata/api_client/models/text_metadata.py +12 -1
  50. rapidata/api_client/models/transcription_metadata.py +9 -1
  51. rapidata/api_client/models/update_should_alert_model.py +1 -1
  52. rapidata/api_client/models/validation_set_model.py +12 -24
  53. rapidata/api_client/models/video_duration_metadata.py +12 -1
  54. rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
  55. rapidata/api_client_README.md +2 -4
  56. rapidata/rapidata_client/__init__.py +1 -1
  57. rapidata/rapidata_client/benchmark/participant/_participant.py +5 -5
  58. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +2 -1
  59. rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +10 -2
  60. rapidata/rapidata_client/config/__init__.py +1 -1
  61. rapidata/rapidata_client/config/rapidata_config.py +31 -0
  62. rapidata/rapidata_client/datapoints/__init__.py +10 -2
  63. rapidata/rapidata_client/datapoints/{datapoint.py → _datapoint.py} +105 -17
  64. rapidata/rapidata_client/datapoints/assets/_media_asset.py +80 -68
  65. rapidata/rapidata_client/datapoints/assets/_sessions.py +3 -3
  66. rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
  67. rapidata/rapidata_client/exceptions/failed_upload_exception.py +42 -13
  68. rapidata/rapidata_client/filter/response_count_filter.py +16 -11
  69. rapidata/rapidata_client/order/_rapidata_dataset.py +8 -8
  70. rapidata/rapidata_client/order/_rapidata_order_builder.py +87 -8
  71. rapidata/rapidata_client/order/rapidata_order_manager.py +18 -4
  72. rapidata/rapidata_client/rapidata_client.py +6 -0
  73. rapidata/rapidata_client/selection/__init__.py +1 -1
  74. rapidata/rapidata_client/selection/effort_selection.py +18 -7
  75. rapidata/rapidata_client/selection/labeling_selection.py +19 -7
  76. rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +7 -4
  77. rapidata/rapidata_client/validation/rapidata_validation_set.py +26 -1
  78. rapidata/rapidata_client/validation/rapids/rapids.py +46 -19
  79. rapidata/rapidata_client/validation/validation_set_manager.py +41 -4
  80. rapidata/rapidata_client/workflow/_base_workflow.py +27 -0
  81. rapidata/rapidata_client/workflow/_classify_workflow.py +25 -9
  82. rapidata/rapidata_client/workflow/_compare_workflow.py +11 -0
  83. rapidata/rapidata_client/workflow/_draw_workflow.py +15 -7
  84. rapidata/rapidata_client/workflow/_evaluation_workflow.py +8 -1
  85. rapidata/rapidata_client/workflow/_free_text_workflow.py +11 -0
  86. rapidata/rapidata_client/workflow/_locate_workflow.py +15 -7
  87. rapidata/rapidata_client/workflow/_ranking_workflow.py +39 -15
  88. rapidata/rapidata_client/workflow/_select_words_workflow.py +41 -7
  89. rapidata/rapidata_client/workflow/_timestamp_workflow.py +17 -8
  90. rapidata/service/openapi_service.py +1 -1
  91. {rapidata-2.36.1.dist-info → rapidata-2.36.2.dist-info}/METADATA +1 -1
  92. {rapidata-2.36.1.dist-info → rapidata-2.36.2.dist-info}/RECORD +94 -92
  93. rapidata/rapidata_client/config/config.py +0 -33
  94. {rapidata-2.36.1.dist-info → rapidata-2.36.2.dist-info}/LICENSE +0 -0
  95. {rapidata-2.36.1.dist-info → rapidata-2.36.2.dist-info}/WHEEL +0 -0
@@ -18,8 +18,9 @@ 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
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from rapidata.api_client.models.compare_workflow_model1_referee import CompareWorkflowModel1Referee
23
+ from rapidata.api_client.models.feature_flag import FeatureFlag
23
24
  from rapidata.api_client.models.validation_set_zip_post_request_blueprint import ValidationSetZipPostRequestBlueprint
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
@@ -31,7 +32,8 @@ class SimpleWorkflowConfig(BaseModel):
31
32
  t: StrictStr = Field(description="Discriminator value for SimpleWorkflowConfig", alias="_t")
32
33
  referee: CompareWorkflowModel1Referee
33
34
  blueprint: ValidationSetZipPostRequestBlueprint
34
- __properties: ClassVar[List[str]] = ["_t", "referee", "blueprint"]
35
+ feature_flags: Optional[List[FeatureFlag]] = Field(default=None, alias="featureFlags")
36
+ __properties: ClassVar[List[str]] = ["_t", "referee", "blueprint", "featureFlags"]
35
37
 
36
38
  @field_validator('t')
37
39
  def t_validate_enum(cls, value):
@@ -85,6 +87,13 @@ class SimpleWorkflowConfig(BaseModel):
85
87
  # override the default output from pydantic by calling `to_dict()` of blueprint
86
88
  if self.blueprint:
87
89
  _dict['blueprint'] = self.blueprint.to_dict()
90
+ # override the default output from pydantic by calling `to_dict()` of each item in feature_flags (list)
91
+ _items = []
92
+ if self.feature_flags:
93
+ for _item_feature_flags in self.feature_flags:
94
+ if _item_feature_flags:
95
+ _items.append(_item_feature_flags.to_dict())
96
+ _dict['featureFlags'] = _items
88
97
  return _dict
89
98
 
90
99
  @classmethod
@@ -99,7 +108,8 @@ class SimpleWorkflowConfig(BaseModel):
99
108
  _obj = cls.model_validate({
100
109
  "_t": obj.get("_t") if obj.get("_t") is not None else 'SimpleWorkflowConfig',
101
110
  "referee": CompareWorkflowModel1Referee.from_dict(obj["referee"]) if obj.get("referee") is not None else None,
102
- "blueprint": ValidationSetZipPostRequestBlueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None
111
+ "blueprint": ValidationSetZipPostRequestBlueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None,
112
+ "featureFlags": [FeatureFlag.from_dict(_item) for _item in obj["featureFlags"]] if obj.get("featureFlags") is not None else None
103
113
  })
104
114
  return _obj
105
115
 
@@ -20,6 +20,7 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List
22
22
  from rapidata.api_client.models.compare_workflow_model1_referee import CompareWorkflowModel1Referee
23
+ from rapidata.api_client.models.feature_flag import FeatureFlag
23
24
  from rapidata.api_client.models.simple_workflow_config_model_blueprint import SimpleWorkflowConfigModelBlueprint
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
@@ -31,8 +32,8 @@ class SimpleWorkflowConfigModel(BaseModel):
31
32
  t: StrictStr = Field(description="Discriminator value for SimpleWorkflowConfig", alias="_t")
32
33
  referee: CompareWorkflowModel1Referee
33
34
  blueprint: SimpleWorkflowConfigModelBlueprint
34
- target_country_codes: List[StrictStr] = Field(description="A list of country codes that this workflow is targeting.", alias="targetCountryCodes")
35
- __properties: ClassVar[List[str]] = ["_t", "referee", "blueprint", "targetCountryCodes"]
35
+ feature_flags: List[FeatureFlag] = Field(description="The list of feature flags that will be applied to the rapids created by this workflow.", alias="featureFlags")
36
+ __properties: ClassVar[List[str]] = ["_t", "referee", "blueprint", "featureFlags"]
36
37
 
37
38
  @field_validator('t')
38
39
  def t_validate_enum(cls, value):
@@ -86,6 +87,13 @@ class SimpleWorkflowConfigModel(BaseModel):
86
87
  # override the default output from pydantic by calling `to_dict()` of blueprint
87
88
  if self.blueprint:
88
89
  _dict['blueprint'] = self.blueprint.to_dict()
90
+ # override the default output from pydantic by calling `to_dict()` of each item in feature_flags (list)
91
+ _items = []
92
+ if self.feature_flags:
93
+ for _item_feature_flags in self.feature_flags:
94
+ if _item_feature_flags:
95
+ _items.append(_item_feature_flags.to_dict())
96
+ _dict['featureFlags'] = _items
89
97
  return _dict
90
98
 
91
99
  @classmethod
@@ -101,7 +109,7 @@ class SimpleWorkflowConfigModel(BaseModel):
101
109
  "_t": obj.get("_t") if obj.get("_t") is not None else 'SimpleWorkflowConfig',
102
110
  "referee": CompareWorkflowModel1Referee.from_dict(obj["referee"]) if obj.get("referee") is not None else None,
103
111
  "blueprint": SimpleWorkflowConfigModelBlueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None,
104
- "targetCountryCodes": obj.get("targetCountryCodes")
112
+ "featureFlags": [FeatureFlag.from_dict(_item) for _item in obj["featureFlags"]] if obj.get("featureFlags") is not None else None
105
113
  })
106
114
  return _obj
107
115
 
@@ -18,7 +18,8 @@ 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
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from rapidata.api_client.models.feature_flag import FeatureFlag
22
23
  from rapidata.api_client.models.simple_workflow_model_blueprint import SimpleWorkflowModelBlueprint
23
24
  from typing import Optional, Set
24
25
  from typing_extensions import Self
@@ -29,7 +30,8 @@ class SimpleWorkflowModel(BaseModel):
29
30
  """ # noqa: E501
30
31
  t: StrictStr = Field(description="Discriminator value for SimpleWorkflow", alias="_t")
31
32
  blueprint: SimpleWorkflowModelBlueprint
32
- __properties: ClassVar[List[str]] = ["_t", "blueprint"]
33
+ feature_flags: Optional[List[FeatureFlag]] = Field(default=None, description="The list of feature flags that will be applied to the rapids created by this workflow.", alias="featureFlags")
34
+ __properties: ClassVar[List[str]] = ["_t", "blueprint", "featureFlags"]
33
35
 
34
36
  @field_validator('t')
35
37
  def t_validate_enum(cls, value):
@@ -80,6 +82,13 @@ class SimpleWorkflowModel(BaseModel):
80
82
  # override the default output from pydantic by calling `to_dict()` of blueprint
81
83
  if self.blueprint:
82
84
  _dict['blueprint'] = self.blueprint.to_dict()
85
+ # override the default output from pydantic by calling `to_dict()` of each item in feature_flags (list)
86
+ _items = []
87
+ if self.feature_flags:
88
+ for _item_feature_flags in self.feature_flags:
89
+ if _item_feature_flags:
90
+ _items.append(_item_feature_flags.to_dict())
91
+ _dict['featureFlags'] = _items
83
92
  return _dict
84
93
 
85
94
  @classmethod
@@ -93,7 +102,8 @@ class SimpleWorkflowModel(BaseModel):
93
102
 
94
103
  _obj = cls.model_validate({
95
104
  "_t": obj.get("_t") if obj.get("_t") is not None else 'SimpleWorkflow',
96
- "blueprint": SimpleWorkflowModelBlueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None
105
+ "blueprint": SimpleWorkflowModelBlueprint.from_dict(obj["blueprint"]) if obj.get("blueprint") is not None else None,
106
+ "featureFlags": [FeatureFlag.from_dict(_item) for _item in obj["featureFlags"]] if obj.get("featureFlags") is not None else None
97
107
  })
98
108
  return _obj
99
109
 
@@ -17,8 +17,9 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List
22
+ from rapidata.api_client.models.sort_direction import SortDirection
22
23
  from typing import Optional, Set
23
24
  from typing_extensions import Self
24
25
 
@@ -27,16 +28,9 @@ class SortCriterion(BaseModel):
27
28
  SortCriterion
28
29
  """ # noqa: E501
29
30
  property_name: StrictStr = Field(alias="propertyName")
30
- direction: StrictStr
31
+ direction: SortDirection
31
32
  __properties: ClassVar[List[str]] = ["propertyName", "direction"]
32
33
 
33
- @field_validator('direction')
34
- def direction_validate_enum(cls, value):
35
- """Validates the enum"""
36
- if value not in set(['Asc', 'Desc']):
37
- raise ValueError("must be one of enum values ('Asc', 'Desc')")
38
- return value
39
-
40
34
  model_config = ConfigDict(
41
35
  populate_by_name=True,
42
36
  validate_assignment=True,
@@ -28,7 +28,7 @@ class SourceUrlMetadata(BaseModel):
28
28
  """ # noqa: E501
29
29
  t: StrictStr = Field(description="Discriminator value for SourceUrlMetadata", alias="_t")
30
30
  url: StrictStr
31
- visibilities: Optional[StrictStr] = None
31
+ visibilities: Optional[List[StrictStr]] = None
32
32
  __properties: ClassVar[List[str]] = ["_t", "url", "visibilities"]
33
33
 
34
34
  @field_validator('t')
@@ -38,6 +38,17 @@ class SourceUrlMetadata(BaseModel):
38
38
  raise ValueError("must be one of enum values ('SourceUrlMetadata')")
39
39
  return value
40
40
 
41
+ @field_validator('visibilities')
42
+ def visibilities_validate_enum(cls, value):
43
+ """Validates the enum"""
44
+ if value is None:
45
+ return value
46
+
47
+ for i in value:
48
+ if i not in set(['None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All']):
49
+ raise ValueError("each list item must be one of ('None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All')")
50
+ return value
51
+
41
52
  model_config = ConfigDict(
42
53
  populate_by_name=True,
43
54
  validate_assignment=True,
@@ -17,8 +17,9 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional, Union
22
+ from rapidata.api_client.models.standing_status import StandingStatus
22
23
  from typing import Optional, Set
23
24
  from typing_extensions import Self
24
25
 
@@ -30,20 +31,13 @@ class StandingByLeaderboard(BaseModel):
30
31
  name: StrictStr
31
32
  leaderboard_id: StrictStr = Field(alias="leaderboardId")
32
33
  dataset_id: Optional[StrictStr] = Field(default=None, alias="datasetId")
33
- status: StrictStr
34
+ status: StandingStatus
34
35
  score: Optional[Union[StrictFloat, StrictInt]] = None
35
36
  wins: StrictInt
36
37
  total_matches: StrictInt = Field(alias="totalMatches")
37
38
  is_disabled: StrictBool = Field(alias="isDisabled")
38
39
  __properties: ClassVar[List[str]] = ["id", "name", "leaderboardId", "datasetId", "status", "score", "wins", "totalMatches", "isDisabled"]
39
40
 
40
- @field_validator('status')
41
- def status_validate_enum(cls, value):
42
- """Validates the enum"""
43
- if value not in set(['Created', 'Active', 'Idle']):
44
- raise ValueError("must be one of enum values ('Created', 'Active', 'Idle')")
45
- return value
46
-
47
41
  model_config = ConfigDict(
48
42
  populate_by_name=True,
49
43
  validate_assignment=True,
@@ -30,7 +30,7 @@ class StreamsMetadata(BaseModel):
30
30
  has_audio: Optional[StrictBool] = Field(default=None, alias="hasAudio")
31
31
  has_video: Optional[StrictBool] = Field(default=None, alias="hasVideo")
32
32
  has_subtitles: Optional[StrictBool] = Field(default=None, alias="hasSubtitles")
33
- visibilities: Optional[StrictStr] = None
33
+ visibilities: Optional[List[StrictStr]] = None
34
34
  __properties: ClassVar[List[str]] = ["_t", "hasAudio", "hasVideo", "hasSubtitles", "visibilities"]
35
35
 
36
36
  @field_validator('t')
@@ -40,6 +40,17 @@ class StreamsMetadata(BaseModel):
40
40
  raise ValueError("must be one of enum values ('StreamsMetadata')")
41
41
  return value
42
42
 
43
+ @field_validator('visibilities')
44
+ def visibilities_validate_enum(cls, value):
45
+ """Validates the enum"""
46
+ if value is None:
47
+ return value
48
+
49
+ for i in value:
50
+ if i not in set(['None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All']):
51
+ raise ValueError("each list item must be one of ('None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All')")
52
+ return value
53
+
43
54
  model_config = ConfigDict(
44
55
  populate_by_name=True,
45
56
  validate_assignment=True,
@@ -28,7 +28,7 @@ class TextMetadata(BaseModel):
28
28
  """ # noqa: E501
29
29
  t: StrictStr = Field(description="Discriminator value for TextMetadata", alias="_t")
30
30
  text: StrictStr
31
- visibilities: Optional[StrictStr] = None
31
+ visibilities: Optional[List[StrictStr]] = None
32
32
  __properties: ClassVar[List[str]] = ["_t", "text", "visibilities"]
33
33
 
34
34
  @field_validator('t')
@@ -38,6 +38,17 @@ class TextMetadata(BaseModel):
38
38
  raise ValueError("must be one of enum values ('TextMetadata')")
39
39
  return value
40
40
 
41
+ @field_validator('visibilities')
42
+ def visibilities_validate_enum(cls, value):
43
+ """Validates the enum"""
44
+ if value is None:
45
+ return value
46
+
47
+ for i in value:
48
+ if i not in set(['None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All']):
49
+ raise ValueError("each list item must be one of ('None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All')")
50
+ return value
51
+
41
52
  model_config = ConfigDict(
42
53
  populate_by_name=True,
43
54
  validate_assignment=True,
@@ -28,7 +28,7 @@ class TranscriptionMetadata(BaseModel):
28
28
  """ # noqa: E501
29
29
  t: StrictStr = Field(description="Discriminator value for TranscriptionMetadata", alias="_t")
30
30
  transcription: StrictStr
31
- visibilities: StrictStr
31
+ visibilities: List[StrictStr]
32
32
  __properties: ClassVar[List[str]] = ["_t", "transcription", "visibilities"]
33
33
 
34
34
  @field_validator('t')
@@ -38,6 +38,14 @@ class TranscriptionMetadata(BaseModel):
38
38
  raise ValueError("must be one of enum values ('TranscriptionMetadata')")
39
39
  return value
40
40
 
41
+ @field_validator('visibilities')
42
+ def visibilities_validate_enum(cls, value):
43
+ """Validates the enum"""
44
+ for i in value:
45
+ if i not in set(['None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All']):
46
+ raise ValueError("each list item must be one of ('None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All')")
47
+ return value
48
+
41
49
  model_config = ConfigDict(
42
50
  populate_by_name=True,
43
51
  validate_assignment=True,
@@ -26,7 +26,7 @@ class UpdateShouldAlertModel(BaseModel):
26
26
  """
27
27
  The model for updating the shouldAlert field of all rapids within a validation set.
28
28
  """ # noqa: E501
29
- should_alert: StrictBool = Field(description="If the users should be alerted if answering wrong.", alias="shouldAlert")
29
+ should_alert: StrictBool = Field(description="A flag indicating whether the users should be alerted if they answer incorrectly.", alias="shouldAlert")
30
30
  __properties: ClassVar[List[str]] = ["shouldAlert"]
31
31
 
32
32
  model_config = ConfigDict(
@@ -29,9 +29,9 @@ class ValidationSetModel(BaseModel):
29
29
  """ # noqa: E501
30
30
  id: StrictStr
31
31
  name: StrictStr
32
- asset_type: Optional[StrictStr] = Field(default=None, alias="assetType")
33
- modality: Optional[StrictStr] = None
34
- prompt_type: Optional[StrictStr] = Field(default=None, alias="promptType")
32
+ asset_type: Optional[List[StrictStr]] = Field(default=None, alias="assetType")
33
+ modality: Optional[List[StrictStr]] = None
34
+ prompt_type: Optional[List[StrictStr]] = Field(default=None, alias="promptType")
35
35
  owner_id: StrictStr = Field(alias="ownerId")
36
36
  owner_mail: StrictStr = Field(alias="ownerMail")
37
37
  created_at: datetime = Field(alias="createdAt")
@@ -43,8 +43,9 @@ class ValidationSetModel(BaseModel):
43
43
  if value is None:
44
44
  return value
45
45
 
46
- if value not in set(['None', 'Image', 'Video', 'Audio', 'Text']):
47
- raise ValueError("must be one of enum values ('None', 'Image', 'Video', 'Audio', 'Text')")
46
+ for i in value:
47
+ if i not in set(['None', 'Image', 'Video', 'Audio', 'Text']):
48
+ raise ValueError("each list item must be one of ('None', 'Image', 'Video', 'Audio', 'Text')")
48
49
  return value
49
50
 
50
51
  @field_validator('modality')
@@ -53,8 +54,9 @@ class ValidationSetModel(BaseModel):
53
54
  if value is None:
54
55
  return value
55
56
 
56
- if value not in set(['None', 'BoundingBox', 'Classify', 'Compare', 'FreeText', 'Line', 'Locate', 'NamedEntity', 'Polygon', 'Scrub', 'Transcription']):
57
- raise ValueError("must be one of enum values ('None', 'BoundingBox', 'Classify', 'Compare', 'FreeText', 'Line', 'Locate', 'NamedEntity', 'Polygon', 'Scrub', 'Transcription')")
57
+ for i in value:
58
+ if i not in set(['None', 'BoundingBox', 'Classify', 'Compare', 'FreeText', 'Line', 'Locate', 'NamedEntity', 'Polygon', 'Scrub', 'Transcription']):
59
+ raise ValueError("each list item must be one of ('None', 'BoundingBox', 'Classify', 'Compare', 'FreeText', 'Line', 'Locate', 'NamedEntity', 'Polygon', 'Scrub', 'Transcription')")
58
60
  return value
59
61
 
60
62
  @field_validator('prompt_type')
@@ -63,8 +65,9 @@ class ValidationSetModel(BaseModel):
63
65
  if value is None:
64
66
  return value
65
67
 
66
- if value not in set(['None', 'Text', 'Asset']):
67
- raise ValueError("must be one of enum values ('None', 'Text', 'Asset')")
68
+ for i in value:
69
+ if i not in set(['None', 'Text', 'Asset']):
70
+ raise ValueError("each list item must be one of ('None', 'Text', 'Asset')")
68
71
  return value
69
72
 
70
73
  model_config = ConfigDict(
@@ -106,21 +109,6 @@ class ValidationSetModel(BaseModel):
106
109
  exclude=excluded_fields,
107
110
  exclude_none=True,
108
111
  )
109
- # set to None if asset_type (nullable) is None
110
- # and model_fields_set contains the field
111
- if self.asset_type is None and "asset_type" in self.model_fields_set:
112
- _dict['assetType'] = None
113
-
114
- # set to None if modality (nullable) is None
115
- # and model_fields_set contains the field
116
- if self.modality is None and "modality" in self.model_fields_set:
117
- _dict['modality'] = None
118
-
119
- # set to None if prompt_type (nullable) is None
120
- # and model_fields_set contains the field
121
- if self.prompt_type is None and "prompt_type" in self.model_fields_set:
122
- _dict['promptType'] = None
123
-
124
112
  return _dict
125
113
 
126
114
  @classmethod
@@ -28,7 +28,7 @@ class VideoDurationMetadata(BaseModel):
28
28
  """ # noqa: E501
29
29
  t: StrictStr = Field(description="Discriminator value for VideoDurationMetadata", alias="_t")
30
30
  duration: StrictStr
31
- visibilities: Optional[StrictStr] = None
31
+ visibilities: Optional[List[StrictStr]] = None
32
32
  __properties: ClassVar[List[str]] = ["_t", "duration", "visibilities"]
33
33
 
34
34
  @field_validator('t')
@@ -38,6 +38,17 @@ class VideoDurationMetadata(BaseModel):
38
38
  raise ValueError("must be one of enum values ('VideoDurationMetadata')")
39
39
  return value
40
40
 
41
+ @field_validator('visibilities')
42
+ def visibilities_validate_enum(cls, value):
43
+ """Validates the enum"""
44
+ if value is None:
45
+ return value
46
+
47
+ for i in value:
48
+ if i not in set(['None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All']):
49
+ raise ValueError("each list item must be one of ('None', 'Users', 'Customers', 'Admins', 'Dashboard', 'All')")
50
+ return value
51
+
41
52
  model_config = ConfigDict(
42
53
  populate_by_name=True,
43
54
  validate_assignment=True,
@@ -19,6 +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, Optional
22
+ from rapidata.api_client.models.aggregator_type import AggregatorType
22
23
  from typing import Optional, Set
23
24
  from typing_extensions import Self
24
25
 
@@ -30,7 +31,7 @@ class WorkflowAggregationStepModel(BaseModel):
30
31
  campaign_artifact_id: StrictStr = Field(description="The campaign artifact id", alias="campaignArtifactId")
31
32
  workflow_artifact_id: StrictStr = Field(description="The workflow artifact id", alias="workflowArtifactId")
32
33
  file_artifact_id: StrictStr = Field(description="The file artifact id", alias="fileArtifactId")
33
- aggregator_type: Optional[StrictStr] = Field(default='NonCommittal', description="The type of the aggregator", alias="aggregatorType")
34
+ aggregator_type: Optional[AggregatorType] = Field(default=None, alias="aggregatorType")
34
35
  __properties: ClassVar[List[str]] = ["_t", "campaignArtifactId", "workflowArtifactId", "fileArtifactId", "aggregatorType"]
35
36
 
36
37
  @field_validator('t')
@@ -40,16 +41,6 @@ class WorkflowAggregationStepModel(BaseModel):
40
41
  raise ValueError("must be one of enum values ('WorkflowAggregationStepModel')")
41
42
  return value
42
43
 
43
- @field_validator('aggregator_type')
44
- def aggregator_type_validate_enum(cls, value):
45
- """Validates the enum"""
46
- if value is None:
47
- return value
48
-
49
- if value not in set(['NonCommittal', 'MajorityVote', 'SimpleMatchup', 'LocateCluster', 'Classification', 'Locate', 'BoundingBox', 'Line', 'Transcription', 'SinglePointLocate', 'FreeText', 'Scrub']):
50
- raise ValueError("must be one of enum values ('NonCommittal', 'MajorityVote', 'SimpleMatchup', 'LocateCluster', 'Classification', 'Locate', 'BoundingBox', 'Line', 'Transcription', 'SinglePointLocate', 'FreeText', 'Scrub')")
51
- return value
52
-
53
44
  model_config = ConfigDict(
54
45
  populate_by_name=True,
55
46
  validate_assignment=True,
@@ -105,7 +96,7 @@ class WorkflowAggregationStepModel(BaseModel):
105
96
  "campaignArtifactId": obj.get("campaignArtifactId"),
106
97
  "workflowArtifactId": obj.get("workflowArtifactId"),
107
98
  "fileArtifactId": obj.get("fileArtifactId"),
108
- "aggregatorType": obj.get("aggregatorType") if obj.get("aggregatorType") is not None else 'NonCommittal'
99
+ "aggregatorType": obj.get("aggregatorType")
109
100
  })
110
101
  return _obj
111
102
 
@@ -234,7 +234,6 @@ Class | Method | HTTP request | Description
234
234
  - [AssetMetadata](rapidata/api_client/docs/AssetMetadata.md)
235
235
  - [AssetMetadataAsset](rapidata/api_client/docs/AssetMetadataAsset.md)
236
236
  - [AssetMetadataModel](rapidata/api_client/docs/AssetMetadataModel.md)
237
- - [AssetType](rapidata/api_client/docs/AssetType.md)
238
237
  - [AttachCategoryRapidBlueprint](rapidata/api_client/docs/AttachCategoryRapidBlueprint.md)
239
238
  - [AttachCategoryResult](rapidata/api_client/docs/AttachCategoryResult.md)
240
239
  - [AttachCategoryTruth](rapidata/api_client/docs/AttachCategoryTruth.md)
@@ -385,6 +384,7 @@ Class | Method | HTTP request | Description
385
384
  - [GetPublicOrdersResult](rapidata/api_client/docs/GetPublicOrdersResult.md)
386
385
  - [GetPublicResponsesResult](rapidata/api_client/docs/GetPublicResponsesResult.md)
387
386
  - [GetRapidResponsesResult](rapidata/api_client/docs/GetRapidResponsesResult.md)
387
+ - [GetRecommendedValidationSetResult](rapidata/api_client/docs/GetRecommendedValidationSetResult.md)
388
388
  - [GetResponsesResult](rapidata/api_client/docs/GetResponsesResult.md)
389
389
  - [GetSampleByIdResult](rapidata/api_client/docs/GetSampleByIdResult.md)
390
390
  - [GetSimpleWorkflowResultsModel](rapidata/api_client/docs/GetSimpleWorkflowResultsModel.md)
@@ -430,7 +430,6 @@ Class | Method | HTTP request | Description
430
430
  - [LocationMetadataExistsFilterConfig](rapidata/api_client/docs/LocationMetadataExistsFilterConfig.md)
431
431
  - [LocationMetadataModel](rapidata/api_client/docs/LocationMetadataModel.md)
432
432
  - [LogicOperator](rapidata/api_client/docs/LogicOperator.md)
433
- - [MetadataVisibilities](rapidata/api_client/docs/MetadataVisibilities.md)
434
433
  - [MultiAsset](rapidata/api_client/docs/MultiAsset.md)
435
434
  - [MultiAssetInput](rapidata/api_client/docs/MultiAssetInput.md)
436
435
  - [MultiAssetInput1](rapidata/api_client/docs/MultiAssetInput1.md)
@@ -487,6 +486,7 @@ Class | Method | HTTP request | Description
487
486
  - [PrivateTextMetadataInput](rapidata/api_client/docs/PrivateTextMetadataInput.md)
488
487
  - [ProbabilisticAttachCategoryRefereeConfig](rapidata/api_client/docs/ProbabilisticAttachCategoryRefereeConfig.md)
489
488
  - [ProbabilisticAttachCategoryRefereeInfo](rapidata/api_client/docs/ProbabilisticAttachCategoryRefereeInfo.md)
489
+ - [ProblemDetails](rapidata/api_client/docs/ProblemDetails.md)
490
490
  - [PromptAssetMetadataInput](rapidata/api_client/docs/PromptAssetMetadataInput.md)
491
491
  - [PromptAssetMetadataInputAsset](rapidata/api_client/docs/PromptAssetMetadataInputAsset.md)
492
492
  - [PromptByBenchmarkResult](rapidata/api_client/docs/PromptByBenchmarkResult.md)
@@ -494,7 +494,6 @@ Class | Method | HTTP request | Description
494
494
  - [PromptMetadata](rapidata/api_client/docs/PromptMetadata.md)
495
495
  - [PromptMetadataInput](rapidata/api_client/docs/PromptMetadataInput.md)
496
496
  - [PromptMetadataModel](rapidata/api_client/docs/PromptMetadataModel.md)
497
- - [PromptType](rapidata/api_client/docs/PromptType.md)
498
497
  - [ProxyFileWrapper](rapidata/api_client/docs/ProxyFileWrapper.md)
499
498
  - [PublicOrderModel](rapidata/api_client/docs/PublicOrderModel.md)
500
499
  - [PublicRapidResponse](rapidata/api_client/docs/PublicRapidResponse.md)
@@ -502,7 +501,6 @@ Class | Method | HTTP request | Description
502
501
  - [QueryModel](rapidata/api_client/docs/QueryModel.md)
503
502
  - [QueryValidationModel](rapidata/api_client/docs/QueryValidationModel.md)
504
503
  - [RapidIssue](rapidata/api_client/docs/RapidIssue.md)
505
- - [RapidModality](rapidata/api_client/docs/RapidModality.md)
506
504
  - [RapidModel](rapidata/api_client/docs/RapidModel.md)
507
505
  - [RapidModelPagedResult](rapidata/api_client/docs/RapidModelPagedResult.md)
508
506
  - [RapidModelReferee](rapidata/api_client/docs/RapidModelReferee.md)
@@ -6,7 +6,7 @@ from .selection import (
6
6
  ConditionalValidationSelection,
7
7
  CappedSelection,
8
8
  ShufflingSelection,
9
- RetrievalMode,
9
+ RapidataRetrievalMode,
10
10
  EffortSelection,
11
11
  )
12
12
  from .datapoints import Datapoint
@@ -7,7 +7,7 @@ from rapidata.rapidata_client.logging import logger
7
7
  from rapidata.rapidata_client.logging.output_manager import RapidataOutputManager
8
8
  from rapidata.api_client.models.create_sample_model import CreateSampleModel
9
9
  from rapidata.service.openapi_service import OpenAPIService
10
- from rapidata.rapidata_client.config.config import rapidata_config
10
+ from rapidata.rapidata_client.config.rapidata_config import rapidata_config
11
11
  from rapidata.rapidata_client.api.rapidata_exception import (
12
12
  suppress_rapidata_error_logging,
13
13
  )
@@ -42,7 +42,7 @@ class BenchmarkParticipant:
42
42
  urls = [asset.path]
43
43
 
44
44
  last_exception = None
45
- for attempt in range(rapidata_config.upload_max_retries):
45
+ for attempt in range(rapidata_config.uploadMaxRetries):
46
46
  try:
47
47
  with suppress_rapidata_error_logging():
48
48
  self.__openapi_service.participant_api.participant_participant_id_sample_post(
@@ -56,7 +56,7 @@ class BenchmarkParticipant:
56
56
 
57
57
  except Exception as e:
58
58
  last_exception = e
59
- if attempt < rapidata_config.upload_max_retries - 1:
59
+ if attempt < rapidata_config.uploadMaxRetries - 1:
60
60
  # Exponential backoff: wait 1s, then 2s, then 4s
61
61
  retry_delay = 2**attempt
62
62
  time.sleep(retry_delay)
@@ -64,7 +64,7 @@ class BenchmarkParticipant:
64
64
  logger.debug(
65
65
  "Retrying %s of %s...",
66
66
  attempt + 1,
67
- rapidata_config.upload_max_retries,
67
+ rapidata_config.uploadMaxRetries,
68
68
  )
69
69
 
70
70
  logger.error(f"Upload failed for {identifier}. Error: {str(last_exception)}")
@@ -90,7 +90,7 @@ class BenchmarkParticipant:
90
90
  total_uploads = len(assets)
91
91
 
92
92
  with ThreadPoolExecutor(
93
- max_workers=rapidata_config.max_upload_workers
93
+ max_workers=rapidata_config.maxUploadWorkers
94
94
  ) as executor:
95
95
  futures = [
96
96
  executor.submit(
@@ -18,6 +18,7 @@ from rapidata.api_client.models.source_url_metadata_model import SourceUrlMetada
18
18
  from rapidata.api_client.models.and_user_filter_model_filters_inner import (
19
19
  AndUserFilterModelFiltersInner,
20
20
  )
21
+ from rapidata.api_client.models.filter_operator import FilterOperator
21
22
 
22
23
  from rapidata.rapidata_client.benchmark.participant._participant import (
23
24
  BenchmarkParticipant,
@@ -150,7 +151,7 @@ class RapidataBenchmark:
150
151
  filters=[
151
152
  Filter(
152
153
  field="BenchmarkId",
153
- operator="Eq",
154
+ operator=FilterOperator.EQ,
154
155
  value=self.id,
155
156
  )
156
157
  ]
@@ -7,6 +7,8 @@ from rapidata.api_client.models.page_info import PageInfo
7
7
  from rapidata.api_client.models.root_filter import RootFilter
8
8
  from rapidata.api_client.models.filter import Filter
9
9
  from rapidata.api_client.models.sort_criterion import SortCriterion
10
+ from rapidata.api_client.models.sort_direction import SortDirection
11
+ from rapidata.api_client.models.filter_operator import FilterOperator
10
12
 
11
13
 
12
14
  class RapidataBenchmarkManager:
@@ -139,10 +141,16 @@ class RapidataBenchmarkManager:
139
141
  QueryModel(
140
142
  page=PageInfo(index=1, size=amount),
141
143
  filter=RootFilter(
142
- filters=[Filter(field="Name", operator="Contains", value=name)]
144
+ filters=[
145
+ Filter(
146
+ field="Name", operator=FilterOperator.CONTAINS, value=name
147
+ )
148
+ ]
143
149
  ),
144
150
  sortCriteria=[
145
- SortCriterion(direction="Desc", propertyName="CreatedAt")
151
+ SortCriterion(
152
+ direction=SortDirection.DESC, propertyName="CreatedAt"
153
+ )
146
154
  ],
147
155
  )
148
156
  )
@@ -1 +1 @@
1
- from .config import rapidata_config
1
+ from .rapidata_config import rapidata_config
@@ -0,0 +1,31 @@
1
+ from pydantic import BaseModel, Field
2
+
3
+
4
+ class RapidataConfig(BaseModel):
5
+ """
6
+ Holds the configuration for the Rapidata client.
7
+
8
+ To adjust the configurations used, you can modify the `rapidata_config` object.
9
+
10
+ Args:
11
+ maxUploadWorkers (int): The maximum number of worker threads for processing media paths. Defaults to 10.
12
+ uploadMaxRetries (int): The maximum number of retries for failed uploads. Defaults to 3.
13
+ enableBetaFeatures (bool): Whether to enable beta features. Defaults to False.
14
+ minOrderDatapointsForValidation (int): The minimum number of datapoints required so that an automatic validationset gets created if no recommended was found. Defaults to 50.
15
+ autoValidationSetSize (int): The maximum size of the auto-generated validation set. Defaults to 20.
16
+
17
+ Example:
18
+ ```python
19
+ from rapidata import rapidata_config
20
+ rapidata_config.maxUploadWorkers = 20
21
+ ```
22
+ """
23
+
24
+ maxUploadWorkers: int = Field(default=10)
25
+ uploadMaxRetries: int = Field(default=3)
26
+ enableBetaFeatures: bool = False
27
+ minOrderDatapointsForValidation: int = Field(default=50)
28
+ autoValidationSetSize: int = Field(default=20)
29
+
30
+
31
+ rapidata_config = RapidataConfig()