orca-sdk 0.0.97__py3-none-any.whl → 0.0.98__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 (298) hide show
  1. orca_sdk/__init__.py +1 -0
  2. orca_sdk/_shared/__init__.py +1 -0
  3. orca_sdk/_utils/analysis_ui.py +5 -5
  4. orca_sdk/_utils/auth.py +23 -33
  5. orca_sdk/_utils/pagination.py +126 -0
  6. orca_sdk/_utils/pagination_test.py +132 -0
  7. orca_sdk/classification_model.py +188 -126
  8. orca_sdk/classification_model_test.py +57 -8
  9. orca_sdk/client.py +3515 -0
  10. orca_sdk/conftest.py +10 -0
  11. orca_sdk/credentials.py +59 -21
  12. orca_sdk/credentials_test.py +20 -0
  13. orca_sdk/datasource.py +42 -76
  14. orca_sdk/embedding_model.py +225 -71
  15. orca_sdk/embedding_model_test.py +27 -36
  16. orca_sdk/job.py +49 -45
  17. orca_sdk/job_test.py +16 -0
  18. orca_sdk/memoryset.py +340 -353
  19. orca_sdk/memoryset_test.py +7 -11
  20. orca_sdk/regression_model.py +120 -111
  21. orca_sdk/regression_model_test.py +15 -0
  22. orca_sdk/telemetry.py +162 -139
  23. {orca_sdk-0.0.97.dist-info → orca_sdk-0.0.98.dist-info}/METADATA +2 -5
  24. orca_sdk-0.0.98.dist-info/RECORD +40 -0
  25. orca_sdk/_generated_api_client/__init__.py +0 -3
  26. orca_sdk/_generated_api_client/api/__init__.py +0 -307
  27. orca_sdk/_generated_api_client/api/auth/__init__.py +0 -0
  28. orca_sdk/_generated_api_client/api/auth/check_authentication_auth_get.py +0 -128
  29. orca_sdk/_generated_api_client/api/auth/create_api_key_auth_api_key_post.py +0 -170
  30. orca_sdk/_generated_api_client/api/auth/create_org_plan_auth_org_plan_post.py +0 -168
  31. orca_sdk/_generated_api_client/api/auth/delete_api_key_auth_api_key_name_or_id_delete.py +0 -156
  32. orca_sdk/_generated_api_client/api/auth/delete_org_auth_org_delete.py +0 -130
  33. orca_sdk/_generated_api_client/api/auth/get_org_plan_auth_org_plan_get.py +0 -122
  34. orca_sdk/_generated_api_client/api/auth/list_api_keys_auth_api_key_get.py +0 -127
  35. orca_sdk/_generated_api_client/api/auth/update_org_plan_auth_org_plan_put.py +0 -168
  36. orca_sdk/_generated_api_client/api/classification_model/__init__.py +0 -0
  37. orca_sdk/_generated_api_client/api/classification_model/create_classification_model_classification_model_post.py +0 -170
  38. orca_sdk/_generated_api_client/api/classification_model/delete_classification_model_classification_model_name_or_id_delete.py +0 -156
  39. orca_sdk/_generated_api_client/api/classification_model/delete_classification_model_evaluation_classification_model_model_name_or_id_evaluation_task_id_delete.py +0 -168
  40. orca_sdk/_generated_api_client/api/classification_model/evaluate_classification_model_classification_model_model_name_or_id_evaluation_post.py +0 -183
  41. orca_sdk/_generated_api_client/api/classification_model/get_classification_model_classification_model_name_or_id_get.py +0 -156
  42. orca_sdk/_generated_api_client/api/classification_model/get_classification_model_evaluation_classification_model_model_name_or_id_evaluation_task_id_get.py +0 -170
  43. orca_sdk/_generated_api_client/api/classification_model/list_classification_model_evaluations_classification_model_model_name_or_id_evaluation_get.py +0 -161
  44. orca_sdk/_generated_api_client/api/classification_model/list_classification_models_classification_model_get.py +0 -127
  45. orca_sdk/_generated_api_client/api/classification_model/predict_label_gpu_classification_model_name_or_id_prediction_post.py +0 -190
  46. orca_sdk/_generated_api_client/api/classification_model/update_classification_model_classification_model_name_or_id_patch.py +0 -183
  47. orca_sdk/_generated_api_client/api/datasource/__init__.py +0 -0
  48. orca_sdk/_generated_api_client/api/datasource/create_datasource_from_content_datasource_post.py +0 -224
  49. orca_sdk/_generated_api_client/api/datasource/create_datasource_from_files_datasource_upload_post.py +0 -229
  50. orca_sdk/_generated_api_client/api/datasource/create_embedding_evaluation_datasource_name_or_id_embedding_evaluation_post.py +0 -183
  51. orca_sdk/_generated_api_client/api/datasource/delete_datasource_datasource_name_or_id_delete.py +0 -156
  52. orca_sdk/_generated_api_client/api/datasource/download_datasource_datasource_name_or_id_download_get.py +0 -172
  53. orca_sdk/_generated_api_client/api/datasource/get_datasource_datasource_name_or_id_get.py +0 -156
  54. orca_sdk/_generated_api_client/api/datasource/get_embedding_evaluation_datasource_name_or_id_embedding_evaluation_task_id_get.py +0 -169
  55. orca_sdk/_generated_api_client/api/datasource/list_datasources_datasource_get.py +0 -127
  56. orca_sdk/_generated_api_client/api/datasource/list_embedding_evaluations_datasource_name_or_id_embedding_evaluation_get.py +0 -235
  57. orca_sdk/_generated_api_client/api/default/__init__.py +0 -0
  58. orca_sdk/_generated_api_client/api/default/healthcheck_get.py +0 -118
  59. orca_sdk/_generated_api_client/api/default/healthcheck_gpu_get.py +0 -118
  60. orca_sdk/_generated_api_client/api/finetuned_embedding_model/__init__.py +0 -0
  61. orca_sdk/_generated_api_client/api/finetuned_embedding_model/create_finetuned_embedding_model_finetuned_embedding_model_post.py +0 -168
  62. orca_sdk/_generated_api_client/api/finetuned_embedding_model/delete_finetuned_embedding_model_finetuned_embedding_model_name_or_id_delete.py +0 -156
  63. orca_sdk/_generated_api_client/api/finetuned_embedding_model/embed_with_finetuned_model_gpu_finetuned_embedding_model_name_or_id_embedding_post.py +0 -189
  64. orca_sdk/_generated_api_client/api/finetuned_embedding_model/get_finetuned_embedding_model_finetuned_embedding_model_name_or_id_get.py +0 -156
  65. orca_sdk/_generated_api_client/api/finetuned_embedding_model/list_finetuned_embedding_models_finetuned_embedding_model_get.py +0 -127
  66. orca_sdk/_generated_api_client/api/memoryset/__init__.py +0 -0
  67. orca_sdk/_generated_api_client/api/memoryset/analyze_memoryset_memoryset_name_or_id_analysis_post.py +0 -183
  68. orca_sdk/_generated_api_client/api/memoryset/batch_delete_memoryset_batch_delete_memoryset_post.py +0 -168
  69. orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py +0 -181
  70. orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py +0 -168
  71. orca_sdk/_generated_api_client/api/memoryset/delete_memories_memoryset_name_or_id_memories_delete_post.py +0 -181
  72. orca_sdk/_generated_api_client/api/memoryset/delete_memory_memoryset_name_or_id_memory_memory_id_delete.py +0 -167
  73. orca_sdk/_generated_api_client/api/memoryset/delete_memoryset_memoryset_name_or_id_delete.py +0 -156
  74. orca_sdk/_generated_api_client/api/memoryset/get_analysis_memoryset_name_or_id_analysis_analysis_task_id_get.py +0 -169
  75. orca_sdk/_generated_api_client/api/memoryset/get_memories_memoryset_name_or_id_memories_get_post.py +0 -210
  76. orca_sdk/_generated_api_client/api/memoryset/get_memory_memoryset_name_or_id_memory_memory_id_get.py +0 -186
  77. orca_sdk/_generated_api_client/api/memoryset/get_memoryset_memoryset_name_or_id_get.py +0 -156
  78. orca_sdk/_generated_api_client/api/memoryset/insert_memories_gpu_memoryset_name_or_id_memory_post.py +0 -188
  79. orca_sdk/_generated_api_client/api/memoryset/list_analyses_memoryset_name_or_id_analysis_get.py +0 -235
  80. orca_sdk/_generated_api_client/api/memoryset/list_memorysets_memoryset_get.py +0 -180
  81. orca_sdk/_generated_api_client/api/memoryset/memoryset_lookup_gpu_memoryset_name_or_id_lookup_post.py +0 -212
  82. orca_sdk/_generated_api_client/api/memoryset/potential_duplicate_groups_memoryset_name_or_id_potential_duplicate_groups_get.py +0 -195
  83. orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py +0 -210
  84. orca_sdk/_generated_api_client/api/memoryset/suggest_cascading_edits_memoryset_name_or_id_memory_memory_id_cascading_edits_post.py +0 -233
  85. orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py +0 -216
  86. orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py +0 -205
  87. orca_sdk/_generated_api_client/api/memoryset/update_memoryset_memoryset_name_or_id_patch.py +0 -183
  88. orca_sdk/_generated_api_client/api/predictive_model/__init__.py +0 -0
  89. orca_sdk/_generated_api_client/api/predictive_model/list_predictive_models_predictive_model_get.py +0 -150
  90. orca_sdk/_generated_api_client/api/pretrained_embedding_model/__init__.py +0 -0
  91. orca_sdk/_generated_api_client/api/pretrained_embedding_model/embed_with_pretrained_model_gpu_pretrained_embedding_model_model_name_embedding_post.py +0 -192
  92. orca_sdk/_generated_api_client/api/pretrained_embedding_model/get_pretrained_embedding_model_pretrained_embedding_model_model_name_get.py +0 -161
  93. orca_sdk/_generated_api_client/api/pretrained_embedding_model/list_pretrained_embedding_models_pretrained_embedding_model_get.py +0 -127
  94. orca_sdk/_generated_api_client/api/regression_model/__init__.py +0 -0
  95. orca_sdk/_generated_api_client/api/regression_model/create_regression_model_regression_model_post.py +0 -170
  96. orca_sdk/_generated_api_client/api/regression_model/delete_regression_model_evaluation_regression_model_model_name_or_id_evaluation_task_id_delete.py +0 -168
  97. orca_sdk/_generated_api_client/api/regression_model/delete_regression_model_regression_model_name_or_id_delete.py +0 -154
  98. orca_sdk/_generated_api_client/api/regression_model/evaluate_regression_model_regression_model_model_name_or_id_evaluation_post.py +0 -183
  99. orca_sdk/_generated_api_client/api/regression_model/get_regression_model_evaluation_regression_model_model_name_or_id_evaluation_task_id_get.py +0 -170
  100. orca_sdk/_generated_api_client/api/regression_model/get_regression_model_regression_model_name_or_id_get.py +0 -156
  101. orca_sdk/_generated_api_client/api/regression_model/list_regression_model_evaluations_regression_model_model_name_or_id_evaluation_get.py +0 -161
  102. orca_sdk/_generated_api_client/api/regression_model/list_regression_models_regression_model_get.py +0 -127
  103. orca_sdk/_generated_api_client/api/regression_model/predict_score_gpu_regression_model_name_or_id_prediction_post.py +0 -190
  104. orca_sdk/_generated_api_client/api/regression_model/update_regression_model_regression_model_name_or_id_patch.py +0 -183
  105. orca_sdk/_generated_api_client/api/task/__init__.py +0 -0
  106. orca_sdk/_generated_api_client/api/task/abort_task_task_task_id_abort_delete.py +0 -154
  107. orca_sdk/_generated_api_client/api/task/get_task_status_task_task_id_status_get.py +0 -156
  108. orca_sdk/_generated_api_client/api/task/get_task_task_task_id_get.py +0 -156
  109. orca_sdk/_generated_api_client/api/task/list_tasks_task_get.py +0 -288
  110. orca_sdk/_generated_api_client/api/telemetry/__init__.py +0 -0
  111. orca_sdk/_generated_api_client/api/telemetry/count_predictions_telemetry_prediction_count_post.py +0 -168
  112. orca_sdk/_generated_api_client/api/telemetry/drop_feedback_category_with_data_telemetry_feedback_category_name_or_id_delete.py +0 -162
  113. orca_sdk/_generated_api_client/api/telemetry/explain_prediction_telemetry_prediction_prediction_id_explanation_get.py +0 -182
  114. orca_sdk/_generated_api_client/api/telemetry/generate_memory_suggestions_telemetry_prediction_prediction_id_memory_suggestions_post.py +0 -239
  115. orca_sdk/_generated_api_client/api/telemetry/get_action_recommendation_telemetry_prediction_prediction_id_action_get.py +0 -192
  116. orca_sdk/_generated_api_client/api/telemetry/get_feedback_category_telemetry_feedback_category_name_or_id_get.py +0 -156
  117. orca_sdk/_generated_api_client/api/telemetry/get_prediction_telemetry_prediction_prediction_id_get.py +0 -180
  118. orca_sdk/_generated_api_client/api/telemetry/list_feedback_categories_telemetry_feedback_category_get.py +0 -127
  119. orca_sdk/_generated_api_client/api/telemetry/list_memories_with_feedback_telemetry_memories_post.py +0 -198
  120. orca_sdk/_generated_api_client/api/telemetry/list_predictions_telemetry_prediction_post.py +0 -198
  121. orca_sdk/_generated_api_client/api/telemetry/record_prediction_feedback_telemetry_prediction_feedback_put.py +0 -171
  122. orca_sdk/_generated_api_client/api/telemetry/update_prediction_telemetry_prediction_prediction_id_patch.py +0 -181
  123. orca_sdk/_generated_api_client/client.py +0 -216
  124. orca_sdk/_generated_api_client/errors.py +0 -38
  125. orca_sdk/_generated_api_client/models/__init__.py +0 -345
  126. orca_sdk/_generated_api_client/models/action_recommendation.py +0 -82
  127. orca_sdk/_generated_api_client/models/action_recommendation_action.py +0 -11
  128. orca_sdk/_generated_api_client/models/add_memory_recommendations.py +0 -85
  129. orca_sdk/_generated_api_client/models/add_memory_suggestion.py +0 -79
  130. orca_sdk/_generated_api_client/models/analyze_neighbor_labels_result.py +0 -116
  131. orca_sdk/_generated_api_client/models/api_key_metadata.py +0 -137
  132. orca_sdk/_generated_api_client/models/api_key_metadata_scope_item.py +0 -9
  133. orca_sdk/_generated_api_client/models/base_label_prediction_result.py +0 -130
  134. orca_sdk/_generated_api_client/models/base_model.py +0 -55
  135. orca_sdk/_generated_api_client/models/base_score_prediction_result.py +0 -108
  136. orca_sdk/_generated_api_client/models/body_create_datasource_from_files_datasource_upload_post.py +0 -145
  137. orca_sdk/_generated_api_client/models/cascade_edit_suggestions_request.py +0 -154
  138. orca_sdk/_generated_api_client/models/cascading_edit_suggestion.py +0 -92
  139. orca_sdk/_generated_api_client/models/class_representatives.py +0 -92
  140. orca_sdk/_generated_api_client/models/classification_evaluation_request.py +0 -148
  141. orca_sdk/_generated_api_client/models/classification_metrics.py +0 -259
  142. orca_sdk/_generated_api_client/models/classification_model_metadata.py +0 -227
  143. orca_sdk/_generated_api_client/models/classification_prediction_request.py +0 -220
  144. orca_sdk/_generated_api_client/models/clone_memoryset_request.py +0 -210
  145. orca_sdk/_generated_api_client/models/cluster_metrics.py +0 -78
  146. orca_sdk/_generated_api_client/models/column_info.py +0 -145
  147. orca_sdk/_generated_api_client/models/column_type.py +0 -14
  148. orca_sdk/_generated_api_client/models/constraint_violation_error_response.py +0 -81
  149. orca_sdk/_generated_api_client/models/constraint_violation_error_response_status_code.py +0 -8
  150. orca_sdk/_generated_api_client/models/count_predictions_request.py +0 -195
  151. orca_sdk/_generated_api_client/models/create_api_key_request.py +0 -120
  152. orca_sdk/_generated_api_client/models/create_api_key_request_scope_item.py +0 -9
  153. orca_sdk/_generated_api_client/models/create_api_key_response.py +0 -145
  154. orca_sdk/_generated_api_client/models/create_api_key_response_scope_item.py +0 -9
  155. orca_sdk/_generated_api_client/models/create_classification_model_request.py +0 -237
  156. orca_sdk/_generated_api_client/models/create_datasource_from_content_request.py +0 -101
  157. orca_sdk/_generated_api_client/models/create_memoryset_request.py +0 -365
  158. orca_sdk/_generated_api_client/models/create_memoryset_request_index_params.py +0 -66
  159. orca_sdk/_generated_api_client/models/create_memoryset_request_index_type.py +0 -13
  160. orca_sdk/_generated_api_client/models/create_org_plan_request.py +0 -73
  161. orca_sdk/_generated_api_client/models/create_org_plan_request_tier.py +0 -11
  162. orca_sdk/_generated_api_client/models/create_regression_model_request.py +0 -157
  163. orca_sdk/_generated_api_client/models/datasource_metadata.py +0 -156
  164. orca_sdk/_generated_api_client/models/delete_memories_request.py +0 -70
  165. orca_sdk/_generated_api_client/models/delete_memorysets_request.py +0 -70
  166. orca_sdk/_generated_api_client/models/embed_request.py +0 -155
  167. orca_sdk/_generated_api_client/models/embedding_evaluation_payload.py +0 -205
  168. orca_sdk/_generated_api_client/models/embedding_evaluation_request.py +0 -197
  169. orca_sdk/_generated_api_client/models/embedding_evaluation_response.py +0 -158
  170. orca_sdk/_generated_api_client/models/embedding_evaluation_result.py +0 -86
  171. orca_sdk/_generated_api_client/models/embedding_finetuning_method.py +0 -9
  172. orca_sdk/_generated_api_client/models/embedding_model_result.py +0 -123
  173. orca_sdk/_generated_api_client/models/evaluation_response.py +0 -153
  174. orca_sdk/_generated_api_client/models/evaluation_response_classification_metrics.py +0 -140
  175. orca_sdk/_generated_api_client/models/evaluation_response_regression_metrics.py +0 -140
  176. orca_sdk/_generated_api_client/models/feedback_metrics.py +0 -85
  177. orca_sdk/_generated_api_client/models/feedback_type.py +0 -9
  178. orca_sdk/_generated_api_client/models/filter_item.py +0 -239
  179. orca_sdk/_generated_api_client/models/filter_item_field_type_0_item.py +0 -17
  180. orca_sdk/_generated_api_client/models/filter_item_field_type_1_item_type_0.py +0 -8
  181. orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_0.py +0 -8
  182. orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_1.py +0 -22
  183. orca_sdk/_generated_api_client/models/filter_item_op.py +0 -16
  184. orca_sdk/_generated_api_client/models/finetune_embedding_model_request.py +0 -259
  185. orca_sdk/_generated_api_client/models/finetune_embedding_model_request_training_args.py +0 -66
  186. orca_sdk/_generated_api_client/models/finetuned_embedding_model_metadata.py +0 -166
  187. orca_sdk/_generated_api_client/models/get_memories_request.py +0 -70
  188. orca_sdk/_generated_api_client/models/http_validation_error.py +0 -86
  189. orca_sdk/_generated_api_client/models/internal_server_error_response.py +0 -81
  190. orca_sdk/_generated_api_client/models/internal_server_error_response_status_code.py +0 -8
  191. orca_sdk/_generated_api_client/models/label_class_metrics.py +0 -108
  192. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup.py +0 -210
  193. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup_metadata.py +0 -68
  194. orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py +0 -288
  195. orca_sdk/_generated_api_client/models/labeled_memory.py +0 -186
  196. orca_sdk/_generated_api_client/models/labeled_memory_insert.py +0 -128
  197. orca_sdk/_generated_api_client/models/labeled_memory_insert_metadata.py +0 -68
  198. orca_sdk/_generated_api_client/models/labeled_memory_lookup.py +0 -194
  199. orca_sdk/_generated_api_client/models/labeled_memory_lookup_metadata.py +0 -68
  200. orca_sdk/_generated_api_client/models/labeled_memory_metadata.py +0 -68
  201. orca_sdk/_generated_api_client/models/labeled_memory_update.py +0 -171
  202. orca_sdk/_generated_api_client/models/labeled_memory_update_metadata_type_0.py +0 -68
  203. orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics.py +0 -207
  204. orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_feedback_metrics.py +0 -68
  205. orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_metadata.py +0 -68
  206. orca_sdk/_generated_api_client/models/list_memories_request.py +0 -104
  207. orca_sdk/_generated_api_client/models/list_predictions_request.py +0 -319
  208. orca_sdk/_generated_api_client/models/lookup_request.py +0 -101
  209. orca_sdk/_generated_api_client/models/lookup_score_metrics.py +0 -94
  210. orca_sdk/_generated_api_client/models/memory_metrics.py +0 -263
  211. orca_sdk/_generated_api_client/models/memory_type.py +0 -9
  212. orca_sdk/_generated_api_client/models/memoryset_analysis_configs.py +0 -245
  213. orca_sdk/_generated_api_client/models/memoryset_analysis_request.py +0 -105
  214. orca_sdk/_generated_api_client/models/memoryset_analysis_response.py +0 -182
  215. orca_sdk/_generated_api_client/models/memoryset_class_patterns_analysis_config.py +0 -79
  216. orca_sdk/_generated_api_client/models/memoryset_class_patterns_metrics.py +0 -138
  217. orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config.py +0 -202
  218. orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_clustering_method.py +0 -9
  219. orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_partitioning_method.py +0 -10
  220. orca_sdk/_generated_api_client/models/memoryset_cluster_metrics.py +0 -100
  221. orca_sdk/_generated_api_client/models/memoryset_duplicate_analysis_config.py +0 -70
  222. orca_sdk/_generated_api_client/models/memoryset_duplicate_metrics.py +0 -70
  223. orca_sdk/_generated_api_client/models/memoryset_label_analysis_config.py +0 -70
  224. orca_sdk/_generated_api_client/models/memoryset_label_metrics.py +0 -116
  225. orca_sdk/_generated_api_client/models/memoryset_metadata.py +0 -333
  226. orca_sdk/_generated_api_client/models/memoryset_metadata_index_params.py +0 -55
  227. orca_sdk/_generated_api_client/models/memoryset_metadata_index_type.py +0 -13
  228. orca_sdk/_generated_api_client/models/memoryset_metrics.py +0 -265
  229. orca_sdk/_generated_api_client/models/memoryset_neighbor_analysis_config.py +0 -83
  230. orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics.py +0 -76
  231. orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics_lookup_score_metrics.py +0 -68
  232. orca_sdk/_generated_api_client/models/memoryset_projection_analysis_config.py +0 -79
  233. orca_sdk/_generated_api_client/models/memoryset_projection_metrics.py +0 -55
  234. orca_sdk/_generated_api_client/models/memoryset_update.py +0 -121
  235. orca_sdk/_generated_api_client/models/not_found_error_response.py +0 -99
  236. orca_sdk/_generated_api_client/models/not_found_error_response_resource_type_0.py +0 -23
  237. orca_sdk/_generated_api_client/models/not_found_error_response_status_code.py +0 -8
  238. orca_sdk/_generated_api_client/models/org_plan.py +0 -99
  239. orca_sdk/_generated_api_client/models/org_plan_tier.py +0 -11
  240. orca_sdk/_generated_api_client/models/paginated_task.py +0 -108
  241. orca_sdk/_generated_api_client/models/paginated_union_labeled_memory_with_feedback_metrics_scored_memory_with_feedback_metrics.py +0 -135
  242. orca_sdk/_generated_api_client/models/pr_curve.py +0 -86
  243. orca_sdk/_generated_api_client/models/prediction_feedback.py +0 -157
  244. orca_sdk/_generated_api_client/models/prediction_feedback_category.py +0 -115
  245. orca_sdk/_generated_api_client/models/prediction_feedback_request.py +0 -122
  246. orca_sdk/_generated_api_client/models/prediction_feedback_result.py +0 -102
  247. orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_0.py +0 -10
  248. orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_1.py +0 -9
  249. orca_sdk/_generated_api_client/models/predictive_model_update.py +0 -111
  250. orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py +0 -115
  251. orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py +0 -17
  252. orca_sdk/_generated_api_client/models/rac_head_type.py +0 -11
  253. orca_sdk/_generated_api_client/models/rar_head_type.py +0 -8
  254. orca_sdk/_generated_api_client/models/regression_evaluation_request.py +0 -148
  255. orca_sdk/_generated_api_client/models/regression_metrics.py +0 -172
  256. orca_sdk/_generated_api_client/models/regression_model_metadata.py +0 -191
  257. orca_sdk/_generated_api_client/models/regression_prediction_request.py +0 -195
  258. orca_sdk/_generated_api_client/models/roc_curve.py +0 -86
  259. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup.py +0 -196
  260. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup_metadata.py +0 -68
  261. orca_sdk/_generated_api_client/models/score_prediction_with_memories_and_feedback.py +0 -252
  262. orca_sdk/_generated_api_client/models/scored_memory.py +0 -172
  263. orca_sdk/_generated_api_client/models/scored_memory_insert.py +0 -128
  264. orca_sdk/_generated_api_client/models/scored_memory_insert_metadata.py +0 -68
  265. orca_sdk/_generated_api_client/models/scored_memory_lookup.py +0 -180
  266. orca_sdk/_generated_api_client/models/scored_memory_lookup_metadata.py +0 -68
  267. orca_sdk/_generated_api_client/models/scored_memory_metadata.py +0 -68
  268. orca_sdk/_generated_api_client/models/scored_memory_update.py +0 -171
  269. orca_sdk/_generated_api_client/models/scored_memory_update_metadata_type_0.py +0 -68
  270. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics.py +0 -193
  271. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_feedback_metrics.py +0 -68
  272. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_metadata.py +0 -68
  273. orca_sdk/_generated_api_client/models/service_unavailable_error_response.py +0 -81
  274. orca_sdk/_generated_api_client/models/service_unavailable_error_response_status_code.py +0 -8
  275. orca_sdk/_generated_api_client/models/task.py +0 -198
  276. orca_sdk/_generated_api_client/models/task_status.py +0 -14
  277. orca_sdk/_generated_api_client/models/task_status_info.py +0 -133
  278. orca_sdk/_generated_api_client/models/telemetry_field_type_0_item_type_0.py +0 -8
  279. orca_sdk/_generated_api_client/models/telemetry_field_type_0_item_type_2.py +0 -9
  280. orca_sdk/_generated_api_client/models/telemetry_field_type_1_item_type_0.py +0 -8
  281. orca_sdk/_generated_api_client/models/telemetry_field_type_1_item_type_1.py +0 -8
  282. orca_sdk/_generated_api_client/models/telemetry_filter_item.py +0 -217
  283. orca_sdk/_generated_api_client/models/telemetry_filter_item_op.py +0 -15
  284. orca_sdk/_generated_api_client/models/telemetry_memories_request.py +0 -181
  285. orca_sdk/_generated_api_client/models/telemetry_sort_options.py +0 -185
  286. orca_sdk/_generated_api_client/models/telemetry_sort_options_direction.py +0 -9
  287. orca_sdk/_generated_api_client/models/unauthenticated_error_response.py +0 -73
  288. orca_sdk/_generated_api_client/models/unauthenticated_error_response_status_code.py +0 -8
  289. orca_sdk/_generated_api_client/models/unauthorized_error_response.py +0 -81
  290. orca_sdk/_generated_api_client/models/unauthorized_error_response_status_code.py +0 -8
  291. orca_sdk/_generated_api_client/models/update_org_plan_request.py +0 -73
  292. orca_sdk/_generated_api_client/models/update_org_plan_request_tier.py +0 -11
  293. orca_sdk/_generated_api_client/models/update_prediction_request.py +0 -133
  294. orca_sdk/_generated_api_client/models/validation_error.py +0 -99
  295. orca_sdk/_generated_api_client/py.typed +0 -1
  296. orca_sdk/_generated_api_client/types.py +0 -56
  297. orca_sdk-0.0.97.dist-info/RECORD +0 -309
  298. {orca_sdk-0.0.97.dist-info → orca_sdk-0.0.98.dist-info}/WHEEL +0 -0
