shaped 2.0.1__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 (341) hide show
  1. shaped/__init__.py +59 -4
  2. shaped/autogen/__init__.py +527 -66
  3. shaped/autogen/api/__init__.py +4 -3
  4. shaped/autogen/api/engine_api.py +1467 -0
  5. shaped/autogen/api/{dataset_api.py → query_api.py} +159 -194
  6. shaped/autogen/api/table_api.py +1494 -0
  7. shaped/autogen/api/{model_management_api.py → view_api.py} +179 -181
  8. shaped/autogen/api_client.py +18 -11
  9. shaped/autogen/configuration.py +22 -9
  10. shaped/autogen/exceptions.py +25 -5
  11. shaped/autogen/models/__init__.py +247 -52
  12. shaped/autogen/models/ai_enrichment_view_config.py +123 -0
  13. shaped/autogen/models/{path.py → algorithm.py} +19 -19
  14. shaped/autogen/models/amplitude_table_config.py +106 -0
  15. shaped/autogen/models/ascending.py +148 -0
  16. shaped/autogen/models/attn_dropout_prob.py +136 -0
  17. shaped/autogen/models/attribute_journey.py +124 -0
  18. shaped/autogen/models/attribute_value.py +178 -0
  19. shaped/autogen/models/autoscaling_config.py +95 -0
  20. shaped/autogen/models/aws_pinpoint_table_config.py +108 -0
  21. shaped/autogen/models/batch_size.py +136 -0
  22. shaped/autogen/models/batch_size1.py +136 -0
  23. shaped/autogen/models/batch_size2.py +136 -0
  24. shaped/autogen/models/big_query_table_config.py +147 -0
  25. shaped/autogen/models/bm25.py +136 -0
  26. shaped/autogen/models/boosted_reorder_step.py +125 -0
  27. shaped/autogen/models/canary_rollout.py +99 -0
  28. shaped/autogen/models/candidate_attributes_retrieve_step.py +113 -0
  29. shaped/autogen/models/candidate_ids_retrieve_step.py +113 -0
  30. shaped/autogen/models/candidate_retrieval_strategy.py +41 -0
  31. shaped/autogen/models/clickhouse_table_config.py +146 -0
  32. shaped/autogen/models/column_order_retrieve_step.py +123 -0
  33. shaped/autogen/models/column_ordering.py +91 -0
  34. shaped/autogen/models/create_table_response.py +87 -0
  35. shaped/autogen/models/create_view_response.py +87 -0
  36. shaped/autogen/models/custom_table_config.py +135 -0
  37. shaped/autogen/models/data_compute_config.py +89 -0
  38. shaped/autogen/models/data_config.py +145 -0
  39. shaped/autogen/models/data_config_interaction_table.py +146 -0
  40. shaped/autogen/models/data_split_config.py +88 -0
  41. shaped/autogen/models/data_split_strategy.py +37 -0
  42. shaped/autogen/models/data_tier.py +37 -0
  43. shaped/autogen/models/default.py +246 -0
  44. shaped/autogen/models/delete_engine_response.py +87 -0
  45. shaped/autogen/models/delete_table_response.py +87 -0
  46. shaped/autogen/models/delete_view_response.py +87 -0
  47. shaped/autogen/models/deployment_config.py +117 -0
  48. shaped/autogen/models/distance_function.py +38 -0
  49. shaped/autogen/models/diversity_reorder_step.py +137 -0
  50. shaped/autogen/models/dropout_rate.py +136 -0
  51. shaped/autogen/models/dynamo_db_table_config.py +160 -0
  52. shaped/autogen/models/dynamo_db_table_config_scan_kwargs_value.py +138 -0
  53. shaped/autogen/models/embedder_batch_size.py +136 -0
  54. shaped/autogen/models/embedding_config.py +93 -0
  55. shaped/autogen/models/embedding_dim.py +136 -0
  56. shaped/autogen/models/embedding_dims.py +136 -0
  57. shaped/autogen/models/embedding_size.py +136 -0
  58. shaped/autogen/models/encoder.py +140 -0
  59. shaped/autogen/models/encoding_pooling_strategy.py +38 -0
  60. shaped/autogen/models/engine.py +109 -0
  61. shaped/autogen/models/engine_config_v2.py +152 -0
  62. shaped/autogen/models/engine_details_response.py +120 -0
  63. shaped/autogen/models/engine_schema.py +113 -0
  64. shaped/autogen/models/engine_schema_user_inner.py +146 -0
  65. shaped/autogen/models/entity_config.py +109 -0
  66. shaped/autogen/models/entity_journey.py +161 -0
  67. shaped/autogen/models/entity_type.py +38 -0
  68. shaped/autogen/models/evaluation_config.py +92 -0
  69. shaped/autogen/models/exploration_reorder_step.py +125 -0
  70. shaped/autogen/models/expression_filter_step.py +106 -0
  71. shaped/autogen/models/factors.py +136 -0
  72. shaped/autogen/models/factors1.py +136 -0
  73. shaped/autogen/models/feature.py +90 -0
  74. shaped/autogen/models/feature_type.py +60 -0
  75. shaped/autogen/models/file_table_config.py +112 -0
  76. shaped/autogen/models/filter_config.py +99 -0
  77. shaped/autogen/models/filter_dataset.py +164 -0
  78. shaped/autogen/models/filter_index_type.py +36 -0
  79. shaped/autogen/models/filter_retrieve_step.py +113 -0
  80. shaped/autogen/models/filter_step_explanation.py +165 -0
  81. shaped/autogen/models/filter_table.py +140 -0
  82. shaped/autogen/models/filter_type.py +134 -0
  83. shaped/autogen/models/global_filter.py +102 -0
  84. shaped/autogen/models/hidden_dropout_prob.py +136 -0
  85. shaped/autogen/models/hidden_size.py +136 -0
  86. shaped/autogen/models/hidden_size1.py +136 -0
  87. shaped/autogen/models/http_problem_response.py +115 -0
  88. shaped/autogen/models/http_validation_error.py +2 -2
  89. shaped/autogen/models/hugging_face_encoder.py +115 -0
  90. shaped/autogen/models/iceberg_table_config.py +154 -0
  91. shaped/autogen/models/index_config.py +101 -0
  92. shaped/autogen/models/inner_entity_id.py +144 -0
  93. shaped/autogen/models/inner_size.py +136 -0
  94. shaped/autogen/models/inner_size1.py +136 -0
  95. shaped/autogen/models/inner_uid.py +144 -0
  96. shaped/autogen/models/interaction_config.py +122 -0
  97. shaped/autogen/models/interaction_pooling_encoder.py +104 -0
  98. shaped/autogen/models/interaction_round_robin_encoder.py +104 -0
  99. shaped/autogen/models/item_attribute_pooling_encoder.py +111 -0
  100. shaped/autogen/models/journey.py +140 -0
  101. shaped/autogen/models/kafka_table_config.py +129 -0
  102. shaped/autogen/models/kinesis_table_config.py +140 -0
  103. shaped/autogen/models/kinesis_table_config_column_schema_value.py +136 -0
  104. shaped/autogen/models/label.py +90 -0
  105. shaped/autogen/models/label_type.py +36 -0
  106. shaped/autogen/models/laplace_smoothing.py +136 -0
  107. shaped/autogen/models/latency_scaling_policy.py +112 -0
  108. shaped/autogen/models/learning_rate.py +136 -0
  109. shaped/autogen/models/learning_rate1.py +136 -0
  110. shaped/autogen/models/learning_rate2.py +136 -0
  111. shaped/autogen/models/learning_rate3.py +136 -0
  112. shaped/autogen/models/lexical_search_mode.py +99 -0
  113. shaped/autogen/models/list_engines_response.py +95 -0
  114. shaped/autogen/models/list_tables_response.py +95 -0
  115. shaped/autogen/models/list_views_response.py +95 -0
  116. shaped/autogen/models/location_inner.py +138 -0
  117. shaped/autogen/models/loss_types.py +37 -0
  118. shaped/autogen/models/lr.py +136 -0
  119. shaped/autogen/models/lr1.py +136 -0
  120. shaped/autogen/models/lr2.py +136 -0
  121. shaped/autogen/models/max_depth.py +136 -0
  122. shaped/autogen/models/max_leaves.py +136 -0
  123. shaped/autogen/models/max_seq_length.py +136 -0
  124. shaped/autogen/models/max_seq_length1.py +136 -0
  125. shaped/autogen/models/max_seq_length2.py +136 -0
  126. shaped/autogen/models/mode.py +134 -0
  127. shaped/autogen/models/mode1.py +136 -0
  128. shaped/autogen/models/mode2.py +150 -0
  129. shaped/autogen/models/models_inner.py +308 -0
  130. shaped/autogen/models/mongo_db_table_config.py +147 -0
  131. shaped/autogen/models/mssql_table_config.py +155 -0
  132. shaped/autogen/models/{my_sql_dataset_config.py → my_sql_table_config.py} +45 -28
  133. shaped/autogen/models/n_epochs.py +136 -0
  134. shaped/autogen/models/n_epochs1.py +136 -0
  135. shaped/autogen/models/n_epochs2.py +136 -0
  136. shaped/autogen/models/n_estimators.py +136 -0
  137. shaped/autogen/models/n_heads.py +136 -0
  138. shaped/autogen/models/n_layers.py +136 -0
  139. shaped/autogen/models/neg_per_positive.py +136 -0
  140. shaped/autogen/models/negative_samples_count.py +136 -0
  141. shaped/autogen/models/ngram_tokenizer.py +103 -0
  142. shaped/autogen/models/no_op_config.py +117 -0
  143. shaped/autogen/models/num_blocks.py +136 -0
  144. shaped/autogen/models/num_heads.py +136 -0
  145. shaped/autogen/models/num_leaves.py +136 -0
  146. shaped/autogen/models/objective.py +40 -0
  147. shaped/autogen/models/objective1.py +134 -0
  148. shaped/autogen/models/online_store_config.py +89 -0
  149. shaped/autogen/models/pagination_config.py +87 -0
  150. shaped/autogen/models/parameter_definition.py +96 -0
  151. shaped/autogen/models/parameters_value.py +240 -0
  152. shaped/autogen/models/passthrough_score.py +104 -0
  153. shaped/autogen/models/personal_filter.py +104 -0
  154. shaped/autogen/models/pipeline_stage_explanation.py +118 -0
  155. shaped/autogen/models/policy.py +134 -0
  156. shaped/autogen/models/pool_fn.py +152 -0
  157. shaped/autogen/models/pooling_function.py +37 -0
  158. shaped/autogen/models/{postgres_dataset_config.py → postgres_table_config.py} +66 -28
  159. shaped/autogen/models/posthog_table_config.py +133 -0
  160. shaped/autogen/models/prebuilt_filter_step.py +113 -0
  161. shaped/autogen/models/precomputed_item_embedding.py +99 -0
  162. shaped/autogen/models/precomputed_user_embedding.py +99 -0
  163. shaped/autogen/models/query.py +136 -0
  164. shaped/autogen/models/query1.py +136 -0
  165. shaped/autogen/models/query_any_of.py +172 -0
  166. shaped/autogen/models/query_config.py +140 -0
  167. shaped/autogen/models/query_definition.py +106 -0
  168. shaped/autogen/models/query_encoder.py +194 -0
  169. shaped/autogen/models/query_explanation.py +201 -0
  170. shaped/autogen/models/query_request.py +121 -0
  171. shaped/autogen/models/query_result.py +113 -0
  172. shaped/autogen/models/query_table_config.py +99 -0
  173. shaped/autogen/models/rank_item_attribute_values_query_config.py +122 -0
  174. shaped/autogen/models/rank_query_config.py +167 -0
  175. shaped/autogen/models/rank_query_config_filter_inner.py +149 -0
  176. shaped/autogen/models/rank_query_config_reorder_inner.py +186 -0
  177. shaped/autogen/models/rank_query_config_retrieve_inner.py +265 -0
  178. shaped/autogen/models/recreate_rollout.py +97 -0
  179. shaped/autogen/models/{redshift_dataset_config.py → redshift_table_config.py} +48 -25
  180. shaped/autogen/models/reference_table_config.py +113 -0
  181. shaped/autogen/models/regularization.py +136 -0
  182. shaped/autogen/models/reorder_inner.py +149 -0
  183. shaped/autogen/models/reorder_step_explanation.py +207 -0
  184. shaped/autogen/models/request.py +378 -0
  185. shaped/autogen/models/request1.py +140 -0
  186. shaped/autogen/models/requests_per_second_scaling_policy.py +112 -0
  187. shaped/autogen/models/resource_config.py +100 -0
  188. shaped/autogen/models/response_get_view_details_views_view_name_get.py +134 -0
  189. shaped/autogen/models/result.py +132 -0
  190. shaped/autogen/models/result_embeddings_value.py +127 -0
  191. shaped/autogen/models/retrieval_scores_value.py +127 -0
  192. shaped/autogen/models/retrieve_inner.py +196 -0
  193. shaped/autogen/models/retrieve_step_explanation.py +172 -0
  194. shaped/autogen/models/retriever.py +196 -0
  195. shaped/autogen/models/retriever1.py +196 -0
  196. shaped/autogen/models/rollout_config.py +91 -0
  197. shaped/autogen/models/rudderstack_table_config.py +106 -0
  198. shaped/autogen/models/sampling_strategy.py +36 -0
  199. shaped/autogen/models/saved_query_info_response.py +103 -0
  200. shaped/autogen/models/saved_query_list_response.py +87 -0
  201. shaped/autogen/models/saved_query_request.py +115 -0
  202. shaped/autogen/models/schema_config.py +117 -0
  203. shaped/autogen/models/score.py +134 -0
  204. shaped/autogen/models/score_ensemble.py +127 -0
  205. shaped/autogen/models/score_ensemble_policy_config.py +165 -0
  206. shaped/autogen/models/score_ensemble_policy_config_policies_inner.py +755 -0
  207. shaped/autogen/models/score_step_explanation.py +224 -0
  208. shaped/autogen/models/search_config.py +105 -0
  209. shaped/autogen/models/segment_table_config.py +106 -0
  210. shaped/autogen/models/sequence_length.py +136 -0
  211. shaped/autogen/models/server_config.py +100 -0
  212. shaped/autogen/models/setup_engine_response.py +87 -0
  213. shaped/autogen/models/shaped_internal_recsys_policies_als_model_policy_als_model_policy_config.py +154 -0
  214. shaped/autogen/models/shaped_internal_recsys_policies_beeformer_model_policy_beeformer_model_policy_beeformer_model_policy_config.py +160 -0
  215. shaped/autogen/models/shaped_internal_recsys_policies_bert_model_policy_bert_model_policy_bert_model_policy_config.py +215 -0
  216. shaped/autogen/models/shaped_internal_recsys_policies_chronological_model_policy_chronological_model_policy_config.py +156 -0
  217. shaped/autogen/models/shaped_internal_recsys_policies_elsa_model_policy_elsa_model_policy_elsa_model_policy_config.py +141 -0
  218. shaped/autogen/models/shaped_internal_recsys_policies_gsasrec_model_policy_gsasrec_model_policy_gsas_rec_model_policy_config.py +211 -0
  219. shaped/autogen/models/shaped_internal_recsys_policies_item2vec_model_policy_item2_vec_model_policy_config.py +140 -0
  220. shaped/autogen/models/shaped_internal_recsys_policies_item_content_similarity_model_policy_item_content_similarity_model_policy_config.py +195 -0
  221. shaped/autogen/models/shaped_internal_recsys_policies_lightgbm_model_policy_lightgbm_model_policy_light_gbm_model_policy_config.py +245 -0
  222. shaped/autogen/models/shaped_internal_recsys_policies_ngram_model_policy_ngram_model_policy_config.py +119 -0
  223. shaped/autogen/models/shaped_internal_recsys_policies_popular_model_policy_popular_model_policy_config.py +161 -0
  224. shaped/autogen/models/shaped_internal_recsys_policies_random_model_policy_random_model_policy_config.py +108 -0
  225. shaped/autogen/models/shaped_internal_recsys_policies_recently_popular_policy_recently_popular_policy_config.py +143 -0
  226. shaped/autogen/models/shaped_internal_recsys_policies_rising_popular_policy_rising_popular_policy_config.py +123 -0
  227. shaped/autogen/models/shaped_internal_recsys_policies_sasrec_model_policy_sasrec_model_policy_sas_rec_model_policy_config.py +230 -0
  228. shaped/autogen/models/shaped_internal_recsys_policies_svd_model_policy_svd_model_policy_config.py +119 -0
  229. shaped/autogen/models/shaped_internal_recsys_policies_two_tower_model_policy_two_tower_model_policy_two_tower_model_policy_config.py +165 -0
  230. shaped/autogen/models/shaped_internal_recsys_policies_user_item_content_similarity_model_policy_user_item_content_similarity_model_policy_config.py +153 -0
  231. shaped/autogen/models/shaped_internal_recsys_policies_widedeep_model_policy_wide_deep_model_policy_config.py +137 -0
  232. shaped/autogen/models/shaped_internal_recsys_policies_xgboost_model_policy_xg_boost_model_policy_config.py +155 -0
  233. shaped/autogen/models/shopify_table_config.py +156 -0
  234. shaped/autogen/models/similarity_retrieve_step.py +123 -0
  235. shaped/autogen/models/{snowflake_dataset_config.py → snowflake_table_config.py} +47 -18
  236. shaped/autogen/models/sql_transform_type.py +37 -0
  237. shaped/autogen/models/sql_view_config.py +111 -0
  238. shaped/autogen/models/stemmer_tokenizer.py +105 -0
  239. shaped/autogen/models/step_explanation.py +137 -0
  240. shaped/autogen/models/steps_inner.py +179 -0
  241. shaped/autogen/models/strategy.py +134 -0
  242. shaped/autogen/models/table.py +102 -0
  243. shaped/autogen/models/table_deployment_type.py +38 -0
  244. shaped/autogen/models/table_insert_arguments.py +87 -0
  245. shaped/autogen/models/table_insert_response.py +87 -0
  246. shaped/autogen/models/text_encoding.py +148 -0
  247. shaped/autogen/models/text_search_retrieve_step.py +121 -0
  248. shaped/autogen/models/time_frequency.py +136 -0
  249. shaped/autogen/models/time_window.py +136 -0
  250. shaped/autogen/models/time_window_in_days.py +154 -0
  251. shaped/autogen/models/tokenizer.py +149 -0
  252. shaped/autogen/models/trained_model_encoder.py +99 -0
  253. shaped/autogen/models/training_compute_config.py +99 -0
  254. shaped/autogen/models/training_config.py +121 -0
  255. shaped/autogen/models/training_config_models_inner.py +540 -0
  256. shaped/autogen/models/training_strategy.py +37 -0
  257. shaped/autogen/models/transform_status.py +41 -0
  258. shaped/autogen/models/trending_mode.py +37 -0
  259. shaped/autogen/models/truncate_filter_step.py +106 -0
  260. shaped/autogen/models/tunable_bool.py +97 -0
  261. shaped/autogen/models/tunable_float.py +118 -0
  262. shaped/autogen/models/tunable_int.py +118 -0
  263. shaped/autogen/models/tunable_int_categorical.py +99 -0
  264. shaped/autogen/models/tunable_string.py +99 -0
  265. shaped/autogen/models/tuning_config.py +89 -0
  266. shaped/autogen/models/type.py +150 -0
  267. shaped/autogen/models/update_table_response.py +87 -0
  268. shaped/autogen/models/update_view_response.py +87 -0
  269. shaped/autogen/models/user_attribute_pooling_encoder.py +124 -0
  270. shaped/autogen/models/user_inner.py +134 -0
  271. shaped/autogen/models/val_split.py +136 -0
  272. shaped/autogen/models/validation_error.py +13 -3
  273. shaped/autogen/models/validation_error_loc_inner.py +150 -0
  274. shaped/autogen/models/value_type.py +7 -5
  275. shaped/autogen/models/vector_search_mode.py +101 -0
  276. shaped/autogen/models/view.py +104 -0
  277. shaped/autogen/models/view_details_ai.py +140 -0
  278. shaped/autogen/models/view_details_ai_schema_value.py +153 -0
  279. shaped/autogen/models/view_details_sql.py +140 -0
  280. shaped/autogen/models/view_status.py +41 -0
  281. shaped/autogen/models/weight_decay.py +136 -0
  282. shaped/autogen/models/whitespace_tokenizer.py +97 -0
  283. shaped/autogen/models/window_size.py +136 -0
  284. shaped/autogen/rest.py +10 -4
  285. shaped/cli/shaped_cli.py +163 -35
  286. shaped/client.py +591 -171
  287. shaped/config_builders.py +705 -0
  288. shaped/query_builder.py +781 -0
  289. {shaped-2.0.1.dist-info → shaped-2.0.4.dist-info}/METADATA +141 -6
  290. shaped-2.0.4.dist-info/RECORD +296 -0
  291. {shaped-2.0.1.dist-info → shaped-2.0.4.dist-info}/WHEEL +1 -1
  292. shaped-2.0.4.dist-info/entry_points.txt +2 -0
  293. shaped/autogen/api/model_inference_api.py +0 -2825
  294. shaped/autogen/models/amplitude_dataset_config.py +0 -96
  295. shaped/autogen/models/aws_pinpoint_dataset_config.py +0 -96
  296. shaped/autogen/models/big_query_dataset_config.py +0 -114
  297. shaped/autogen/models/complement_items_request.py +0 -99
  298. shaped/autogen/models/complement_items_response.py +0 -89
  299. shaped/autogen/models/connectors_inner.py +0 -134
  300. shaped/autogen/models/create_dataset_arguments.py +0 -263
  301. shaped/autogen/models/create_embedding_response.py +0 -87
  302. shaped/autogen/models/create_item_embedding_request.py +0 -89
  303. shaped/autogen/models/create_model_arguments.py +0 -107
  304. shaped/autogen/models/create_model_response.py +0 -87
  305. shaped/autogen/models/create_user_embedding_request.py +0 -89
  306. shaped/autogen/models/custom_dataset_config.py +0 -115
  307. shaped/autogen/models/dataset_config.py +0 -101
  308. shaped/autogen/models/dataset_schema_type.py +0 -47
  309. shaped/autogen/models/datasets_inner.py +0 -91
  310. shaped/autogen/models/delete_model_response.py +0 -87
  311. shaped/autogen/models/fetch_config.py +0 -95
  312. shaped/autogen/models/file_config.py +0 -105
  313. shaped/autogen/models/file_source_config.py +0 -89
  314. shaped/autogen/models/inference_config.py +0 -101
  315. shaped/autogen/models/insert_model_response.py +0 -87
  316. shaped/autogen/models/interaction.py +0 -87
  317. shaped/autogen/models/list_datasets_response.py +0 -95
  318. shaped/autogen/models/list_models_response.py +0 -95
  319. shaped/autogen/models/model_config.py +0 -99
  320. shaped/autogen/models/model_response.py +0 -95
  321. shaped/autogen/models/mongo_db_dataset_config.py +0 -119
  322. shaped/autogen/models/post_rank_request.py +0 -117
  323. shaped/autogen/models/rank_attribute_response.py +0 -89
  324. shaped/autogen/models/rank_grid_attribute_request.py +0 -91
  325. shaped/autogen/models/rank_grid_attribute_request1.py +0 -93
  326. shaped/autogen/models/rank_grid_attribute_response.py +0 -91
  327. shaped/autogen/models/rank_response.py +0 -91
  328. shaped/autogen/models/retrieve_request.py +0 -101
  329. shaped/autogen/models/retrieve_response.py +0 -91
  330. shaped/autogen/models/retriever_top_k_override.py +0 -97
  331. shaped/autogen/models/rudder_stack_dataset_config.py +0 -96
  332. shaped/autogen/models/segment_dataset_config.py +0 -96
  333. shaped/autogen/models/similar_item_request.py +0 -101
  334. shaped/autogen/models/similar_response.py +0 -89
  335. shaped/autogen/models/similar_users_request.py +0 -99
  336. shaped/autogen/models/successful_response.py +0 -87
  337. shaped/autogen/models/view_model_response.py +0 -99
  338. shaped-2.0.1.dist-info/RECORD +0 -73
  339. shaped-2.0.1.dist-info/entry_points.txt +0 -2
  340. {shaped-2.0.1.dist-info → shaped-2.0.4.dist-info}/top_level.txt +0 -0
  341. {shaped-2.0.1.dist-info → shaped-2.0.4.dist-info}/zip-safe +0 -0
