rapidata 2.35.3__py3-none-any.whl → 2.36.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.

Potentially problematic release.


This version of rapidata might be problematic. Click here for more details.

Files changed (58) hide show
  1. rapidata/__init__.py +1 -1
  2. rapidata/api_client/__init__.py +25 -4
  3. rapidata/api_client/api/__init__.py +1 -0
  4. rapidata/api_client/api/benchmark_api.py +294 -0
  5. rapidata/api_client/api/campaign_api.py +268 -0
  6. rapidata/api_client/api/customer_rapid_api.py +247 -0
  7. rapidata/api_client/api/leaderboard_api.py +295 -6
  8. rapidata/api_client/api/pipeline_api.py +0 -873
  9. rapidata/api_client/api/sample_api.py +299 -0
  10. rapidata/api_client/api/validation_set_api.py +537 -312
  11. rapidata/api_client/models/__init__.py +24 -4
  12. rapidata/api_client/models/add_validation_rapid_model.py +12 -2
  13. rapidata/api_client/models/add_validation_rapid_model_truth.py +7 -1
  14. rapidata/api_client/models/and_filter.py +121 -0
  15. rapidata/api_client/models/and_filter_filters_inner.py +268 -0
  16. rapidata/api_client/models/asset_type.py +40 -0
  17. rapidata/api_client/models/boost_mode.py +37 -0
  18. rapidata/api_client/models/boost_query_result.py +10 -1
  19. rapidata/api_client/models/campaign_filter.py +98 -0
  20. rapidata/api_client/models/change_boost_model.py +89 -0
  21. rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
  22. rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
  23. rapidata/api_client/models/country_filter.py +98 -0
  24. rapidata/api_client/models/create_leaderboard_model.py +32 -2
  25. rapidata/api_client/models/demographic_filter.py +100 -0
  26. rapidata/api_client/models/feature_flag_model.py +4 -4
  27. rapidata/api_client/models/free_text_payload.py +10 -3
  28. rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
  29. rapidata/api_client/models/get_compare_ab_summary_result.py +4 -2
  30. rapidata/api_client/models/get_leaderboard_by_id_result.py +29 -2
  31. rapidata/api_client/models/get_public_responses_result.py +95 -0
  32. rapidata/api_client/models/get_sample_by_id_result.py +126 -0
  33. rapidata/api_client/models/language_filter.py +98 -0
  34. rapidata/api_client/models/leaderboard_query_result.py +29 -2
  35. rapidata/api_client/models/new_user_filter.py +96 -0
  36. rapidata/api_client/models/not_filter.py +117 -0
  37. rapidata/api_client/models/or_filter.py +121 -0
  38. rapidata/api_client/models/prompt_type.py +38 -0
  39. rapidata/api_client/models/public_rapid_response.py +112 -0
  40. rapidata/api_client/models/rapid_modality.py +46 -0
  41. rapidata/api_client/models/response_count_filter.py +109 -0
  42. rapidata/api_client/models/sample_by_identifier.py +126 -0
  43. rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
  44. rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
  45. rapidata/api_client/models/update_leaderboard_model.py +91 -0
  46. rapidata/api_client/models/user_score_filter.py +102 -0
  47. rapidata/api_client/models/user_state.py +38 -0
  48. rapidata/api_client/models/user_state_filter.py +101 -0
  49. rapidata/api_client/models/validation_set_model.py +54 -3
  50. rapidata/api_client_README.md +33 -10
  51. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +26 -2
  52. rapidata/rapidata_client/order/rapidata_order_manager.py +298 -219
  53. rapidata/rapidata_client/workflow/_compare_workflow.py +7 -2
  54. rapidata/rapidata_client/workflow/_free_text_workflow.py +9 -2
  55. {rapidata-2.35.3.dist-info → rapidata-2.36.1.dist-info}/METADATA +1 -1
  56. {rapidata-2.35.3.dist-info → rapidata-2.36.1.dist-info}/RECORD +58 -32
  57. {rapidata-2.35.3.dist-info → rapidata-2.36.1.dist-info}/LICENSE +0 -0
  58. {rapidata-2.35.3.dist-info → rapidata-2.36.1.dist-info}/WHEEL +0 -0
@@ -16,29 +16,30 @@
16
16
  # import models into model package
17
17
  from rapidata.api_client.models.ab_test_selection import AbTestSelection
18
18
  from rapidata.api_client.models.ab_test_selection_a_inner import AbTestSelectionAInner
19
- from rapidata.api_client.models.add_campaign_artifact_result import AddCampaignArtifactResult
20
- from rapidata.api_client.models.add_campaign_model import AddCampaignModel
21
19
  from rapidata.api_client.models.add_user_response_result import AddUserResponseResult