orca_sdk/__init__.py CHANGED
@@ -4,6 +4,7 @@ OrcaSDK is a Python library for building and using retrieval augmented models in
4
4
 
5
5
  from ._utils.common import UNSET, CreateMode, DropMode
6
6
  from .classification_model import ClassificationMetrics, ClassificationModel
7
+ from .client import orca_api
7
8
  from .credentials import OrcaCredentials
8
9
  from .datasource import Datasource
9
10
  from .embedding_model import (
@@ -5,5 +5,6 @@ from .metrics import (
5
5
  ROCCurve,
6
6
  calculate_classification_metrics,
7
7
  calculate_pr_curve,
8
+ calculate_regression_metrics,
8
9
  calculate_roc_curve,
9
10
  )
@@ -28,7 +28,7 @@ def display_suggested_memory_relabels(memoryset: LabeledMemoryset):
28
28
  filters=[("metrics.neighbor_predicted_label_matches_current_label", "==", False)]
29
29
  )
30
30
  # Sort memories by confidence score (higher confidence first)
31
- suggested_relabels.sort(key=lambda x: (x.metrics["neighbor_predicted_label_confidence"] or 0.0), reverse=True)
31
+ suggested_relabels.sort(key=lambda x: (x.metrics.get("neighbor_predicted_label_confidence", 0.0)), reverse=True)
32
32
 
