shaped 2.0.2__py3-none-any.whl → 2.0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. shaped/__init__.py +47 -42
  2. shaped/autogen/__init__.py +37 -51
  3. shaped/autogen/api/engine_api.py +1 -1
  4. shaped/autogen/api/query_api.py +8 -68
  5. shaped/autogen/api/table_api.py +1 -1
  6. shaped/autogen/api/view_api.py +1 -1
  7. shaped/autogen/api_client.py +4 -4
  8. shaped/autogen/configuration.py +5 -3
  9. shaped/autogen/exceptions.py +7 -4
  10. shaped/autogen/models/__init__.py +19 -26
  11. shaped/autogen/models/ai_enrichment_view_config.py +1 -1
  12. shaped/autogen/models/algorithm.py +1 -1
  13. shaped/autogen/models/amplitude_table_config.py +1 -1
  14. shaped/autogen/models/ascending.py +29 -17
  15. shaped/autogen/models/attn_dropout_prob.py +1 -1
  16. shaped/autogen/models/attribute_journey.py +1 -1
  17. shaped/autogen/models/attribute_value.py +1 -1
  18. shaped/autogen/models/autoscaling_config.py +1 -1
  19. shaped/autogen/models/aws_pinpoint_table_config.py +1 -1
  20. shaped/autogen/models/batch_size.py +1 -1
  21. shaped/autogen/models/batch_size1.py +1 -1
  22. shaped/autogen/models/batch_size2.py +1 -1
  23. shaped/autogen/models/big_query_table_config.py +1 -1
  24. shaped/autogen/models/bm25.py +1 -1
  25. shaped/autogen/models/boosted_reorder_step.py +1 -1
  26. shaped/autogen/models/canary_rollout.py +1 -1
  27. shaped/autogen/models/candidate_attributes_retrieve_step.py +1 -14
  28. shaped/autogen/models/candidate_ids_retrieve_step.py +1 -1
  29. shaped/autogen/models/candidate_retrieval_strategy.py +1 -1
  30. shaped/autogen/models/clickhouse_table_config.py +1 -1
  31. shaped/autogen/models/column_order_retrieve_step.py +1 -1
  32. shaped/autogen/models/column_ordering.py +1 -1
  33. shaped/autogen/models/create_table_response.py +1 -1
  34. shaped/autogen/models/create_view_response.py +1 -1
  35. shaped/autogen/models/custom_table_config.py +1 -1
  36. shaped/autogen/models/data_compute_config.py +1 -1
  37. shaped/autogen/models/data_config.py +1 -1
  38. shaped/autogen/models/data_config_interaction_table.py +1 -1
  39. shaped/autogen/models/data_split_config.py +1 -1
  40. shaped/autogen/models/data_split_strategy.py +1 -1
  41. shaped/autogen/models/data_tier.py +1 -1
  42. shaped/autogen/models/default.py +1 -1
  43. shaped/autogen/models/delete_engine_response.py +1 -1
  44. shaped/autogen/models/delete_table_response.py +1 -1
  45. shaped/autogen/models/delete_view_response.py +1 -1
  46. shaped/autogen/models/deployment_config.py +2 -8
  47. shaped/autogen/models/distance_function.py +5 -5
  48. shaped/autogen/models/diversity_reorder_step.py +1 -1
  49. shaped/autogen/models/dropout_rate.py +1 -1
  50. shaped/autogen/models/dynamo_db_table_config.py +1 -1
  51. shaped/autogen/models/dynamo_db_table_config_scan_kwargs_value.py +1 -1
  52. shaped/autogen/models/embedder_batch_size.py +1 -1
  53. shaped/autogen/models/embedding_config.py +1 -1
  54. shaped/autogen/models/embedding_dim.py +1 -1
  55. shaped/autogen/models/embedding_dims.py +1 -1
  56. shaped/autogen/models/embedding_size.py +1 -1
  57. shaped/autogen/models/encoder.py +1 -1
  58. shaped/autogen/models/encoding_pooling_strategy.py +5 -5
  59. shaped/autogen/models/engine.py +1 -1
  60. shaped/autogen/models/engine_config_v2.py +1 -1
  61. shaped/autogen/models/engine_details_response.py +1 -1
  62. shaped/autogen/models/engine_schema.py +8 -8
  63. shaped/autogen/models/engine_schema_user_inner.py +30 -18
  64. shaped/autogen/models/entity_config.py +1 -1
  65. shaped/autogen/models/entity_journey.py +28 -19
  66. shaped/autogen/models/entity_type.py +1 -1
  67. shaped/autogen/models/evaluation_config.py +1 -1
  68. shaped/autogen/models/exploration_reorder_step.py +1 -1
  69. shaped/autogen/models/expression_filter_step.py +1 -1
  70. shaped/autogen/models/factors.py +1 -1
  71. shaped/autogen/models/factors1.py +1 -1
  72. shaped/autogen/models/feature.py +1 -1
  73. shaped/autogen/models/feature_type.py +1 -1
  74. shaped/autogen/models/file_table_config.py +1 -1
  75. shaped/autogen/models/filter_config.py +14 -14
  76. shaped/autogen/models/filter_dataset.py +47 -23
  77. shaped/autogen/models/filter_index_type.py +1 -1
  78. shaped/autogen/models/filter_retrieve_step.py +1 -1
  79. shaped/autogen/models/filter_step_explanation.py +165 -0
  80. shaped/autogen/models/filter_table.py +140 -0
  81. shaped/autogen/models/filter_type.py +134 -0
  82. shaped/autogen/models/global_filter.py +1 -1
  83. shaped/autogen/models/hidden_dropout_prob.py +1 -1
  84. shaped/autogen/models/hidden_size.py +1 -1
  85. shaped/autogen/models/hidden_size1.py +1 -1
  86. shaped/autogen/models/http_problem_response.py +1 -1
  87. shaped/autogen/models/http_validation_error.py +1 -1
  88. shaped/autogen/models/hugging_face_encoder.py +6 -4
  89. shaped/autogen/models/iceberg_table_config.py +1 -1
  90. shaped/autogen/models/index_config.py +1 -1
  91. shaped/autogen/models/inner_entity_id.py +144 -0
  92. shaped/autogen/models/inner_size.py +1 -1
  93. shaped/autogen/models/inner_size1.py +1 -1
  94. shaped/autogen/models/inner_uid.py +144 -0
  95. shaped/autogen/models/interaction_config.py +1 -1
  96. shaped/autogen/models/interaction_pooling_encoder.py +1 -1
  97. shaped/autogen/models/interaction_round_robin_encoder.py +1 -1
  98. shaped/autogen/models/item_attribute_pooling_encoder.py +1 -14
  99. shaped/autogen/models/journey.py +1 -1
  100. shaped/autogen/models/kafka_table_config.py +1 -1
  101. shaped/autogen/models/kinesis_table_config.py +1 -1
  102. shaped/autogen/models/kinesis_table_config_column_schema_value.py +1 -1
  103. shaped/autogen/models/label.py +1 -1
  104. shaped/autogen/models/label_type.py +1 -2
  105. shaped/autogen/models/laplace_smoothing.py +1 -1
  106. shaped/autogen/models/latency_scaling_policy.py +1 -1
  107. shaped/autogen/models/learning_rate.py +1 -1
  108. shaped/autogen/models/learning_rate1.py +1 -1
  109. shaped/autogen/models/learning_rate2.py +1 -1
  110. shaped/autogen/models/learning_rate3.py +1 -1
  111. shaped/autogen/models/lexical_search_mode.py +3 -3
  112. shaped/autogen/models/list_engines_response.py +1 -1
  113. shaped/autogen/models/list_tables_response.py +1 -1
  114. shaped/autogen/models/list_views_response.py +1 -1
  115. shaped/autogen/models/location_inner.py +138 -0
  116. shaped/autogen/models/loss_types.py +1 -1
  117. shaped/autogen/models/lr.py +1 -1
  118. shaped/autogen/models/lr1.py +1 -1
  119. shaped/autogen/models/lr2.py +1 -1
  120. shaped/autogen/models/max_depth.py +1 -1
  121. shaped/autogen/models/max_leaves.py +1 -1
  122. shaped/autogen/models/max_seq_length.py +1 -1
  123. shaped/autogen/models/max_seq_length1.py +1 -1
  124. shaped/autogen/models/max_seq_length2.py +1 -1
  125. shaped/autogen/models/mode.py +1 -1
  126. shaped/autogen/models/mode1.py +20 -18
  127. shaped/autogen/models/mode2.py +32 -18
  128. shaped/autogen/models/models_inner.py +308 -0
  129. shaped/autogen/models/mongo_db_table_config.py +1 -1
  130. shaped/autogen/models/mssql_table_config.py +1 -1
  131. shaped/autogen/models/my_sql_table_config.py +1 -1
  132. shaped/autogen/models/n_epochs.py +1 -1
  133. shaped/autogen/models/n_epochs1.py +1 -1
  134. shaped/autogen/models/n_epochs2.py +1 -1
  135. shaped/autogen/models/n_estimators.py +1 -1
  136. shaped/autogen/models/n_heads.py +1 -1
  137. shaped/autogen/models/n_layers.py +1 -1
  138. shaped/autogen/models/neg_per_positive.py +1 -1
  139. shaped/autogen/models/negative_samples_count.py +1 -1
  140. shaped/autogen/models/ngram_tokenizer.py +1 -1
  141. shaped/autogen/models/no_op_config.py +1 -1
  142. shaped/autogen/models/num_blocks.py +1 -1
  143. shaped/autogen/models/num_heads.py +1 -1
  144. shaped/autogen/models/num_leaves.py +1 -1
  145. shaped/autogen/models/objective.py +1 -1
  146. shaped/autogen/models/objective1.py +1 -1
  147. shaped/autogen/models/online_store_config.py +1 -1
  148. shaped/autogen/models/pagination_config.py +1 -1
  149. shaped/autogen/models/parameter_definition.py +1 -1
  150. shaped/autogen/models/parameters_value.py +1 -1
  151. shaped/autogen/models/passthrough_score.py +1 -1
  152. shaped/autogen/models/personal_filter.py +1 -1
  153. shaped/autogen/models/pipeline_stage_explanation.py +4 -4
  154. shaped/autogen/models/policy.py +1 -1
  155. shaped/autogen/models/pool_fn.py +39 -21
  156. shaped/autogen/models/pooling_function.py +1 -1
  157. shaped/autogen/models/postgres_table_config.py +1 -1
  158. shaped/autogen/models/posthog_table_config.py +1 -1
  159. shaped/autogen/models/prebuilt_filter_step.py +1 -1
  160. shaped/autogen/models/precomputed_item_embedding.py +1 -1
  161. shaped/autogen/models/precomputed_user_embedding.py +1 -1
  162. shaped/autogen/models/query.py +15 -15
  163. shaped/autogen/models/query1.py +15 -15
  164. shaped/autogen/models/query_any_of.py +58 -26
  165. shaped/autogen/models/query_config.py +140 -0
  166. shaped/autogen/models/query_definition.py +1 -1
  167. shaped/autogen/models/query_encoder.py +1 -1
  168. shaped/autogen/models/query_explanation.py +7 -3
  169. shaped/autogen/models/query_request.py +1 -1
  170. shaped/autogen/models/query_result.py +1 -1
  171. shaped/autogen/models/query_table_config.py +1 -1
  172. shaped/autogen/models/rank_item_attribute_values_query_config.py +1 -1
  173. shaped/autogen/models/rank_query_config.py +7 -7
  174. shaped/autogen/models/rank_query_config_filter_inner.py +1 -1
  175. shaped/autogen/models/rank_query_config_reorder_inner.py +62 -25
  176. shaped/autogen/models/rank_query_config_retrieve_inner.py +100 -31
  177. shaped/autogen/models/recreate_rollout.py +1 -1
  178. shaped/autogen/models/redshift_table_config.py +1 -1
  179. shaped/autogen/models/reference_table_config.py +1 -1
  180. shaped/autogen/models/regularization.py +1 -1
  181. shaped/autogen/models/reorder_inner.py +149 -0
  182. shaped/autogen/models/reorder_step_explanation.py +207 -0
  183. shaped/autogen/models/request.py +1 -1
  184. shaped/autogen/models/request1.py +1 -1
  185. shaped/autogen/models/requests_per_second_scaling_policy.py +1 -1
  186. shaped/autogen/models/resource_config.py +100 -0
  187. shaped/autogen/models/response_get_view_details_views_view_name_get.py +1 -1
  188. shaped/autogen/models/result.py +1 -14
  189. shaped/autogen/models/result_embeddings_value.py +1 -1
  190. shaped/autogen/models/retrieval_scores_value.py +127 -0
  191. shaped/autogen/models/retrieve_inner.py +196 -0
  192. shaped/autogen/models/retrieve_step_explanation.py +172 -0
  193. shaped/autogen/models/retriever.py +1 -1
  194. shaped/autogen/models/retriever1.py +1 -1
  195. shaped/autogen/models/rollout_config.py +1 -1
  196. shaped/autogen/models/rudderstack_table_config.py +1 -1
  197. shaped/autogen/models/sampling_strategy.py +1 -1
  198. shaped/autogen/models/saved_query_info_response.py +18 -4
  199. shaped/autogen/models/saved_query_list_response.py +1 -1
  200. shaped/autogen/models/saved_query_request.py +1 -1
  201. shaped/autogen/models/schema_config.py +1 -1
  202. shaped/autogen/models/score.py +1 -1
  203. shaped/autogen/models/score_ensemble.py +1 -14
  204. shaped/autogen/models/score_ensemble_policy_config.py +49 -25
  205. shaped/autogen/models/score_ensemble_policy_config_policies_inner.py +456 -123
  206. shaped/autogen/models/score_step_explanation.py +224 -0
  207. shaped/autogen/models/search_config.py +1 -1
  208. shaped/autogen/models/segment_table_config.py +1 -1
  209. shaped/autogen/models/sequence_length.py +1 -1
  210. shaped/autogen/models/server_config.py +14 -1
  211. shaped/autogen/models/setup_engine_response.py +1 -1
  212. shaped/autogen/models/shaped_internal_recsys_policies_als_model_policy_als_model_policy_config.py +9 -3
  213. shaped/autogen/models/shaped_internal_recsys_policies_beeformer_model_policy_beeformer_model_policy_beeformer_model_policy_config.py +9 -3
  214. shaped/autogen/models/shaped_internal_recsys_policies_bert_model_policy_bert_model_policy_bert_model_policy_config.py +10 -4
  215. shaped/autogen/models/shaped_internal_recsys_policies_chronological_model_policy_chronological_model_policy_config.py +46 -27
  216. shaped/autogen/models/shaped_internal_recsys_policies_elsa_model_policy_elsa_model_policy_elsa_model_policy_config.py +6 -4
  217. shaped/autogen/models/shaped_internal_recsys_policies_gsasrec_model_policy_gsasrec_model_policy_gsas_rec_model_policy_config.py +9 -3
  218. shaped/autogen/models/shaped_internal_recsys_policies_item2vec_model_policy_item2_vec_model_policy_config.py +1 -1
  219. shaped/autogen/models/shaped_internal_recsys_policies_item_content_similarity_model_policy_item_content_similarity_model_policy_config.py +77 -34
  220. shaped/autogen/models/shaped_internal_recsys_policies_lightgbm_model_policy_lightgbm_model_policy_light_gbm_model_policy_config.py +9 -3
  221. shaped/autogen/models/shaped_internal_recsys_policies_ngram_model_policy_ngram_model_policy_config.py +1 -1
  222. shaped/autogen/models/shaped_internal_recsys_policies_popular_model_policy_popular_model_policy_config.py +52 -28
  223. shaped/autogen/models/shaped_internal_recsys_policies_random_model_policy_random_model_policy_config.py +21 -17
  224. shaped/autogen/models/shaped_internal_recsys_policies_recently_popular_policy_recently_popular_policy_config.py +36 -23
  225. shaped/autogen/models/shaped_internal_recsys_policies_rising_popular_policy_rising_popular_policy_config.py +1 -1
  226. shaped/autogen/models/shaped_internal_recsys_policies_sasrec_model_policy_sasrec_model_policy_sas_rec_model_policy_config.py +9 -3
  227. shaped/autogen/models/shaped_internal_recsys_policies_svd_model_policy_svd_model_policy_config.py +1 -1
  228. shaped/autogen/models/shaped_internal_recsys_policies_two_tower_model_policy_two_tower_model_policy_two_tower_model_policy_config.py +9 -3
  229. shaped/autogen/models/shaped_internal_recsys_policies_user_item_content_similarity_model_policy_user_item_content_similarity_model_policy_config.py +53 -31
  230. shaped/autogen/models/shaped_internal_recsys_policies_widedeep_model_policy_wide_deep_model_policy_config.py +10 -4
  231. shaped/autogen/models/shaped_internal_recsys_policies_xgboost_model_policy_xg_boost_model_policy_config.py +12 -6
  232. shaped/autogen/models/shopify_table_config.py +1 -1
  233. shaped/autogen/models/similarity_retrieve_step.py +6 -4
  234. shaped/autogen/models/snowflake_table_config.py +1 -1
  235. shaped/autogen/models/sql_transform_type.py +1 -1
  236. shaped/autogen/models/sql_view_config.py +1 -1
  237. shaped/autogen/models/stemmer_tokenizer.py +1 -1
  238. shaped/autogen/models/step_explanation.py +1 -1
  239. shaped/autogen/models/steps_inner.py +179 -0
  240. shaped/autogen/models/strategy.py +1 -1
  241. shaped/autogen/models/table.py +1 -1
  242. shaped/autogen/models/table_deployment_type.py +1 -1
  243. shaped/autogen/models/table_insert_arguments.py +3 -3
  244. shaped/autogen/models/table_insert_response.py +1 -1
  245. shaped/autogen/models/text_encoding.py +29 -17
  246. shaped/autogen/models/text_search_retrieve_step.py +1 -1
  247. shaped/autogen/models/time_frequency.py +1 -1
  248. shaped/autogen/models/time_window.py +1 -1
  249. shaped/autogen/models/time_window_in_days.py +29 -17
  250. shaped/autogen/models/tokenizer.py +1 -1
  251. shaped/autogen/models/trained_model_encoder.py +1 -1
  252. shaped/autogen/models/training_compute_config.py +4 -4
  253. shaped/autogen/models/training_config.py +4 -4
  254. shaped/autogen/models/training_config_models_inner.py +325 -93
  255. shaped/autogen/models/training_strategy.py +1 -1
  256. shaped/autogen/models/transform_status.py +41 -0
  257. shaped/autogen/models/trending_mode.py +4 -4
  258. shaped/autogen/models/truncate_filter_step.py +1 -1
  259. shaped/autogen/models/tunable_bool.py +1 -1
  260. shaped/autogen/models/tunable_float.py +1 -1
  261. shaped/autogen/models/tunable_int.py +1 -1
  262. shaped/autogen/models/tunable_int_categorical.py +1 -1
  263. shaped/autogen/models/tunable_string.py +1 -1
  264. shaped/autogen/models/tuning_config.py +1 -1
  265. shaped/autogen/models/type.py +36 -20
  266. shaped/autogen/models/update_table_response.py +1 -1
  267. shaped/autogen/models/update_view_response.py +1 -1
  268. shaped/autogen/models/user_attribute_pooling_encoder.py +1 -1
  269. shaped/autogen/models/user_inner.py +134 -0
  270. shaped/autogen/models/val_split.py +1 -1
  271. shaped/autogen/models/validation_error.py +4 -4
  272. shaped/autogen/models/validation_error_loc_inner.py +28 -16
  273. shaped/autogen/models/value_type.py +1 -1
  274. shaped/autogen/models/vector_search_mode.py +6 -4
  275. shaped/autogen/models/view.py +4 -4
  276. shaped/autogen/models/view_details_ai.py +6 -6
  277. shaped/autogen/models/view_details_ai_schema_value.py +1 -1
  278. shaped/autogen/models/view_details_sql.py +6 -6
  279. shaped/autogen/models/view_status.py +8 -8
  280. shaped/autogen/models/weight_decay.py +1 -1
  281. shaped/autogen/models/whitespace_tokenizer.py +1 -1
  282. shaped/autogen/models/window_size.py +1 -1
  283. shaped/autogen/rest.py +9 -9
  284. shaped/cli/shaped_cli.py +152 -29
  285. shaped/client.py +50 -43
  286. shaped/config_builders.py +110 -100
  287. shaped/query_builder.py +56 -49
  288. {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/METADATA +2 -2
  289. shaped-2.0.4.dist-info/RECORD +296 -0
  290. {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/WHEEL +1 -1
  291. shaped-2.0.2.dist-info/RECORD +0 -278
  292. {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/entry_points.txt +0 -0
  293. {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/top_level.txt +0 -0
  294. {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/zip-safe +0 -0
@@ -13,20 +13,24 @@
13
13
 
14
14
 
15
15
  from __future__ import annotations
16
- from inspect import getfullargspec
16
+
17
17
  import json
18
18
  import pprint
19
19
  import re # noqa: F401
20
- from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
21
- from typing import Optional
20
+ from typing import TYPE_CHECKING, Any, Dict, Optional, Set, Union
21
+
22
+ from pydantic import BaseModel, ValidationError, field_validator
22
23
  from shaped.autogen.models.boosted_reorder_step import BoostedReorderStep
23
24
  from shaped.autogen.models.diversity_reorder_step import DiversityReorderStep
24
25
  from shaped.autogen.models.exploration_reorder_step import ExplorationReorderStep
25
- from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
26
- from typing_extensions import Literal, Self
27
- from pydantic import Field
26
+ from typing_extensions import Self
27
+
28
+ RANKQUERYCONFIGREORDERINNER_ANY_OF_SCHEMAS = [
29
+ "BoostedReorderStep",
30
+ "DiversityReorderStep",
31
+ "ExplorationReorderStep",
32
+ ]
28
33
 
29
- RANKQUERYCONFIGREORDERINNER_ANY_OF_SCHEMAS = ["BoostedReorderStep", "DiversityReorderStep", "ExplorationReorderStep"]
30
34
 
31
35
  class RankQueryConfigReorderInner(BaseModel):
32
36
  """
@@ -40,10 +44,16 @@ class RankQueryConfigReorderInner(BaseModel):
40
44
  # data type: DiversityReorderStep
41
45
  anyof_schema_3_validator: Optional[DiversityReorderStep] = None
42
46
  if TYPE_CHECKING:
43
- actual_instance: Optional[Union[BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep]] = None
47
+ actual_instance: Optional[
48
+ Union[BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep]
49
+ ] = None
44
50
  else:
45
51
  actual_instance: Any = None
46
- any_of_schemas: Set[str] = { "BoostedReorderStep", "DiversityReorderStep", "ExplorationReorderStep" }
52
+ any_of_schemas: Set[str] = {
53
+ "BoostedReorderStep",
54
+ "DiversityReorderStep",
55
+ "ExplorationReorderStep",
56
+ }
47
57
 
48
58
  model_config = {
49
59
  "validate_assignment": True,
@@ -53,38 +63,51 @@ class RankQueryConfigReorderInner(BaseModel):
53
63
  def __init__(self, *args, **kwargs) -> None:
54
64
  if args:
55
65
  if len(args) > 1:
56
- raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
66
+ raise ValueError(
67
+ "If a position argument is used, only 1 is allowed to set `actual_instance`"
68
+ )
57
69
  if kwargs:
58
- raise ValueError("If a position argument is used, keyword arguments cannot be used.")
70
+ raise ValueError(
71
+ "If a position argument is used, keyword arguments cannot be used."
72
+ )
59
73
  super().__init__(actual_instance=args[0])
60
74
  else:
61
75
  super().__init__(**kwargs)
62
76
 
63
- @field_validator('actual_instance')
77
+ @field_validator("actual_instance")
64
78
  def actual_instance_must_validate_anyof(cls, v):
65
79
  instance = RankQueryConfigReorderInner.model_construct()
66
80
  error_messages = []
67
81
  # validate data type: ExplorationReorderStep
68
82
  if not isinstance(v, ExplorationReorderStep):
69
- error_messages.append(f"Error! Input type `{type(v)}` is not `ExplorationReorderStep`")
83
+ error_messages.append(
84
+ f"Error! Input type `{type(v)}` is not `ExplorationReorderStep`"
85
+ )
70
86
  else:
71
87
  return v
72
88
 
73
89
  # validate data type: BoostedReorderStep
74
90
  if not isinstance(v, BoostedReorderStep):
75
- error_messages.append(f"Error! Input type `{type(v)}` is not `BoostedReorderStep`")
91
+ error_messages.append(
92
+ f"Error! Input type `{type(v)}` is not `BoostedReorderStep`"
93
+ )
76
94
  else:
77
95
  return v
78
96
 
79
97
  # validate data type: DiversityReorderStep
80
98
  if not isinstance(v, DiversityReorderStep):
81
- error_messages.append(f"Error! Input type `{type(v)}` is not `DiversityReorderStep`")
99
+ error_messages.append(
100
+ f"Error! Input type `{type(v)}` is not `DiversityReorderStep`"
101
+ )
82
102
  else:
83
103
  return v
84
104
 
85
105
  if error_messages:
86
106
  # no match
87
- raise ValueError("No match found when setting the actual_instance in RankQueryConfigReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: " + ", ".join(error_messages))
107
+ raise ValueError(
108
+ "No match found when setting the actual_instance in RankQueryConfigReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: "
109
+ + ", ".join(error_messages)
110
+ )
88
111
  else:
89
112
  return v
90
113
 
@@ -102,23 +125,26 @@ class RankQueryConfigReorderInner(BaseModel):
102
125
  instance.actual_instance = ExplorationReorderStep.from_json(json_str)
103
126
  return instance
104
127
  except (ValidationError, ValueError) as e:
105
- error_messages.append(str(e))
128
+ error_messages.append(str(e))
106
129
  # anyof_schema_2_validator: Optional[BoostedReorderStep] = None
107
130
  try:
108
131
  instance.actual_instance = BoostedReorderStep.from_json(json_str)
109
132
  return instance
110
133
  except (ValidationError, ValueError) as e:
111
- error_messages.append(str(e))
134
+ error_messages.append(str(e))
112
135
  # anyof_schema_3_validator: Optional[DiversityReorderStep] = None
113
136
  try:
114
137
  instance.actual_instance = DiversityReorderStep.from_json(json_str)
115
138
  return instance
116
139
  except (ValidationError, ValueError) as e:
117
- error_messages.append(str(e))
140
+ error_messages.append(str(e))
118
141
 
119
142
  if error_messages:
120
143
  # no match
121
- raise ValueError("No match found when deserializing the JSON string into RankQueryConfigReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: " + ", ".join(error_messages))
144
+ raise ValueError(
145
+ "No match found when deserializing the JSON string into RankQueryConfigReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: "
146
+ + ", ".join(error_messages)
147
+ )
122
148
  else:
123
149
  return instance
124
150
 
@@ -127,17 +153,30 @@ class RankQueryConfigReorderInner(BaseModel):
127
153
  if self.actual_instance is None:
128
154
  return "null"
129
155
 
130
- if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
156
+ if hasattr(self.actual_instance, "to_json") and callable(
157
+ self.actual_instance.to_json
158
+ ):
131
159
  return self.actual_instance.to_json()
132
160
  else:
133
161
  return json.dumps(self.actual_instance)
134
162
 
135
- def to_dict(self) -> Optional[Union[Dict[str, Any], BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep]]:
163
+ def to_dict(
164
+ self,
165
+ ) -> Optional[
166
+ Union[
167
+ Dict[str, Any],
168
+ BoostedReorderStep,
169
+ DiversityReorderStep,
170
+ ExplorationReorderStep,
171
+ ]
172
+ ]:
136
173
  """Returns the dict representation of the actual instance"""
137
174
  if self.actual_instance is None:
138
175
  return None
139
176
 
140
- if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
177
+ if hasattr(self.actual_instance, "to_dict") and callable(
178
+ self.actual_instance.to_dict
179
+ ):
141
180
  return self.actual_instance.to_dict()
142
181
  else:
143
182
  return self.actual_instance
@@ -145,5 +184,3 @@ class RankQueryConfigReorderInner(BaseModel):
145
184
  def to_str(self) -> str:
146
185
  """Returns the string representation of the actual instance"""
147
186
  return pprint.pformat(self.model_dump())
148
-
149
-
@@ -13,26 +13,37 @@
13
13
 
14
14
 
15
15
  from __future__ import annotations
16
+
16
17
  import json
17
18
  import pprint
18
- from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
19
- from typing import Any, List, Optional
20
- from shaped.autogen.models.candidate_attributes_retrieve_step import CandidateAttributesRetrieveStep
19
+ from typing import Any, Dict, Optional, Set, Union
20
+
21
+ from pydantic import BaseModel, ConfigDict, ValidationError, field_validator
22
+ from shaped.autogen.models.candidate_attributes_retrieve_step import (
23
+ CandidateAttributesRetrieveStep,
24
+ )
21
25
  from shaped.autogen.models.candidate_ids_retrieve_step import CandidateIdsRetrieveStep
22
26
  from shaped.autogen.models.column_order_retrieve_step import ColumnOrderRetrieveStep
23
27
  from shaped.autogen.models.filter_retrieve_step import FilterRetrieveStep
24
28
  from shaped.autogen.models.similarity_retrieve_step import SimilarityRetrieveStep
25
29
  from shaped.autogen.models.text_search_retrieve_step import TextSearchRetrieveStep
26
- from pydantic import StrictStr, Field
27
- from typing import Union, List, Set, Optional, Dict
28
- from typing_extensions import Literal, Self
30
+ from typing_extensions import Self
31
+
32
+ RANKQUERYCONFIGRETRIEVEINNER_ONE_OF_SCHEMAS = [
33
+ "CandidateAttributesRetrieveStep",
34
+ "CandidateIdsRetrieveStep",
35
+ "ColumnOrderRetrieveStep",
36
+ "FilterRetrieveStep",
37
+ "SimilarityRetrieveStep",
38
+ "TextSearchRetrieveStep",
39
+ ]
29
40
 
30
- RANKQUERYCONFIGRETRIEVEINNER_ONE_OF_SCHEMAS = ["CandidateAttributesRetrieveStep", "CandidateIdsRetrieveStep", "ColumnOrderRetrieveStep", "FilterRetrieveStep", "SimilarityRetrieveStep", "TextSearchRetrieveStep"]
31
41
 
32
42
  class RankQueryConfigRetrieveInner(BaseModel):
33
43
  """
34
44
  RankQueryConfigRetrieveInner
35
45
  """
46
+
36
47
  # data type: ColumnOrderRetrieveStep
37
48
  oneof_schema_1_validator: Optional[ColumnOrderRetrieveStep] = None
38
49
  # data type: TextSearchRetrieveStep
@@ -45,69 +56,105 @@ class RankQueryConfigRetrieveInner(BaseModel):
45
56
  oneof_schema_5_validator: Optional[CandidateIdsRetrieveStep] = None
46
57
  # data type: CandidateAttributesRetrieveStep
47
58
  oneof_schema_6_validator: Optional[CandidateAttributesRetrieveStep] = None
48
- actual_instance: Optional[Union[CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep]] = None
49
- one_of_schemas: Set[str] = { "CandidateAttributesRetrieveStep", "CandidateIdsRetrieveStep", "ColumnOrderRetrieveStep", "FilterRetrieveStep", "SimilarityRetrieveStep", "TextSearchRetrieveStep" }
59
+ actual_instance: Optional[
60
+ Union[
61
+ CandidateAttributesRetrieveStep,
62
+ CandidateIdsRetrieveStep,
63
+ ColumnOrderRetrieveStep,
64
+ FilterRetrieveStep,
65
+ SimilarityRetrieveStep,
66
+ TextSearchRetrieveStep,
67
+ ]
68
+ ] = None
69
+ one_of_schemas: Set[str] = {
70
+ "CandidateAttributesRetrieveStep",
71
+ "CandidateIdsRetrieveStep",
72
+ "ColumnOrderRetrieveStep",
73
+ "FilterRetrieveStep",
74
+ "SimilarityRetrieveStep",
75
+ "TextSearchRetrieveStep",
76
+ }
50
77
 
51
78
  model_config = ConfigDict(
52
79
  validate_assignment=True,
53
80
  protected_namespaces=(),
54
81
  )
55
82
 
56
-
57
- discriminator_value_class_map: Dict[str, str] = {
58
- }
83
+ discriminator_value_class_map: Dict[str, str] = {}
59
84
 
60
85
  def __init__(self, *args, **kwargs) -> None:
61
86
  if args:
62
87
  if len(args) > 1:
63
- raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
88
+ raise ValueError(
89
+ "If a position argument is used, only 1 is allowed to set `actual_instance`"
90
+ )
64
91
  if kwargs:
65
- raise ValueError("If a position argument is used, keyword arguments cannot be used.")
92
+ raise ValueError(
93
+ "If a position argument is used, keyword arguments cannot be used."
94
+ )
66
95
  super().__init__(actual_instance=args[0])
67
96
  else:
68
97
  super().__init__(**kwargs)
69
98
 
70
- @field_validator('actual_instance')
99
+ @field_validator("actual_instance")
71
100
  def actual_instance_must_validate_oneof(cls, v):
72
101
  instance = RankQueryConfigRetrieveInner.model_construct()
73
102
  error_messages = []
74
103
  match = 0
75
104
  # validate data type: ColumnOrderRetrieveStep
76
105
  if not isinstance(v, ColumnOrderRetrieveStep):
77
- error_messages.append(f"Error! Input type `{type(v)}` is not `ColumnOrderRetrieveStep`")
106
+ error_messages.append(
107
+ f"Error! Input type `{type(v)}` is not `ColumnOrderRetrieveStep`"
108
+ )
78
109
  else:
79
110
  match += 1
80
111
  # validate data type: TextSearchRetrieveStep
81
112
  if not isinstance(v, TextSearchRetrieveStep):
82
- error_messages.append(f"Error! Input type `{type(v)}` is not `TextSearchRetrieveStep`")
113
+ error_messages.append(
114
+ f"Error! Input type `{type(v)}` is not `TextSearchRetrieveStep`"
115
+ )
83
116
  else:
84
117
  match += 1
85
118
  # validate data type: SimilarityRetrieveStep
86
119
  if not isinstance(v, SimilarityRetrieveStep):
87
- error_messages.append(f"Error! Input type `{type(v)}` is not `SimilarityRetrieveStep`")
120
+ error_messages.append(
121
+ f"Error! Input type `{type(v)}` is not `SimilarityRetrieveStep`"
122
+ )
88
123
  else:
89
124
  match += 1
90
125
  # validate data type: FilterRetrieveStep
91
126
  if not isinstance(v, FilterRetrieveStep):
92
- error_messages.append(f"Error! Input type `{type(v)}` is not `FilterRetrieveStep`")
127
+ error_messages.append(
128
+ f"Error! Input type `{type(v)}` is not `FilterRetrieveStep`"
129
+ )
93
130
  else:
94
131
  match += 1
95
132
  # validate data type: CandidateIdsRetrieveStep
96
133
  if not isinstance(v, CandidateIdsRetrieveStep):
97
- error_messages.append(f"Error! Input type `{type(v)}` is not `CandidateIdsRetrieveStep`")
134
+ error_messages.append(
135
+ f"Error! Input type `{type(v)}` is not `CandidateIdsRetrieveStep`"
136
+ )
98
137
  else:
99
138
  match += 1
100
139
  # validate data type: CandidateAttributesRetrieveStep
101
140
  if not isinstance(v, CandidateAttributesRetrieveStep):
102
- error_messages.append(f"Error! Input type `{type(v)}` is not `CandidateAttributesRetrieveStep`")
141
+ error_messages.append(
142
+ f"Error! Input type `{type(v)}` is not `CandidateAttributesRetrieveStep`"
143
+ )
103
144
  else:
104
145
  match += 1
105
146
  if match > 1:
106
147
  # more than 1 match
107
- raise ValueError("Multiple matches found when setting `actual_instance` in RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: " + ", ".join(error_messages))
148
+ raise ValueError(
149
+ "Multiple matches found when setting `actual_instance` in RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: "
150
+ + ", ".join(error_messages)
151
+ )
108
152
  elif match == 0:
109
153
  # no match
110
- raise ValueError("No match found when setting `actual_instance` in RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: " + ", ".join(error_messages))
154
+ raise ValueError(
155
+ "No match found when setting `actual_instance` in RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: "
156
+ + ", ".join(error_messages)
157
+ )
111
158
  else:
112
159
  return v
113
160
 
@@ -154,17 +201,25 @@ class RankQueryConfigRetrieveInner(BaseModel):
154
201
  error_messages.append(str(e))
155
202
  # deserialize data into CandidateAttributesRetrieveStep
156
203
  try:
157
- instance.actual_instance = CandidateAttributesRetrieveStep.from_json(json_str)
204
+ instance.actual_instance = CandidateAttributesRetrieveStep.from_json(
205
+ json_str
206
+ )
158
207
  match += 1
159
208
  except (ValidationError, ValueError) as e:
160
209
  error_messages.append(str(e))
161
210
 
162
211
  if match > 1:
163
212
  # more than 1 match
164
- raise ValueError("Multiple matches found when deserializing the JSON string into RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: " + ", ".join(error_messages))
213
+ raise ValueError(
214
+ "Multiple matches found when deserializing the JSON string into RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: "
215
+ + ", ".join(error_messages)
216
+ )
165
217
  elif match == 0:
166
218
  # no match
167
- raise ValueError("No match found when deserializing the JSON string into RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: " + ", ".join(error_messages))
219
+ raise ValueError(
220
+ "No match found when deserializing the JSON string into RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: "
221
+ + ", ".join(error_messages)
222
+ )
168
223
  else:
169
224
  return instance
170
225
 
@@ -173,17 +228,33 @@ class RankQueryConfigRetrieveInner(BaseModel):
173
228
  if self.actual_instance is None:
174
229
  return "null"
175
230
 
176
- if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
231
+ if hasattr(self.actual_instance, "to_json") and callable(
232
+ self.actual_instance.to_json
233
+ ):
177
234
  return self.actual_instance.to_json()
178
235
  else:
179
236
  return json.dumps(self.actual_instance)
180
237
 
181
- def to_dict(self) -> Optional[Union[Dict[str, Any], CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep]]:
238
+ def to_dict(
239
+ self,
240
+ ) -> Optional[
241
+ Union[
242
+ Dict[str, Any],
243
+ CandidateAttributesRetrieveStep,
244
+ CandidateIdsRetrieveStep,
245
+ ColumnOrderRetrieveStep,
246
+ FilterRetrieveStep,
247
+ SimilarityRetrieveStep,
248
+ TextSearchRetrieveStep,
249
+ ]
250
+ ]:
182
251
  """Returns the dict representation of the actual instance"""
183
252
  if self.actual_instance is None:
184
253
  return None
185
254
 
186
- if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
255
+ if hasattr(self.actual_instance, "to_dict") and callable(
256
+ self.actual_instance.to_dict
257
+ ):
187
258
  return self.actual_instance.to_dict()
188
259
  else:
189
260
  # primitive type
@@ -192,5 +263,3 @@ class RankQueryConfigRetrieveInner(BaseModel):
192
263
  def to_str(self) -> str:
193
264
  """Returns the string representation of the actual instance"""
194
265
  return pprint.pformat(self.model_dump())
195
-
196
-
@@ -5,7 +5,7 @@
5
5
 
6
6
  Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
7
7
 
8
- The version of the OpenAPI document: 2.0.0
8
+ The version of the OpenAPI document: 2.0.4
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -5,7 +5,7 @@
5
5
 
6
6
  Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
7
7
 
8
- The version of the OpenAPI document: 2.0.0
8
+ The version of the OpenAPI document: 2.0.4
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -5,7 +5,7 @@
5
5
 
6
6
  Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
7
7
 
8
- The version of the OpenAPI document: 2.0.0
8
+ The version of the OpenAPI document: 2.0.4
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -5,7 +5,7 @@
5
5
 
6
6
  Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
7
7
 
8
- The version of the OpenAPI document: 2.0.0
8
+ The version of the OpenAPI document: 2.0.4
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -0,0 +1,149 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Shaped API
5
+
6
+ Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
7
+
8
+ The version of the OpenAPI document: 2.0.4
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
+ from inspect import getfullargspec
17
+ import json
18
+ import pprint
19
+ import re # noqa: F401
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
21
+ from typing import Optional
22
+ from shaped.autogen.models.boosted_reorder_step import BoostedReorderStep
23
+ from shaped.autogen.models.diversity_reorder_step import DiversityReorderStep
24
+ from shaped.autogen.models.exploration_reorder_step import ExplorationReorderStep
25
+ from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
26
+ from typing_extensions import Literal, Self
27
+ from pydantic import Field
28
+
29
+ REORDERINNER_ANY_OF_SCHEMAS = ["BoostedReorderStep", "DiversityReorderStep", "ExplorationReorderStep"]
30
+
31
+ class ReorderInner(BaseModel):
32
+ """
33
+ ReorderInner
34
+ """
35
+
36
+ # data type: ExplorationReorderStep
37
+ anyof_schema_1_validator: Optional[ExplorationReorderStep] = None
38
+ # data type: BoostedReorderStep
39
+ anyof_schema_2_validator: Optional[BoostedReorderStep] = None
40
+ # data type: DiversityReorderStep
41
+ anyof_schema_3_validator: Optional[DiversityReorderStep] = None
42
+ if TYPE_CHECKING:
43
+ actual_instance: Optional[Union[BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep]] = None
44
+ else:
45
+ actual_instance: Any = None
46
+ any_of_schemas: Set[str] = { "BoostedReorderStep", "DiversityReorderStep", "ExplorationReorderStep" }
47
+
48
+ model_config = {
49
+ "validate_assignment": True,
50
+ "protected_namespaces": (),
51
+ }
52
+
53
+ def __init__(self, *args, **kwargs) -> None:
54
+ if args:
55
+ if len(args) > 1:
56
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
57
+ if kwargs:
58
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
59
+ super().__init__(actual_instance=args[0])
60
+ else:
61
+ super().__init__(**kwargs)
62
+
63
+ @field_validator('actual_instance')
64
+ def actual_instance_must_validate_anyof(cls, v):
65
+ instance = ReorderInner.model_construct()
66
+ error_messages = []
67
+ # validate data type: ExplorationReorderStep
68
+ if not isinstance(v, ExplorationReorderStep):
69
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ExplorationReorderStep`")
70
+ else:
71
+ return v
72
+
73
+ # validate data type: BoostedReorderStep
74
+ if not isinstance(v, BoostedReorderStep):
75
+ error_messages.append(f"Error! Input type `{type(v)}` is not `BoostedReorderStep`")
76
+ else:
77
+ return v
78
+
79
+ # validate data type: DiversityReorderStep
80
+ if not isinstance(v, DiversityReorderStep):
81
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DiversityReorderStep`")
82
+ else:
83
+ return v
84
+
85
+ if error_messages:
86
+ # no match
87
+ raise ValueError("No match found when setting the actual_instance in ReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: " + ", ".join(error_messages))
88
+ else:
89
+ return v
90
+
91
+ @classmethod
92
+ def from_dict(cls, obj: Dict[str, Any]) -> Self:
93
+ return cls.from_json(json.dumps(obj))
94
+
95
+ @classmethod
96
+ def from_json(cls, json_str: str) -> Self:
97
+ """Returns the object represented by the json string"""
98
+ instance = cls.model_construct()
99
+ error_messages = []
100
+ # anyof_schema_1_validator: Optional[ExplorationReorderStep] = None
101
+ try:
102
+ instance.actual_instance = ExplorationReorderStep.from_json(json_str)
103
+ return instance
104
+ except (ValidationError, ValueError) as e:
105
+ error_messages.append(str(e))
106
+ # anyof_schema_2_validator: Optional[BoostedReorderStep] = None
107
+ try:
108
+ instance.actual_instance = BoostedReorderStep.from_json(json_str)
109
+ return instance
110
+ except (ValidationError, ValueError) as e:
111
+ error_messages.append(str(e))
112
+ # anyof_schema_3_validator: Optional[DiversityReorderStep] = None
113
+ try:
114
+ instance.actual_instance = DiversityReorderStep.from_json(json_str)
115
+ return instance
116
+ except (ValidationError, ValueError) as e:
117
+ error_messages.append(str(e))
118
+
119
+ if error_messages:
120
+ # no match
121
+ raise ValueError("No match found when deserializing the JSON string into ReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: " + ", ".join(error_messages))
122
+ else:
123
+ return instance
124
+
125
+ def to_json(self) -> str:
126
+ """Returns the JSON representation of the actual instance"""
127
+ if self.actual_instance is None:
128
+ return "null"
129
+
130
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
131
+ return self.actual_instance.to_json()
132
+ else:
133
+ return json.dumps(self.actual_instance)
134
+
135
+ def to_dict(self) -> Optional[Union[Dict[str, Any], BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep]]:
136
+ """Returns the dict representation of the actual instance"""
137
+ if self.actual_instance is None:
138
+ return None
139
+
140
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
141
+ return self.actual_instance.to_dict()
142
+ else:
143
+ return self.actual_instance
144
+
145
+ def to_str(self) -> str:
146
+ """Returns the string representation of the actual instance"""
147
+ return pprint.pformat(self.model_dump())
148
+
149
+