22
20
  from rapidata.api_client.models.add_validation_rapid_model import AddValidationRapidModel
23
21
  from rapidata.api_client.models.add_validation_rapid_model_payload import AddValidationRapidModelPayload
24
22
  from rapidata.api_client.models.add_validation_rapid_model_truth import AddValidationRapidModelTruth
25
23
  from rapidata.api_client.models.add_validation_rapid_result import AddValidationRapidResult
26
- from rapidata.api_client.models.add_validation_text_rapid_model import AddValidationTextRapidModel
27
24
  from rapidata.api_client.models.age_group import AgeGroup
28
25
  from rapidata.api_client.models.age_user_filter_model import AgeUserFilterModel
29
26
  from rapidata.api_client.models.aggregator_type import AggregatorType
27
+ from rapidata.api_client.models.and_filter import AndFilter
28
+ from rapidata.api_client.models.and_filter_filters_inner import AndFilterFiltersInner
30
29
  from rapidata.api_client.models.and_user_filter_model import AndUserFilterModel
31
30
  from rapidata.api_client.models.and_user_filter_model_filters_inner import AndUserFilterModelFiltersInner
32
31
  from rapidata.api_client.models.are_rapids_active_result import AreRapidsActiveResult
33
32
  from rapidata.api_client.models.asset_metadata import AssetMetadata
34
33
  from rapidata.api_client.models.asset_metadata_asset import AssetMetadataAsset
35
34
  from rapidata.api_client.models.asset_metadata_model import AssetMetadataModel
35
+ from rapidata.api_client.models.asset_type import AssetType
36
36
  from rapidata.api_client.models.attach_category_rapid_blueprint import AttachCategoryRapidBlueprint
37
37
  from rapidata.api_client.models.attach_category_result import AttachCategoryResult
38
38
  from rapidata.api_client.models.attach_category_truth import AttachCategoryTruth
39
39
  from rapidata.api_client.models.benchmark_query_result import BenchmarkQueryResult
40
40
  from rapidata.api_client.models.benchmark_query_result_paged_result import BenchmarkQueryResultPagedResult
41
41
  from rapidata.api_client.models.boost_leaderboard_model import BoostLeaderboardModel
42
+ from rapidata.api_client.models.boost_mode import BoostMode
42
43
  from rapidata.api_client.models.boost_query_result import BoostQueryResult
43
44
  from rapidata.api_client.models.boost_status import BoostStatus
44
45
  from rapidata.api_client.models.bounding_box_payload import BoundingBoxPayload
@@ -47,11 +48,13 @@ from rapidata.api_client.models.bounding_box_result import BoundingBoxResult
47
48
  from rapidata.api_client.models.bounding_box_truth import BoundingBoxTruth
48
49
  from rapidata.api_client.models.box_shape import BoxShape
49
50
  from rapidata.api_client.models.campaign_artifact_model import CampaignArtifactModel
51
+ from rapidata.api_client.models.campaign_filter import CampaignFilter
50
52
  from rapidata.api_client.models.campaign_query_result import CampaignQueryResult
51
53
  from rapidata.api_client.models.campaign_query_result_paged_result import CampaignQueryResultPagedResult
52
54
  from rapidata.api_client.models.campaign_status import CampaignStatus
53
55
  from rapidata.api_client.models.campaign_user_filter_model import CampaignUserFilterModel
54
56
  from rapidata.api_client.models.capped_selection import CappedSelection
57
+ from rapidata.api_client.models.change_boost_model import ChangeBoostModel
55
58
  from rapidata.api_client.models.classification_metadata import ClassificationMetadata
56
59
  from rapidata.api_client.models.classification_metadata_filter_config import ClassificationMetadataFilterConfig
57
60
  from rapidata.api_client.models.classification_metadata_model import ClassificationMetadataModel
@@ -82,6 +85,7 @@ from rapidata.api_client.models.coordinate import Coordinate
82
85
  from rapidata.api_client.models.count_classification_metadata_filter_config import CountClassificationMetadataFilterConfig
83
86
  from rapidata.api_client.models.count_metadata import CountMetadata
84
87
  from rapidata.api_client.models.count_metadata_model import CountMetadataModel
88
+ from rapidata.api_client.models.country_filter import CountryFilter
85
89
  from rapidata.api_client.models.country_user_filter_model import CountryUserFilterModel
86
90
  from rapidata.api_client.models.create_benchmark_model import CreateBenchmarkModel
87
91
  from rapidata.api_client.models.create_benchmark_participant_model import CreateBenchmarkParticipantModel
@@ -125,6 +129,7 @@ from rapidata.api_client.models.dataset_artifact_model import DatasetArtifactMod
125
129
  from rapidata.api_client.models.dataset_dataset_id_datapoints_post_request_metadata_inner import DatasetDatasetIdDatapointsPostRequestMetadataInner