@@ -0,0 +1,140 @@
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
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import datetime
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from shaped.autogen.models.transform_status import TransformStatus
24
+ from shaped.autogen.models.view_details_ai_schema_value import ViewDetailsAISchemaValue
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class ViewDetailsAI(BaseModel):
29
+ """
30
+ ViewDetailsAI
31
+ """ # noqa: E501
32
+ name: StrictStr = Field(description="Unique identifier for the view.")
33
+ uri: StrictStr = Field(description="URI to access the view.")
34
+ status: TransformStatus = Field(description="Current deployment status.")
35
+ created_at: datetime = Field(description="Timestamp when view was created.")
36
+ var_schema: Optional[Dict[str, ViewDetailsAISchemaValue]] = Field(default=None, alias="schema")
37
+ source_table_names: List[StrictStr] = Field(description="List of source table names used by this view.")
38
+ description: Optional[StrictStr] = None
39
+ error_message: Optional[StrictStr] = None
40
+ type: StrictStr = Field(description="View type discriminator for AI enrichment views.")
41
+ __properties: ClassVar[List[str]] = ["name", "uri", "status", "created_at", "schema", "source_table_names", "description", "error_message", "type"]
42
+
43
+ @field_validator('type')
44
+ def type_validate_enum(cls, value):
45
+ """Validates the enum"""
46
+ if value not in set(['AI_ENRICHMENT']):
47
+ raise ValueError("must be one of enum values ('AI_ENRICHMENT')")
48
+ return value
49
+
50
+ model_config = ConfigDict(
51
+ populate_by_name=True,
52
+ validate_assignment=True,
53
+ protected_namespaces=(),
54
+ )
55
+
56
+
57
+ def to_str(self) -> str:
58
+ """Returns the string representation of the model using alias"""
59
+ return pprint.pformat(self.model_dump(by_alias=True))
60
+
61
+ def to_json(self) -> str:
62
+ """Returns the JSON representation of the model using alias"""
63
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
64
+ return json.dumps(self.to_dict())
65
+
66
+ @classmethod
67
+ def from_json(cls, json_str: str) -> Optional[Self]:
68
+ """Create an instance of ViewDetailsAI from a JSON string"""
69
+ return cls.from_dict(json.loads(json_str))
70
+
71
+ def to_dict(self) -> Dict[str, Any]:
72
+ """Return the dictionary representation of the model using alias.
73
+
74
+ This has the following differences from calling pydantic's
75
+ `self.model_dump(by_alias=True)`:
76
+
77
+ * `None` is only added to the output dict for nullable fields that
78
+ were set at model initialization. Other fields with value `None`
79
+ are ignored.
80
+ """
81
+ excluded_fields: Set[str] = set([
82
+ ])
83
+
84
+ _dict = self.model_dump(
85
+ by_alias=True,
86
+ exclude=excluded_fields,
87
+ exclude_none=True,
88
+ )
89
+ # override the default output from pydantic by calling `to_dict()` of each value in var_schema (dict)
90
+ _field_dict = {}
91
+ if self.var_schema:
92
+ for _key_var_schema in self.var_schema:
93
+ if self.var_schema[_key_var_schema]:
94
+ _field_dict[_key_var_schema] = self.var_schema[_key_var_schema].to_dict()
95
+ _dict['schema'] = _field_dict
96
+ # set to None if var_schema (nullable) is None
97
+ # and model_fields_set contains the field
98
+ if self.var_schema is None and "var_schema" in self.model_fields_set:
99
+ _dict['schema'] = None
100
+
101
+ # set to None if description (nullable) is None
102
+ # and model_fields_set contains the field
103
+ if self.description is None and "description" in self.model_fields_set:
104
+ _dict['description'] = None
105
+
106
+ # set to None if error_message (nullable) is None
107
+ # and model_fields_set contains the field
108
+ if self.error_message is None and "error_message" in self.model_fields_set:
109
+ _dict['error_message'] = None
110
+
111
+ return _dict
112
+
113
+ @classmethod
114
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
115
+ """Create an instance of ViewDetailsAI from a dict"""
116
+ if obj is None:
117
+ return None
118
+
119
+ if not isinstance(obj, dict):
120
+ return cls.model_validate(obj)
121
+
122
+ _obj = cls.model_validate({
123
+ "name": obj.get("name"),
124
+ "uri": obj.get("uri"),
125
+ "status": obj.get("status"),
126
+ "created_at": obj.get("created_at"),
127
+ "schema": dict(
128
+ (_k, ViewDetailsAISchemaValue.from_dict(_v))
129
+ for _k, _v in obj["schema"].items()
130
+ )
131
+ if obj.get("schema") is not None
132
+ else None,
133
+ "source_table_names": obj.get("source_table_names"),
134
+ "description": obj.get("description"),
135
+ "error_message": obj.get("error_message"),
136
+ "type": obj.get("type")
137
+ })
138
+ return _obj
139
+
140
+
@@ -0,0 +1,153 @@
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 Dict, Optional
22
+ from shaped.autogen.models.value_type import ValueType
23
+ from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
24
+ from typing_extensions import Literal, Self
25
+ from pydantic import Field
26
+
27
+ VIEWDETAILSAISCHEMAVALUE_ANY_OF_SCHEMAS = ["Dict[str, ValueType]", "ValueType", "str"]
28
+
29
+ class ViewDetailsAISchemaValue(BaseModel):
30
+ """
31
+ ViewDetailsAISchemaValue
32
+ """
33
+
34
+ # data type: str
35
+ anyof_schema_1_validator: Optional[StrictStr] = None
36
+ # data type: ValueType
37
+ anyof_schema_2_validator: Optional[ValueType] = None
38
+ # data type: Dict[str, ValueType]
39
+ anyof_schema_3_validator: Optional[Dict[str, ValueType]] = None
40
+ if TYPE_CHECKING:
41
+ actual_instance: Optional[Union[Dict[str, ValueType], ValueType, str]] = None
42
+ else:
43
+ actual_instance: Any = None
44
+ any_of_schemas: Set[str] = { "Dict[str, ValueType]", "ValueType", "str" }
45
+
46
+ model_config = {
47
+ "validate_assignment": True,
48
+ "protected_namespaces": (),
49
+ }
50
+
51
+ def __init__(self, *args, **kwargs) -> None:
52
+ if args:
53
+ if len(args) > 1:
54
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
55
+ if kwargs:
56
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
57
+ super().__init__(actual_instance=args[0])
58
+ else:
59
+ super().__init__(**kwargs)
60
+
61
+ @field_validator('actual_instance')
62
+ def actual_instance_must_validate_anyof(cls, v):
63
+ instance = ViewDetailsAISchemaValue.model_construct()
64
+ error_messages = []
65
+ # validate data type: str
66
+ try:
67
+ instance.anyof_schema_1_validator = v
68
+ return v
69
+ except (ValidationError, ValueError) as e:
70
+ error_messages.append(str(e))
71
+ # validate data type: ValueType
72
+ if not isinstance(v, ValueType):
73
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ValueType`")
74
+ else:
75
+ return v
76
+
77
+ # validate data type: Dict[str, ValueType]
78
+ try:
79
+ instance.anyof_schema_3_validator = v
80
+ return v
81
+ except (ValidationError, ValueError) as e:
82
+ error_messages.append(str(e))
83
+ if error_messages:
84
+ # no match
85
+ raise ValueError("No match found when setting the actual_instance in ViewDetailsAISchemaValue with anyOf schemas: Dict[str, ValueType], ValueType, str. Details: " + ", ".join(error_messages))
86
+ else:
87
+ return v
88
+
89
+ @classmethod
90
+ def from_dict(cls, obj: Dict[str, Any]) -> Self:
91
+ return cls.from_json(json.dumps(obj))
92
+
93
+ @classmethod
94
+ def from_json(cls, json_str: str) -> Self:
95
+ """Returns the object represented by the json string"""
96
+ instance = cls.model_construct()
97
+ error_messages = []
98
+ # deserialize data into str
99
+ try:
100
+ # validation
101
+ instance.anyof_schema_1_validator = json.loads(json_str)
102
+ # assign value to actual_instance
103
+ instance.actual_instance = instance.anyof_schema_1_validator
104
+ return instance
105
+ except (ValidationError, ValueError) as e:
106
+ error_messages.append(str(e))
107
+ # anyof_schema_2_validator: Optional[ValueType] = None
108
+ try:
109
+ instance.actual_instance = ValueType.from_json(json_str)
110
+ return instance
111
+ except (ValidationError, ValueError) as e:
112
+ error_messages.append(str(e))
113
+ # deserialize data into Dict[str, ValueType]
114
+ try:
115
+ # validation
116
+ instance.anyof_schema_3_validator = json.loads(json_str)
117
+ # assign value to actual_instance
118
+ instance.actual_instance = instance.anyof_schema_3_validator
119
+ return instance
120
+ except (ValidationError, ValueError) as e:
121
+ error_messages.append(str(e))
122
+
123
+ if error_messages:
124
+ # no match
125
+ raise ValueError("No match found when deserializing the JSON string into ViewDetailsAISchemaValue with anyOf schemas: Dict[str, ValueType], ValueType, str. Details: " + ", ".join(error_messages))
126
+ else:
127
+ return instance
128
+
129
+ def to_json(self) -> str:
130
+ """Returns the JSON representation of the actual instance"""
131
+ if self.actual_instance is None:
132
+ return "null"
133
+
134
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
135
+ return self.actual_instance.to_json()
136
+ else:
137
+ return json.dumps(self.actual_instance)
138
+
139
+ def to_dict(self) -> Optional[Union[Dict[str, Any], Dict[str, ValueType], ValueType, str]]:
140
+ """Returns the dict representation of the actual instance"""
141
+ if self.actual_instance is None:
142
+ return None
143
+
144
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
145
+ return self.actual_instance.to_dict()
146
+ else:
147
+ return self.actual_instance
148
+
149
+ def to_str(self) -> str:
150
+ """Returns the string representation of the actual instance"""
151
+ return pprint.pformat(self.model_dump())
152
+
153
+
@@ -0,0 +1,140 @@
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
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import datetime
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from shaped.autogen.models.transform_status import TransformStatus
24
+ from shaped.autogen.models.view_details_ai_schema_value import ViewDetailsAISchemaValue
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class ViewDetailsSQL(BaseModel):
29
+ """
30
+ ViewDetailsSQL
31
+ """ # noqa: E501
32
+ name: StrictStr = Field(description="Unique identifier for the view.")
33
+ uri: StrictStr = Field(description="URI to access the view.")
34
+ status: TransformStatus = Field(description="Current deployment status.")
35
+ created_at: datetime = Field(description="Timestamp when view was created.")
36
+ var_schema: Optional[Dict[str, ViewDetailsAISchemaValue]] = Field(default=None, alias="schema")
37
+ source_table_names: List[StrictStr] = Field(description="List of source table names used by this view.")
38
+ description: Optional[StrictStr] = None
39
+ error_message: Optional[StrictStr] = None
40
+ type: StrictStr = Field(description="View type discriminator for SQL views.")
41
+ __properties: ClassVar[List[str]] = ["name", "uri", "status", "created_at", "schema", "source_table_names", "description", "error_message", "type"]
42
+
43
+ @field_validator('type')
44
+ def type_validate_enum(cls, value):
45
+ """Validates the enum"""
46
+ if value not in set(['SQL']):
47
+ raise ValueError("must be one of enum values ('SQL')")
48
+ return value
49
+
50
+ model_config = ConfigDict(
51
+ populate_by_name=True,
52
+ validate_assignment=True,
53
+ protected_namespaces=(),
54
+ )
55
+
56
+
57
+ def to_str(self) -> str:
58
+ """Returns the string representation of the model using alias"""
59
+ return pprint.pformat(self.model_dump(by_alias=True))
60
+
61
+ def to_json(self) -> str:
62
+ """Returns the JSON representation of the model using alias"""
63
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
64
+ return json.dumps(self.to_dict())
65
+
66
+ @classmethod
67
+ def from_json(cls, json_str: str) -> Optional[Self]:
68
+ """Create an instance of ViewDetailsSQL from a JSON string"""
69
+ return cls.from_dict(json.loads(json_str))
70
+
71
+ def to_dict(self) -> Dict[str, Any]:
72
+ """Return the dictionary representation of the model using alias.
73
+
74
+ This has the following differences from calling pydantic's
75
+ `self.model_dump(by_alias=True)`:
76
+
77
+ * `None` is only added to the output dict for nullable fields that
78
+ were set at model initialization. Other fields with value `None`
79
+ are ignored.
80
+ """
81
+ excluded_fields: Set[str] = set([
82
+ ])
83
+
84
+ _dict = self.model_dump(
85
+ by_alias=True,
86
+ exclude=excluded_fields,
87
+ exclude_none=True,
88
+ )
89
+ # override the default output from pydantic by calling `to_dict()` of each value in var_schema (dict)
90
+ _field_dict = {}
91
+ if self.var_schema:
92
+ for _key_var_schema in self.var_schema:
93
+ if self.var_schema[_key_var_schema]:
94
+ _field_dict[_key_var_schema] = self.var_schema[_key_var_schema].to_dict()
95
+ _dict['schema'] = _field_dict
96
+ # set to None if var_schema (nullable) is None
97
+ # and model_fields_set contains the field
98
+ if self.var_schema is None and "var_schema" in self.model_fields_set:
99
+ _dict['schema'] = None
100
+
101
+ # set to None if description (nullable) is None
102
+ # and model_fields_set contains the field
103
+ if self.description is None and "description" in self.model_fields_set:
104
+ _dict['description'] = None
105
+
106
+ # set to None if error_message (nullable) is None
107
+ # and model_fields_set contains the field
108
+ if self.error_message is None and "error_message" in self.model_fields_set:
109
+ _dict['error_message'] = None
110
+
111
+ return _dict
112
+
113
+ @classmethod
114
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
115
+ """Create an instance of ViewDetailsSQL from a dict"""
116
+ if obj is None:
117
+ return None
118
+
119
+ if not isinstance(obj, dict):
120
+ return cls.model_validate(obj)
121
+
122
+ _obj = cls.model_validate({
123
+ "name": obj.get("name"),
124
+ "uri": obj.get("uri"),
125
+ "status": obj.get("status"),
126
+ "created_at": obj.get("created_at"),
127
+ "schema": dict(
128
+ (_k, ViewDetailsAISchemaValue.from_dict(_v))
129
+ for _k, _v in obj["schema"].items()
130
+ )
131
+ if obj.get("schema") is not None
132
+ else None,
133
+ "source_table_names": obj.get("source_table_names"),
134
+ "description": obj.get("description"),
135
+ "error_message": obj.get("error_message"),
136
+ "type": obj.get("type")
137
+ })
138
+ return _obj
139
+
140
+
@@ -0,0 +1,41 @@
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.0
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
+
17
+ import json
18
+ from enum import Enum
19
+
20
+ from typing_extensions import Self
21
+
22
+
23
+ class ViewStatus(str, Enum):
24
+ """
25
+ ViewStatus
26
+ """
27
+
28
+ """
29
+ allowed enum values
30
+ """
31
+ ACTIVE = "ACTIVE"
32
+ SCHEDULING = "SCHEDULING"
33
+ BACKFILLING = "BACKFILLING"
34
+ DESTROYING = "DESTROYING"
35
+ INACTIVE = "INACTIVE"
36
+ ERROR = "ERROR"
37
+
38
+ @classmethod
39
+ def from_json(cls, json_str: str) -> Self:
40
+ """Create an instance of ViewStatus from a JSON string"""
41
+ return cls(json.loads(json_str))
@@ -0,0 +1,136 @@
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, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator
21
+ from typing import Optional, Union
22
+ from shaped.autogen.models.tunable_float import TunableFloat
23
+ from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
24
+ from typing_extensions import Literal, Self
25
+ from pydantic import Field
26
+
27
+ WEIGHTDECAY_ANY_OF_SCHEMAS = ["TunableFloat", "float"]
28
+
29
+ class WeightDecay(BaseModel):
30
+ """
31
+ L2 regularization term to prevent overfitting.
32
+ """
33
+
34
+ # data type: float
35
+ anyof_schema_1_validator: Optional[Union[StrictFloat, StrictInt]] = None
36
+ # data type: TunableFloat
37
+ anyof_schema_2_validator: Optional[TunableFloat] = None
38
+ if TYPE_CHECKING:
39
+ actual_instance: Optional[Union[TunableFloat, float]] = None
40
+ else:
41
+ actual_instance: Any = None
42
+ any_of_schemas: Set[str] = { "TunableFloat", "float" }
43
+
44
+ model_config = {
45
+ "validate_assignment": True,
46
+ "protected_namespaces": (),
47
+ }
48
+
49
+ def __init__(self, *args, **kwargs) -> None:
50
+ if args:
51
+ if len(args) > 1:
52
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
53
+ if kwargs:
54
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
55
+ super().__init__(actual_instance=args[0])
56
+ else:
57
+ super().__init__(**kwargs)
58
+
59
+ @field_validator('actual_instance')
60
+ def actual_instance_must_validate_anyof(cls, v):
61
+ instance = WeightDecay.model_construct()
62
+ error_messages = []
63
+ # validate data type: float
64
+ try:
65
+ instance.anyof_schema_1_validator = v
66
+ return v
67
+ except (ValidationError, ValueError) as e:
68
+ error_messages.append(str(e))
69
+ # validate data type: TunableFloat
70
+ if not isinstance(v, TunableFloat):
71
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TunableFloat`")
72
+ else:
73
+ return v
74
+
75
+ if error_messages:
76
+ # no match
77
+ raise ValueError("No match found when setting the actual_instance in WeightDecay with anyOf schemas: TunableFloat, float. Details: " + ", ".join(error_messages))
78
+ else:
79
+ return v
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Dict[str, Any]) -> Self:
83
+ return cls.from_json(json.dumps(obj))
84
+
85
+ @classmethod
86
+ def from_json(cls, json_str: str) -> Self:
87
+ """Returns the object represented by the json string"""
88
+ instance = cls.model_construct()
89
+ error_messages = []
90
+ # deserialize data into float
91
+ try:
92
+ # validation
93
+ instance.anyof_schema_1_validator = json.loads(json_str)
94
+ # assign value to actual_instance
95
+ instance.actual_instance = instance.anyof_schema_1_validator
96
+ return instance
97
+ except (ValidationError, ValueError) as e:
98
+ error_messages.append(str(e))
99
+ # anyof_schema_2_validator: Optional[TunableFloat] = None
100
+ try:
101
+ instance.actual_instance = TunableFloat.from_json(json_str)
102
+ return instance
103
+ except (ValidationError, ValueError) as e:
104
+ error_messages.append(str(e))
105
+
106
+ if error_messages:
107
+ # no match
108
+ raise ValueError("No match found when deserializing the JSON string into WeightDecay with anyOf schemas: TunableFloat, float. Details: " + ", ".join(error_messages))
109
+ else:
110
+ return instance
111
+
112
+ def to_json(self) -> str:
113
+ """Returns the JSON representation of the actual instance"""
114
+ if self.actual_instance is None:
115
+ return "null"
116
+
117
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
118
+ return self.actual_instance.to_json()
119
+ else:
120
+ return json.dumps(self.actual_instance)
121
+
122
+ def to_dict(self) -> Optional[Union[Dict[str, Any], TunableFloat, float]]:
123
+ """Returns the dict representation of the actual instance"""
124
+ if self.actual_instance is None:
125
+ return None
126
+
127
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
128
+ return self.actual_instance.to_dict()
129
+ else:
130
+ return self.actual_instance
131
+
132
+ def to_str(self) -> str:
133
+ """Returns the string representation of the actual instance"""
134
+ return pprint.pformat(self.model_dump())
135
+
136
+