33
33
  def update_approved(memory_id: str, selected: bool, current_memory_relabel_map: dict[str, RelabelStatus]):
34
34
  current_memory_relabel_map[memory_id]["approved"] = selected
@@ -70,9 +70,9 @@ def display_suggested_memory_relabels(memoryset: LabeledMemoryset):
70
70
  current_memory_relabel_map[mem_id]["new_label"] = new_label
71
71
  confidence = "--"
72
72
  current_metrics = current_memory_relabel_map[mem_id]["full_memory"].metrics
73
- if current_metrics and new_label == current_metrics["neighbor_predicted_label"]:
73
+ if current_metrics and new_label == current_metrics.get("neighbor_predicted_label"):
74
74
  confidence = (
75
- round(current_metrics["neighbor_predicted_label_confidence"] or 0.0, 2) if current_metrics else 0
75
+ round(current_metrics.get("neighbor_predicted_label_confidence", 0.0), 2) if current_metrics else 0
76
76
  )
77
77
  return (
78
78
  gr.HTML(
@@ -99,8 +99,8 @@ def display_suggested_memory_relabels(memoryset: LabeledMemoryset):
99
99
  memory_id=mem.memory_id,
100
100
  approved=False,
101
101
  new_label=(
102
- mem.metrics["neighbor_predicted_label"]
103
- if (mem.metrics and isinstance(mem.metrics["neighbor_predicted_label"], int))
102
+ mem.metrics.get("neighbor_predicted_label")
103
+ if (mem.metrics and isinstance(mem.metrics.get("neighbor_predicted_label"), int))
104
104
  else None
105
105
  ),
106
106
  full_memory=mem,
orca_sdk/_utils/auth.py CHANGED
@@ -2,23 +2,12 @@
2
2
 
3
3
  import logging
4
4
  import os
5
- from typing import List
5
+ from typing import List, Literal
6
6
 
7
7
  from dotenv import load_dotenv
8
8
 
9
- from .._generated_api_client.api import (
10
- check_authentication,
11
- create_api_key,
12
- delete_api_key,
13
- delete_org,
14
- list_api_keys,
15
- )
16
- from .._generated_api_client.client import headers_context, set_base_url, set_headers
17
- from .._generated_api_client.models import (
18
- CreateApiKeyRequest,
19
- CreateApiKeyRequestScopeItem,
20
- )
21
- from .._generated_api_client.models.api_key_metadata import ApiKeyMetadata
9
+ from ..client import ApiKeyMetadata, orca_api
10
+ from ..credentials import OrcaCredentials
22
11
  from .common import DropMode
23
12
 
24
13
  load_dotenv() # this needs to be here to ensure env is populated before accessing it
@@ -28,43 +17,44 @@ _ORCA_ROOT_ACCESS_API_KEY = os.environ.get("ORCA_ROOT_ACCESS_API_KEY", "00000000
28
17
  _DEFAULT_ORG_ID = os.environ.get("DEFAULT_ORG_ID", "10e50000-0000-4000-a000-a78dca14af3a")
29
18
 
30
19
 
31
- def _create_api_key(org_id: str, name: str, scopes: list[str] = ["ADMINISTER"]) -> str:
20
+ def _create_api_key(org_id: str, name: str, scopes: list[Literal["ADMINISTER", "PREDICT"]] = ["ADMINISTER"]) -> str:
32
21
  """Creates an API key for the given organization"""
33
- with headers_context({"Api-Key": _ORCA_ROOT_ACCESS_API_KEY, "Org-Id": org_id}):
34
- res = create_api_key(
35
- body=CreateApiKeyRequest(name=name, scope=[CreateApiKeyRequestScopeItem(scope) for scope in scopes])
36
- )
37
- return res.api_key
22
+ response = orca_api.POST(
23
+ "/auth/api_key",
24
+ json={"name": name, "scope": scopes},
25
+ headers={"Api-Key": _ORCA_ROOT_ACCESS_API_KEY, "Org-Id": org_id},
26
+ )
27
+ return response["api_key"]
38
28
 
39
29
 
40
30
  def _list_api_keys(org_id: str) -> List[ApiKeyMetadata]:
41
31
  """Lists all API keys for the given organization"""
42
- with headers_context({"Api-Key": _ORCA_ROOT_ACCESS_API_KEY, "Org-Id": org_id}):
43
- return list_api_keys()
32
+ return orca_api.GET("/auth/api_key", headers={"Api-Key": _ORCA_ROOT_ACCESS_API_KEY, "Org-Id": org_id})
44
33
 
45
34
 
46
35
  def _delete_api_key(org_id: str, name: str, if_not_exists: DropMode = "error") -> None:
47
36
  """Deletes the API key with the given name from the organization"""
48
- with headers_context({"Api-Key": _ORCA_ROOT_ACCESS_API_KEY, "Org-Id": org_id}):
49
- try:
50
- delete_api_key(name_or_id=name)
51
- except LookupError:
52
- if if_not_exists == "error":
53
- raise
37
+ try:
38
+ orca_api.DELETE(
39
+ "/auth/api_key/{name_or_id}",
40
+ params={"name_or_id": name},
41
+ headers={"Api-Key": _ORCA_ROOT_ACCESS_API_KEY, "Org-Id": org_id},
42
+ )
43
+ except LookupError:
44
+ if if_not_exists == "error":
45
+ raise
54
46
 
55
47
 
56
48
  def _delete_org(org_id: str) -> None:
57
49
  """Deletes the organization"""
58
- with headers_context({"Api-Key": _ORCA_ROOT_ACCESS_API_KEY, "Org-Id": org_id}):
59
- delete_org()
50
+ orca_api.DELETE("/auth/org", headers={"Api-Key": _ORCA_ROOT_ACCESS_API_KEY, "Org-Id": org_id})
60
51
 
61
52
 
62
53
  def _authenticate_local_api(org_id: str = _DEFAULT_ORG_ID, api_key_name: str = "local") -> None:
63
54
  """Connect to the local API at http://localhost:1584/ and authenticate with a new API key"""
64
- set_base_url("http://localhost:1584/")
65
55
  _delete_api_key(org_id, api_key_name, if_not_exists="ignore")
66
- set_headers({"Api-Key": _create_api_key(org_id, api_key_name)})
67
- check_authentication()
56
+ OrcaCredentials.set_base_url("http://localhost:1584")
57
+ OrcaCredentials.set_api_key(_create_api_key(org_id, api_key_name))
68
58
  logging.info(f"Authenticated against local API at 'http://localhost:1584' with '{api_key_name}' API key")
69
59
 
70
60
 
@@ -0,0 +1,126 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Callable, Generic, Iterator, TypedDict, TypeVar, cast, overload
4
+
5
+ T = TypeVar("T")
6
+ R = TypeVar("R")
7
+
8
+
9
+ class Page(TypedDict, Generic[T]):
10
+ items: list[T]
11
+ count: int
12
+
13
+
14
+ class _PagedIterable(Generic[T, R]):
15
+ def __init__(
16
+ self,
17
+ fetch: Callable[[int, int], Page[T]],
18
+ *,
19
+ transform: Callable[[T], R] | None = None,
20
+ page_size: int = 100,
21
+ ) -> None:
22
+ """
23
+ Iterate over a paginated endpoint.
24
+
25
+ Parameters:
26
+ fetch: function to fetch a page from the endpoint `(limit: int, offset: int) -> TypedDict[{items: list[T], count: int}]`
27
+ transform: Optional function to transforms item types `(item: T) -> R`, defaults to identity
28
+ limit: maximum number of items to fetch per page
29
+ """
30
+ self.fetch = fetch
31
+ self.transform = transform or (lambda x: cast(R, x))
32
+ self.page_size = page_size
33
+ self.offset = 0 # tracks how much has been yielded, not fetched
34
+ self.page = fetch(self.page_size, self.offset) # fetch first page to populate count
35
+ self.count = self.page["count"]
36
+
37
+ def __iter__(self) -> Iterator[R]:
38
+ if self.offset >= self.count:
39
+ self.offset = 0
40
+ if len(self.page["items"]) < self.count:
41
+ # refetch first page unless we are still on the first page
42
+ self.page = self.fetch(self.page_size, self.offset)
43
+
44
+ # yield prefetched first page
45
+ if self.offset == 0:
46
+ yield from map(self.transform, self.page["items"])
47
+ self.offset += len(self.page["items"])
48
+
49
+ # yield remaining pages one by one
50
+ while self.offset < self.count:
51
+ self.page = self.fetch(self.page_size, self.offset)
52
+ yield from map(self.transform, self.page["items"])
53
+ self.offset += len(self.page["items"])
54
+
55
+ @overload
56
+ def __getitem__(self, key: int) -> R:
57
+ pass
58
+
59
+ @overload
60
+ def __getitem__(self, key: slice) -> list[R]:
61
+ pass
62
+
63
+ def __getitem__(self, key: int | slice) -> R | list[R]:
64
+ if isinstance(key, int):
65
+ effective_key = key
66
+ if effective_key < 0:
67
+ effective_key += self.count
68
+ if not 0 <= effective_key < self.count:
69
+ raise IndexError(f"Index {key} out of range")
70
+ # if key is on current page, return item
71
+ if self.offset <= effective_key < self.offset + len(self.page["items"]):
72
+ return self.transform(self.page["items"][effective_key - self.offset])
73
+ # otherwise, fetch and return the single item
74
+ return self.transform(self.fetch(1, effective_key)["items"][0])
75
+
76
+ elif isinstance(key, slice):
77
+ start, stop, step = key.indices(self.count)
78
+ if step != 1:
79
+ raise ValueError("Stepped slicing is not supported")
80
+ start = start + self.count if start < 0 else start or 0
81
+ stop = stop + self.count if stop < 0 else stop or self.count
82
+ if start >= self.count or stop > self.count:
83
+ raise IndexError(f"Slice {key} out of range")
84
+ limit = min(self.page_size, stop - start)
85
+ if limit <= 0:
86
+ return []
87
+ items = []
88
+ for i in range(start, stop, limit):
89
+ page = self.fetch(limit, i)
90
+ items.extend(map(self.transform, page["items"]))
91
+ return items
92
+
93
+ def __len__(self) -> int:
94
+ return self.count
95
+
96
+
97
+ # type checking workaround until python 3.13 allows declaring the class as PagedIterable[T, R = T]
98
+
99
+
100
+ @overload
101
+ def PagedIterable(
102
+ fetch: Callable[[int, int], Page[T]],
103
+ *,
104
+ transform: None = None,
105
+ page_size: int = 100,
106
+ ) -> _PagedIterable[T, T]:
107
+ pass
108
+
109
+
110
+ @overload
111
+ def PagedIterable(
112
+ fetch: Callable[[int, int], Page[T]],
113
+ *,
114
+ transform: Callable[[T], R],
115
+ page_size: int = 100,
116
+ ) -> _PagedIterable[T, R]:
117
+ pass
118
+
119
+
120
+ def PagedIterable(
121
+ fetch: Callable[[int, int], Page[T]],
122
+ *,
123
+ transform: Callable[[T], R] | None = None,
124
+ page_size: int = 100,
125
+ ) -> _PagedIterable[T, R]:
126
+ return _PagedIterable(fetch, transform=transform, page_size=page_size)
@@ -0,0 +1,132 @@
1
+ import pytest
2
+
3
+ from .pagination import Page, PagedIterable
4
+
5
+
6
+ class MockEndpoint:
7
+ """Mock paginated endpoint for testing"""
8
+
9
+ def __init__(self, total_items: int):
10
+ self.items = list(range(total_items))
11
+ self.fetch_count = 0
12
+
13
+ def fetch(self, limit: int, offset: int) -> Page[int]:
14
+ self.fetch_count += 1
15
+ end_index = min(offset + limit, len(self.items))
16
+ items = self.items[offset:end_index]
17
+ return {"items": items, "count": len(self.items)}
18
+
19
+
20
+ def test_basic_pagination():
21
+ # Given a mock endpoint with 5 items
22
+ endpoint = MockEndpoint(5)
23
+ # When doing a paginated iteration
24
+ paginated = PagedIterable(endpoint.fetch, page_size=2)
25
+ # Then we should be able to iterate through all items
26
+ assert list(paginated) == [0, 1, 2, 3, 4]
27
+ # And the length should be correct
28
+ assert len(paginated) == 5
29
+ # And 3 requests: [0,1], [2,3], [4] should have been made, one for each page
30
+ assert endpoint.fetch_count == 3
31
+
32
+
33
+ def test_empty_results():
34
+ # Given an empty mock endpoint
35
+ endpoint = MockEndpoint(0)
36
+ # When doing a paginated iteration
37
+ paginated = PagedIterable(endpoint.fetch, page_size=5)
38
+ # Then we should get an empty list
39
+ assert list(paginated) == []
40
+ # And the length should be 0
41
+ assert len(paginated) == 0
42
+ # And only one request should have been made, for the first page
43
+ assert endpoint.fetch_count == 1
44
+
45
+
46
+ def test_transform_function():
47
+ # Given a mock endpoint with 4 items
48
+ endpoint = MockEndpoint(4)
49
+ # And a transform function that doubles the items
50
+ transform = lambda x: f"2x={2*x}"
51
+ # When doing a paginated iteration with a transform function
52
+ paginated = PagedIterable(endpoint.fetch, transform=transform, page_size=2)
53
+ # Then we should get the transformed items
54
+ assert list(paginated) == ["2x=0", "2x=2", "2x=4", "2x=6"]
55
+
56
+
57
+ def test_multiple_iterations():
58
+ # Given a mock endpoint with 5 items
59
+ endpoint = MockEndpoint(5)
60
+ # When we do 2 paginated iterations
61
+ paginated = PagedIterable(endpoint.fetch, page_size=2)
62
+ result1 = list(paginated)
63
+ result2 = list(paginated)
64
+ # Then we should get the same items twice
65
+ assert result1 == result2 == [0, 1, 2, 3, 4]
66
+ # And 6 requests should have been made, 3 for each iteration
67
+ assert endpoint.fetch_count == 6
68
+
69
+
70
+ def test_single_page_optimization():
71
+ # Given a mock endpoint with 5 items
72
+ endpoint = MockEndpoint(5)
73
+ # When doing a paginated iteration with a limit that is greater than the number of items
74
+ paginated = PagedIterable(endpoint.fetch, page_size=10)
75
+ # Then we should get all items
76
+ assert list(paginated) == [0, 1, 2, 3, 4]
77
+ # And the length should be 5
78
+ assert len(paginated) == 5
79
+ # And only one request should have been made
80
+ assert endpoint.fetch_count == 1
81
+ # And a second iteration should not make any additional requests
82
+ assert list(paginated) == [0, 1, 2, 3, 4]
83
+ assert endpoint.fetch_count == 1
84
+
85
+
86
+ def test_indexing():
87
+ # Given a mock endpoint with 7 items
88
+ endpoint = MockEndpoint(7)
89
+ # When creating a paginated iterable with page size 3
90
+ paginated = PagedIterable(endpoint.fetch, page_size=3)
91
+ # Then we should be able to access items by index
92
+ assert paginated[0] == 0
93
+ assert paginated[2] == 2
94
+ assert paginated[6] == 6
95
+ # And negative indices should work
96
+ assert paginated[-1] == 6
97
+ # And accessing out of bounds should raise IndexError
98
+ with pytest.raises(IndexError):
99
+ paginated[7]
100
+ with pytest.raises(IndexError):
101
+ paginated[-8]
102
+ # And transforms are applied
103
+ assert PagedIterable(endpoint.fetch, transform=lambda x: x * 10, page_size=3)[1] == 10
104
+
105
+
106
+ def test_slicing():
107
+ # Given a mock endpoint with 10 items
108
+ endpoint = MockEndpoint(10)
109
+ # When creating a paginated iterable
110
+ paginated = PagedIterable(endpoint.fetch, page_size=3)
111
+ # Then we should be able to slice it
112
+ assert list(paginated[2:5]) == [2, 3, 4]
113
+ assert list(paginated[:3]) == [0, 1, 2]
114
+ assert list(paginated[7:]) == [7, 8, 9]
115
+ # And negative indices should work
116
+ assert list(paginated[:-5]) == [0, 1, 2, 3, 4, 5]
117
+ assert list(paginated[-3:]) == [7, 8, 9]
118
+ assert list(paginated[-5:-2]) == [5, 6, 7]
119
+ # And empty slices should work
120
+ assert list(paginated[5:5]) == []
121
+ # And slicing with a start and stop that are out of bounds should raise IndexError
122
+ with pytest.raises(IndexError):
123
+ list(paginated[20:25])
124
+ # And slicing with a step other than 1 should raise ValueError
125
+ with pytest.raises(ValueError):
126
+ list(paginated[::2])
127
+ with pytest.raises(ValueError):
128
+ list(paginated[1:8:3])
129
+ with pytest.raises(ValueError):
130
+ list(paginated[::-1])
131
+ # And transforms are applied
132
+ assert list(PagedIterable(endpoint.fetch, transform=lambda x: x * 10, page_size=3)[1:3]) == [10, 20]