126
130
  from rapidata.api_client.models.dataset_evaluation_step_model import DatasetEvaluationStepModel
127
131
  from rapidata.api_client.models.demographic import Demographic
132
+ from rapidata.api_client.models.demographic_filter import DemographicFilter
128
133
  from rapidata.api_client.models.demographic_metadata_model import DemographicMetadataModel
129
134
  from rapidata.api_client.models.demographic_selection import DemographicSelection
130
135
  from rapidata.api_client.models.dynamic_client_registration_request import DynamicClientRegistrationRequest
@@ -176,8 +181,10 @@ from rapidata.api_client.models.get_participant_by_id_result import GetParticipa
176
181
  from rapidata.api_client.models.get_pipeline_by_id_result import GetPipelineByIdResult
177
182
  from rapidata.api_client.models.get_pipeline_by_id_result_artifacts_value import GetPipelineByIdResultArtifactsValue
178
183
  from rapidata.api_client.models.get_public_orders_result import GetPublicOrdersResult
184
+ from rapidata.api_client.models.get_public_responses_result import GetPublicResponsesResult
179
185
  from rapidata.api_client.models.get_rapid_responses_result import GetRapidResponsesResult
180
186
  from rapidata.api_client.models.get_responses_result import GetResponsesResult
187
+ from rapidata.api_client.models.get_sample_by_id_result import GetSampleByIdResult
181
188
  from rapidata.api_client.models.get_simple_workflow_results_model import GetSimpleWorkflowResultsModel
182
189
  from rapidata.api_client.models.get_standing_by_id_result import GetStandingByIdResult
183
190
  from rapidata.api_client.models.get_validation_rapids_result import GetValidationRapidsResult
@@ -201,6 +208,7 @@ from rapidata.api_client.models.inspect_report_result import InspectReportResult
201
208
  from rapidata.api_client.models.json_web_key import JsonWebKey
202
209
  from rapidata.api_client.models.json_web_key_set import JsonWebKeySet
203
210
  from rapidata.api_client.models.labeling_selection import LabelingSelection
211
+ from rapidata.api_client.models.language_filter import LanguageFilter
204
212
  from rapidata.api_client.models.language_user_filter_model import LanguageUserFilterModel
205
213
  from rapidata.api_client.models.leaderboard_query_result import LeaderboardQueryResult
206
214
  from rapidata.api_client.models.leaderboard_query_result_paged_result import LeaderboardQueryResultPagedResult
@@ -241,15 +249,18 @@ from rapidata.api_client.models.named_entity_result import NamedEntityResult
241
249
  from rapidata.api_client.models.named_entity_truth import NamedEntityTruth
242
250
  from rapidata.api_client.models.never_ending_referee_config import NeverEndingRefereeConfig
243
251
  from rapidata.api_client.models.never_ending_referee_info import NeverEndingRefereeInfo
252
+ from rapidata.api_client.models.new_user_filter import NewUserFilter
244
253
  from rapidata.api_client.models.new_user_filter_model import NewUserFilterModel
245
254
  from rapidata.api_client.models.newsletter_model import NewsletterModel
246
255
  from rapidata.api_client.models.not_available_yet_result import NotAvailableYetResult
256
+ from rapidata.api_client.models.not_filter import NotFilter
247
257
  from rapidata.api_client.models.not_user_filter_model import NotUserFilterModel
248
258
  from rapidata.api_client.models.null_asset import NullAsset
249
259
  from rapidata.api_client.models.null_asset_model import NullAssetModel
250
260
  from rapidata.api_client.models.online_pair_maker_config import OnlinePairMakerConfig
251
261
  from rapidata.api_client.models.online_pair_maker_config_model import OnlinePairMakerConfigModel
252
262
  from rapidata.api_client.models.online_pair_maker_information import OnlinePairMakerInformation
263
+ from rapidata.api_client.models.or_filter import OrFilter
253
264
  from rapidata.api_client.models.or_user_filter_model import OrUserFilterModel
254
265
  from rapidata.api_client.models.order_model import OrderModel
255
266
  from rapidata.api_client.models.order_model_paged_result import OrderModelPagedResult
@@ -281,12 +292,15 @@ from rapidata.api_client.models.prompt_by_benchmark_result_paged_result import P
281
292
  from rapidata.api_client.models.prompt_metadata import PromptMetadata
282
293
  from rapidata.api_client.models.prompt_metadata_input import PromptMetadataInput
283
294
  from rapidata.api_client.models.prompt_metadata_model import PromptMetadataModel
295
+ from rapidata.api_client.models.prompt_type import PromptType
284
296
  from rapidata.api_client.models.proxy_file_wrapper import ProxyFileWrapper
285
297
  from rapidata.api_client.models.public_order_model import PublicOrderModel
298
+ from rapidata.api_client.models.public_rapid_response import PublicRapidResponse
286
299
  from rapidata.api_client.models.public_text_metadata_input import PublicTextMetadataInput
287
300
  from rapidata.api_client.models.query_model import QueryModel
288
301
  from rapidata.api_client.models.query_validation_model import QueryValidationModel
289
302
  from rapidata.api_client.models.rapid_issue import RapidIssue
303
+ from rapidata.api_client.models.rapid_modality import RapidModality
290
304
  from rapidata.api_client.models.rapid_model import RapidModel
291
305
  from rapidata.api_client.models.rapid_model_paged_result import RapidModelPagedResult
292
306
  from rapidata.api_client.models.rapid_model_referee import RapidModelReferee
@@ -300,12 +314,15 @@ from rapidata.api_client.models.read_bridge_token_keys_result import ReadBridgeT
300
314
  from rapidata.api_client.models.register_temporary_customer_model import RegisterTemporaryCustomerModel
301
315
  from rapidata.api_client.models.register_temporary_customer_result import RegisterTemporaryCustomerResult
302
316
  from rapidata.api_client.models.report_model import ReportModel
317
+ from rapidata.api_client.models.response_count_filter import ResponseCountFilter
303
318
  from rapidata.api_client.models.response_count_user_filter_model import ResponseCountUserFilterModel
304
319
  from rapidata.api_client.models.retrieval_mode import RetrievalMode
305
320
  from rapidata.api_client.models.root_filter import RootFilter
306
321
  from rapidata.api_client.models.run_status import RunStatus
307
322
  from rapidata.api_client.models.runs_by_leaderboard_result import RunsByLeaderboardResult
308
323
  from rapidata.api_client.models.runs_by_leaderboard_result_paged_result import RunsByLeaderboardResultPagedResult
324
+ from rapidata.api_client.models.sample_by_identifier import SampleByIdentifier
325
+ from rapidata.api_client.models.sample_by_identifier_paged_result import SampleByIdentifierPagedResult
309
326
  from rapidata.api_client.models.sample_by_participant import SampleByParticipant
310
327
  from rapidata.api_client.models.sample_by_participant_paged_result import SampleByParticipantPagedResult
311
328
  from rapidata.api_client.models.scrub_payload import ScrubPayload
@@ -361,9 +378,9 @@ from rapidata.api_client.models.translated_prompt_metadata_model import Translat
361
378
  from rapidata.api_client.models.translated_string import TranslatedString
362
379
  from rapidata.api_client.models.unlock_order_result import UnlockOrderResult
363
380
  from rapidata.api_client.models.update_benchmark_name_model import UpdateBenchmarkNameModel
364
- from rapidata.api_client.models.update_campaign_model import UpdateCampaignModel
365
381
  from rapidata.api_client.models.update_dataset_name_model import UpdateDatasetNameModel
366
382
  from rapidata.api_client.models.update_dimensions_model import UpdateDimensionsModel
383
+ from rapidata.api_client.models.update_leaderboard_model import UpdateLeaderboardModel
367
384
  from rapidata.api_client.models.update_leaderboard_name_model import UpdateLeaderboardNameModel
368
385
  from rapidata.api_client.models.update_leaderboard_response_config_model import UpdateLeaderboardResponseConfigModel
369
386
  from rapidata.api_client.models.update_order_name_model import UpdateOrderNameModel
@@ -375,7 +392,10 @@ from rapidata.api_client.models.update_validation_rapid_model_truth import Updat
375
392
  from rapidata.api_client.models.upload_coco_result import UploadCocoResult
376
393
  from rapidata.api_client.models.upload_from_s3_result import UploadFromS3Result
377
394
  from rapidata.api_client.models.url_asset_input import UrlAssetInput
395
+ from rapidata.api_client.models.user_score_filter import UserScoreFilter
378
396
  from rapidata.api_client.models.user_score_user_filter_model import UserScoreUserFilterModel
397
+ from rapidata.api_client.models.user_state import UserState
398
+ from rapidata.api_client.models.user_state_filter import UserStateFilter
379
399
  from rapidata.api_client.models.validation_chance import ValidationChance
380
400
  from rapidata.api_client.models.validation_selection import ValidationSelection
381
401
  from rapidata.api_client.models.validation_set_model import ValidationSetModel
@@ -30,8 +30,8 @@ class AddValidationRapidModel(BaseModel):
30
30
  The model for adding a validation rapid.
31
31
  """ # noqa: E501
32
32
  payload: AddValidationRapidModelPayload
33
- metadata: List[DatasetDatasetIdDatapointsPostRequestMetadataInner] = Field(description="Some metadata to attach to the rapid.")
34
- truth: AddValidationRapidModelTruth
33
+ metadata: Optional[List[DatasetDatasetIdDatapointsPostRequestMetadataInner]] = Field(default=None, description="Some metadata to attach to the rapid.")
34
+ truth: Optional[AddValidationRapidModelTruth] = None
35
35
  random_correct_probability: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The probability for an answer to be correct when randomly guessing.", alias="randomCorrectProbability")
36
36
  explanation: Optional[StrictStr] = Field(default=None, description="An explanation for the users if they answer the rapid incorrectly.")
37
37
  __properties: ClassVar[List[str]] = ["payload", "metadata", "truth", "randomCorrectProbability", "explanation"]
@@ -88,6 +88,16 @@ class AddValidationRapidModel(BaseModel):
88
88
  # override the default output from pydantic by calling `to_dict()` of truth
89
89
  if self.truth:
90
90
  _dict['truth'] = self.truth.to_dict()
91
+ # set to None if metadata (nullable) is None
92
+ # and model_fields_set contains the field
93
+ if self.metadata is None and "metadata" in self.model_fields_set:
94
+ _dict['metadata'] = None
95
+
96
+ # set to None if truth (nullable) is None
97
+ # and model_fields_set contains the field
98
+ if self.truth is None and "truth" in self.model_fields_set:
99
+ _dict['truth'] = None
100
+
91
101
  # set to None if random_correct_probability (nullable) is None
92
102
  # and model_fields_set contains the field
93
103
  if self.random_correct_probability is None and "random_correct_probability" in self.model_fields_set:
@@ -87,6 +87,9 @@ class AddValidationRapidModelTruth(BaseModel):
87
87
 
88
88
  @field_validator('actual_instance')
89
89
  def actual_instance_must_validate_oneof(cls, v):
90
+ if v is None:
91
+ return v
92
+
90
93
  instance = AddValidationRapidModelTruth.model_construct()
91
94
  error_messages = []
92
95
  match = 0
@@ -164,9 +167,12 @@ class AddValidationRapidModelTruth(BaseModel):
164
167
  return cls.from_json(json.dumps(obj))
165
168
 
166
169
  @classmethod
167
- def from_json(cls, json_str: str) -> Self:
170
+ def from_json(cls, json_str: Optional[str]) -> Self:
168
171
  """Returns the object represented by the json string"""
169
172
  instance = cls.model_construct()
173
+ if json_str is None:
174
+ return instance
175
+
170
176
  error_messages = []
171
177
  match = 0
172
178
 
@@ -0,0 +1,121 @@
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, StrictInt, 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 AndFilter(BaseModel):
26
+ """
27
+ AndFilter
28
+ """ # noqa: E501
29
+ t: StrictStr = Field(description="Discriminator value for AndFilter", alias="_t")
30
+ filters: List[AndFilterFiltersInner]
31
+ execution_order: Optional[StrictInt] = Field(default=None, alias="executionOrder")
32
+ inner_filters: Optional[List[AndFilterFiltersInner]] = Field(default=None, alias="innerFilters")
33
+ __properties: ClassVar[List[str]] = ["_t", "filters", "executionOrder", "innerFilters"]
34
+
35
+ @field_validator('t')
36
+ def t_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value not in set(['AndFilter']):
39
+ raise ValueError("must be one of enum values ('AndFilter')")
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 AndFilter from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self) -> Dict[str, Any]:
64
+ """Return the dictionary representation of the model using alias.
65
+
66
+ This has the following differences from calling pydantic's
67
+ `self.model_dump(by_alias=True)`:
68
+
69
+ * `None` is only added to the output dict for nullable fields that
70
+ were set at model initialization. Other fields with value `None`
71
+ are ignored.
72
+ * OpenAPI `readOnly` fields are excluded.
73
+ * OpenAPI `readOnly` fields are excluded.
74
+ """
75
+ excluded_fields: Set[str] = set([
76
+ "execution_order",
77
+ "inner_filters",
78
+ ])
79
+
80
+ _dict = self.model_dump(
81
+ by_alias=True,
82
+ exclude=excluded_fields,
83
+ exclude_none=True,
84
+ )
85
+ # override the default output from pydantic by calling `to_dict()` of each item in filters (list)
86
+ _items = []
87
+ if self.filters:
88
+ for _item_filters in self.filters:
89
+ if _item_filters:
90
+ _items.append(_item_filters.to_dict())
91
+ _dict['filters'] = _items
92
+ # override the default output from pydantic by calling `to_dict()` of each item in inner_filters (list)
93
+ _items = []
94
+ if self.inner_filters:
95
+ for _item_inner_filters in self.inner_filters:
96
+ if _item_inner_filters:
97
+ _items.append(_item_inner_filters.to_dict())
98
+ _dict['innerFilters'] = _items
99
+ return _dict
100
+
101
+ @classmethod
102
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
103
+ """Create an instance of AndFilter from a dict"""
104
+ if obj is None:
105
+ return None
106
+
107
+ if not isinstance(obj, dict):
108
+ return cls.model_validate(obj)
109
+
110
+ _obj = cls.model_validate({
111
+ "_t": obj.get("_t") if obj.get("_t") is not None else 'AndFilter',
112
+ "filters": [AndFilterFiltersInner.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None,
113
+ "executionOrder": obj.get("executionOrder"),
114
+ "innerFilters": [AndFilterFiltersInner.from_dict(_item) for _item in obj["innerFilters"]] if obj.get("innerFilters") is not None else None
115
+ })
116
+ return _obj
117
+
118
+ from rapidata.api_client.models.and_filter_filters_inner import AndFilterFiltersInner
119
+ # TODO: Rewrite to not use raise_errors
120
+ AndFilter.model_rebuild(raise_errors=False)
121
+
@@ -0,0 +1,268 @@
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.campaign_filter import CampaignFilter
21
+ from rapidata.api_client.models.country_filter import CountryFilter
22
+ from rapidata.api_client.models.demographic_filter import DemographicFilter
23
+ from rapidata.api_client.models.language_filter import LanguageFilter
24
+ from rapidata.api_client.models.new_user_filter import NewUserFilter
25
+ from rapidata.api_client.models.response_count_filter import ResponseCountFilter
26
+ from rapidata.api_client.models.user_score_filter import UserScoreFilter
27
+ from rapidata.api_client.models.user_state_filter import UserStateFilter
28
+ from pydantic import StrictStr, Field
29
+ from typing import Union, List, Set, Optional, Dict
30
+ from typing_extensions import Literal, Self
31
+
32
+ ANDFILTERFILTERSINNER_ONE_OF_SCHEMAS = ["AndFilter", "CampaignFilter", "CountryFilter", "DemographicFilter", "LanguageFilter", "NewUserFilter", "NotFilter", "OrFilter", "ResponseCountFilter", "UserScoreFilter", "UserStateFilter"]
33
+
34
+ class AndFilterFiltersInner(BaseModel):
35
+ """
36
+ AndFilterFiltersInner
37
+ """
38
+ # data type: AndFilter
39
+ oneof_schema_1_validator: Optional[AndFilter] = None
40
+ # data type: CampaignFilter
41
+ oneof_schema_2_validator: Optional[CampaignFilter] = None
42
+ # data type: CountryFilter
43
+ oneof_schema_3_validator: Optional[CountryFilter] = None
44
+ # data type: DemographicFilter
45
+ oneof_schema_4_validator: Optional[DemographicFilter] = None
46
+ # data type: LanguageFilter
47
+ oneof_schema_5_validator: Optional[LanguageFilter] = None
48
+ # data type: NewUserFilter
49
+ oneof_schema_6_validator: Optional[NewUserFilter] = None
50
+ # data type: NotFilter
51
+ oneof_schema_7_validator: Optional[NotFilter] = None
52
+ # data type: OrFilter
53
+ oneof_schema_8_validator: Optional[OrFilter] = None
54
+ # data type: ResponseCountFilter
55
+ oneof_schema_9_validator: Optional[ResponseCountFilter] = None
56
+ # data type: UserScoreFilter
57
+ oneof_schema_10_validator: Optional[UserScoreFilter] = None
58
+ # data type: UserStateFilter
59
+ oneof_schema_11_validator: Optional[UserStateFilter] = None
60
+ actual_instance: Optional[Union[AndFilter, CampaignFilter, CountryFilter, DemographicFilter, LanguageFilter, NewUserFilter, NotFilter, OrFilter, ResponseCountFilter, UserScoreFilter, UserStateFilter]] = None
61
+ one_of_schemas: Set[str] = { "AndFilter", "CampaignFilter", "CountryFilter", "DemographicFilter", "LanguageFilter", "NewUserFilter", "NotFilter", "OrFilter", "ResponseCountFilter", "UserScoreFilter", "UserStateFilter" }
62
+
63
+ model_config = ConfigDict(
64
+ validate_assignment=True,
65
+ protected_namespaces=(),
66
+ )
67
+
68
+
69
+ discriminator_value_class_map: Dict[str, str] = {
70
+ }
71
+
72
+ def __init__(self, *args, **kwargs) -> None:
73
+ if args:
74
+ if len(args) > 1:
75
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
76
+ if kwargs:
77
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
78
+ super().__init__(actual_instance=args[0])
79
+ else:
80
+ super().__init__(**kwargs)
81
+
82
+ @field_validator('actual_instance')
83
+ def actual_instance_must_validate_oneof(cls, v):
84
+ instance = AndFilterFiltersInner.model_construct()
85
+ error_messages = []
86
+ match = 0
87
+ # validate data type: AndFilter
88
+ if not isinstance(v, AndFilter):
89
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AndFilter`")
90
+ else:
91
+ match += 1
92
+ # validate data type: CampaignFilter
93
+ if not isinstance(v, CampaignFilter):
94
+ error_messages.append(f"Error! Input type `{type(v)}` is not `CampaignFilter`")
95
+ else:
96
+ match += 1
97
+ # validate data type: CountryFilter
98
+ if not isinstance(v, CountryFilter):
99
+ error_messages.append(f"Error! Input type `{type(v)}` is not `CountryFilter`")
100
+ else:
101
+ match += 1
102
+ # validate data type: DemographicFilter
103
+ if not isinstance(v, DemographicFilter):
104
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DemographicFilter`")
105
+ else:
106
+ match += 1
107
+ # validate data type: LanguageFilter
108
+ if not isinstance(v, LanguageFilter):
109
+ error_messages.append(f"Error! Input type `{type(v)}` is not `LanguageFilter`")
110
+ else:
111
+ match += 1
112
+ # validate data type: NewUserFilter
113
+ if not isinstance(v, NewUserFilter):
114
+ error_messages.append(f"Error! Input type `{type(v)}` is not `NewUserFilter`")
115
+ else:
116
+ match += 1
117
+ # validate data type: NotFilter
118
+ if not isinstance(v, NotFilter):
119
+ error_messages.append(f"Error! Input type `{type(v)}` is not `NotFilter`")
120
+ else:
121
+ match += 1
122
+ # validate data type: OrFilter
123
+ if not isinstance(v, OrFilter):
124
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OrFilter`")
125
+ else:
126
+ match += 1
127
+ # validate data type: ResponseCountFilter
128
+ if not isinstance(v, ResponseCountFilter):
129
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ResponseCountFilter`")
130
+ else:
131
+ match += 1
132
+ # validate data type: UserScoreFilter
133
+ if not isinstance(v, UserScoreFilter):
134
+ error_messages.append(f"Error! Input type `{type(v)}` is not `UserScoreFilter`")
135
+ else:
136
+ match += 1
137
+ # validate data type: UserStateFilter
138
+ if not isinstance(v, UserStateFilter):
139
+ error_messages.append(f"Error! Input type `{type(v)}` is not `UserStateFilter`")
140
+ else:
141
+ match += 1
142
+ if match > 1:
143
+ # more than 1 match
144
+ raise ValueError("Multiple matches found when setting `actual_instance` in AndFilterFiltersInner with oneOf schemas: AndFilter, CampaignFilter, CountryFilter, DemographicFilter, LanguageFilter, NewUserFilter, NotFilter, OrFilter, ResponseCountFilter, UserScoreFilter, UserStateFilter. Details: " + ", ".join(error_messages))
145
+ elif match == 0:
146
+ # no match
147
+ raise ValueError("No match found when setting `actual_instance` in AndFilterFiltersInner with oneOf schemas: AndFilter, CampaignFilter, CountryFilter, DemographicFilter, LanguageFilter, NewUserFilter, NotFilter, OrFilter, ResponseCountFilter, UserScoreFilter, UserStateFilter. Details: " + ", ".join(error_messages))
148
+ else:
149
+ return v
150
+
151
+ @classmethod
152
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
153
+ return cls.from_json(json.dumps(obj))
154
+
155
+ @classmethod
156
+ def from_json(cls, json_str: str) -> Self:
157
+ """Returns the object represented by the json string"""
158
+ instance = cls.model_construct()
159
+ error_messages = []
160
+ match = 0
161
+
162
+ # deserialize data into AndFilter
163
+ try:
164
+ instance.actual_instance = AndFilter.from_json(json_str)
165
+ match += 1
166
+ except (ValidationError, ValueError) as e:
167
+ error_messages.append(str(e))
168
+ # deserialize data into CampaignFilter
169
+ try:
170
+ instance.actual_instance = CampaignFilter.from_json(json_str)
171
+ match += 1
172
+ except (ValidationError, ValueError) as e:
173
+ error_messages.append(str(e))
174
+ # deserialize data into CountryFilter
175
+ try:
176
+ instance.actual_instance = CountryFilter.from_json(json_str)
177
+ match += 1
178
+ except (ValidationError, ValueError) as e:
179
+ error_messages.append(str(e))
180
+ # deserialize data into DemographicFilter
181
+ try:
182
+ instance.actual_instance = DemographicFilter.from_json(json_str)
183
+ match += 1
184
+ except (ValidationError, ValueError) as e:
185
+ error_messages.append(str(e))
186
+ # deserialize data into LanguageFilter
187
+ try:
188
+ instance.actual_instance = LanguageFilter.from_json(json_str)
189
+ match += 1
190
+ except (ValidationError, ValueError) as e:
191
+ error_messages.append(str(e))
192
+ # deserialize data into NewUserFilter
193
+ try:
194
+ instance.actual_instance = NewUserFilter.from_json(json_str)
195
+ match += 1
196
+ except (ValidationError, ValueError) as e:
197
+ error_messages.append(str(e))
198
+ # deserialize data into NotFilter
199
+ try:
200
+ instance.actual_instance = NotFilter.from_json(json_str)
201
+ match += 1
202
+ except (ValidationError, ValueError) as e:
203
+ error_messages.append(str(e))
204
+ # deserialize data into OrFilter
205
+ try:
206
+ instance.actual_instance = OrFilter.from_json(json_str)
207
+ match += 1
208
+ except (ValidationError, ValueError) as e:
209
+ error_messages.append(str(e))
210
+ # deserialize data into ResponseCountFilter
211
+ try:
212
+ instance.actual_instance = ResponseCountFilter.from_json(json_str)
213
+ match += 1
214
+ except (ValidationError, ValueError) as e:
215
+ error_messages.append(str(e))
216
+ # deserialize data into UserScoreFilter
217
+ try:
218
+ instance.actual_instance = UserScoreFilter.from_json(json_str)
219
+ match += 1
220
+ except (ValidationError, ValueError) as e:
221
+ error_messages.append(str(e))
222
+ # deserialize data into UserStateFilter
223
+ try:
224
+ instance.actual_instance = UserStateFilter.from_json(json_str)
225
+ match += 1
226
+ except (ValidationError, ValueError) as e:
227
+ error_messages.append(str(e))
228
+
229
+ if match > 1:
230
+ # more than 1 match
231
+ raise ValueError("Multiple matches found when deserializing the JSON string into AndFilterFiltersInner with oneOf schemas: AndFilter, CampaignFilter, CountryFilter, DemographicFilter, LanguageFilter, NewUserFilter, NotFilter, OrFilter, ResponseCountFilter, UserScoreFilter, UserStateFilter. Details: " + ", ".join(error_messages))
232
+ elif match == 0:
233
+ # no match
234
+ raise ValueError("No match found when deserializing the JSON string into AndFilterFiltersInner with oneOf schemas: AndFilter, CampaignFilter, CountryFilter, DemographicFilter, LanguageFilter, NewUserFilter, NotFilter, OrFilter, ResponseCountFilter, UserScoreFilter, UserStateFilter. Details: " + ", ".join(error_messages))
235
+ else:
236
+ return instance
237
+
238
+ def to_json(self) -> str:
239
+ """Returns the JSON representation of the actual instance"""
240
+ if self.actual_instance is None:
241
+ return "null"
242
+
243
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
244
+ return self.actual_instance.to_json()
245
+ else:
246
+ return json.dumps(self.actual_instance)
247
+
248
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AndFilter, CampaignFilter, CountryFilter, DemographicFilter, LanguageFilter, NewUserFilter, NotFilter, OrFilter, ResponseCountFilter, UserScoreFilter, UserStateFilter]]:
249
+ """Returns the dict representation of the actual instance"""
250
+ if self.actual_instance is None:
251
+ return None
252
+
253
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
254
+ return self.actual_instance.to_dict()
255
+ else:
256
+ # primitive type
257
+ return self.actual_instance
258
+
259
+ def to_str(self) -> str:
260
+ """Returns the string representation of the actual instance"""
261
+ return pprint.pformat(self.model_dump())
262
+
263
+ from rapidata.api_client.models.and_filter import AndFilter
264
+ from rapidata.api_client.models.not_filter import NotFilter
265
+ from rapidata.api_client.models.or_filter import OrFilter
266
+ # TODO: Rewrite to not use raise_errors
267
+ AndFilterFiltersInner.model_rebuild(raise_errors=False)
268
+
@@ -0,0 +1,40 @@
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
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class AssetType(str, Enum):
22
+ """
23
+ AssetType
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ NONE = 'None'
30
+ IMAGE = 'Image'
31
+ VIDEO = 'Video'
32
+ AUDIO = 'Audio'
33
+ TEXT = 'Text'
34
+
35
+ @classmethod
36
+ def from_json(cls, json_str: str) -> Self:
37
+ """Create an instance of AssetType from a JSON string"""
38
+ return cls(json.loads(json_str))
39
+
40
+