orca-sdk 0.0.97__py3-none-any.whl → 0.0.100__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 (299) 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 +3563 -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 +80 -93
  14. orca_sdk/datasource_test.py +41 -7
  15. orca_sdk/embedding_model.py +225 -71
  16. orca_sdk/embedding_model_test.py +27 -36
  17. orca_sdk/job.py +49 -45
  18. orca_sdk/job_test.py +16 -0
  19. orca_sdk/memoryset.py +340 -353
  20. orca_sdk/memoryset_test.py +7 -11
  21. orca_sdk/regression_model.py +120 -111
  22. orca_sdk/regression_model_test.py +15 -0
  23. orca_sdk/telemetry.py +162 -139
  24. {orca_sdk-0.0.97.dist-info → orca_sdk-0.0.100.dist-info}/METADATA +2 -5
  25. orca_sdk-0.0.100.dist-info/RECORD +40 -0
  26. orca_sdk/_generated_api_client/__init__.py +0 -3
  27. orca_sdk/_generated_api_client/api/__init__.py +0 -307
  28. orca_sdk/_generated_api_client/api/auth/__init__.py +0 -0
  29. orca_sdk/_generated_api_client/api/auth/check_authentication_auth_get.py +0 -128
  30. orca_sdk/_generated_api_client/api/auth/create_api_key_auth_api_key_post.py +0 -170
  31. orca_sdk/_generated_api_client/api/auth/create_org_plan_auth_org_plan_post.py +0 -168
  32. orca_sdk/_generated_api_client/api/auth/delete_api_key_auth_api_key_name_or_id_delete.py +0 -156
  33. orca_sdk/_generated_api_client/api/auth/delete_org_auth_org_delete.py +0 -130
  34. orca_sdk/_generated_api_client/api/auth/get_org_plan_auth_org_plan_get.py +0 -122
  35. orca_sdk/_generated_api_client/api/auth/list_api_keys_auth_api_key_get.py +0 -127
  36. orca_sdk/_generated_api_client/api/auth/update_org_plan_auth_org_plan_put.py +0 -168
  37. orca_sdk/_generated_api_client/api/classification_model/__init__.py +0 -0
  38. orca_sdk/_generated_api_client/api/classification_model/create_classification_model_classification_model_post.py +0 -170
  39. orca_sdk/_generated_api_client/api/classification_model/delete_classification_model_classification_model_name_or_id_delete.py +0 -156
  40. 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
  41. orca_sdk/_generated_api_client/api/classification_model/evaluate_classification_model_classification_model_model_name_or_id_evaluation_post.py +0 -183
  42. orca_sdk/_generated_api_client/api/classification_model/get_classification_model_classification_model_name_or_id_get.py +0 -156
  43. 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
  44. orca_sdk/_generated_api_client/api/classification_model/list_classification_model_evaluations_classification_model_model_name_or_id_evaluation_get.py +0 -161
  45. orca_sdk/_generated_api_client/api/classification_model/list_classification_models_classification_model_get.py +0 -127
  46. orca_sdk/_generated_api_client/api/classification_model/predict_label_gpu_classification_model_name_or_id_prediction_post.py +0 -190
  47. orca_sdk/_generated_api_client/api/classification_model/update_classification_model_classification_model_name_or_id_patch.py +0 -183
  48. orca_sdk/_generated_api_client/api/datasource/__init__.py +0 -0
  49. orca_sdk/_generated_api_client/api/datasource/create_datasource_from_content_datasource_post.py +0 -224
  50. orca_sdk/_generated_api_client/api/datasource/create_datasource_from_files_datasource_upload_post.py +0 -229
  51. orca_sdk/_generated_api_client/api/datasource/create_embedding_evaluation_datasource_name_or_id_embedding_evaluation_post.py +0 -183
  52. orca_sdk/_generated_api_client/api/datasource/delete_datasource_datasource_name_or_id_delete.py +0 -156
  53. orca_sdk/_generated_api_client/api/datasource/download_datasource_datasource_name_or_id_download_get.py +0 -172
  54. orca_sdk/_generated_api_client/api/datasource/get_datasource_datasource_name_or_id_get.py +0 -156
  55. orca_sdk/_generated_api_client/api/datasource/get_embedding_evaluation_datasource_name_or_id_embedding_evaluation_task_id_get.py +0 -169
  56. orca_sdk/_generated_api_client/api/datasource/list_datasources_datasource_get.py +0 -127
  57. orca_sdk/_generated_api_client/api/datasource/list_embedding_evaluations_datasource_name_or_id_embedding_evaluation_get.py +0 -235
  58. orca_sdk/_generated_api_client/api/default/__init__.py +0 -0
  59. orca_sdk/_generated_api_client/api/default/healthcheck_get.py +0 -118
  60. orca_sdk/_generated_api_client/api/default/healthcheck_gpu_get.py +0 -118
  61. orca_sdk/_generated_api_client/api/finetuned_embedding_model/__init__.py +0 -0
  62. orca_sdk/_generated_api_client/api/finetuned_embedding_model/create_finetuned_embedding_model_finetuned_embedding_model_post.py +0 -168
  63. orca_sdk/_generated_api_client/api/finetuned_embedding_model/delete_finetuned_embedding_model_finetuned_embedding_model_name_or_id_delete.py +0 -156
  64. 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
  65. orca_sdk/_generated_api_client/api/finetuned_embedding_model/get_finetuned_embedding_model_finetuned_embedding_model_name_or_id_get.py +0 -156
  66. orca_sdk/_generated_api_client/api/finetuned_embedding_model/list_finetuned_embedding_models_finetuned_embedding_model_get.py +0 -127
  67. orca_sdk/_generated_api_client/api/memoryset/__init__.py +0 -0
  68. orca_sdk/_generated_api_client/api/memoryset/analyze_memoryset_memoryset_name_or_id_analysis_post.py +0 -183
  69. orca_sdk/_generated_api_client/api/memoryset/batch_delete_memoryset_batch_delete_memoryset_post.py +0 -168
  70. orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py +0 -181
  71. orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py +0 -168
  72. orca_sdk/_generated_api_client/api/memoryset/delete_memories_memoryset_name_or_id_memories_delete_post.py +0 -181
  73. orca_sdk/_generated_api_client/api/memoryset/delete_memory_memoryset_name_or_id_memory_memory_id_delete.py +0 -167
  74. orca_sdk/_generated_api_client/api/memoryset/delete_memoryset_memoryset_name_or_id_delete.py +0 -156
  75. orca_sdk/_generated_api_client/api/memoryset/get_analysis_memoryset_name_or_id_analysis_analysis_task_id_get.py +0 -169
  76. orca_sdk/_generated_api_client/api/memoryset/get_memories_memoryset_name_or_id_memories_get_post.py +0 -210
  77. orca_sdk/_generated_api_client/api/memoryset/get_memory_memoryset_name_or_id_memory_memory_id_get.py +0 -186
  78. orca_sdk/_generated_api_client/api/memoryset/get_memoryset_memoryset_name_or_id_get.py +0 -156
  79. orca_sdk/_generated_api_client/api/memoryset/insert_memories_gpu_memoryset_name_or_id_memory_post.py +0 -188
  80. orca_sdk/_generated_api_client/api/memoryset/list_analyses_memoryset_name_or_id_analysis_get.py +0 -235
  81. orca_sdk/_generated_api_client/api/memoryset/list_memorysets_memoryset_get.py +0 -180
  82. orca_sdk/_generated_api_client/api/memoryset/memoryset_lookup_gpu_memoryset_name_or_id_lookup_post.py +0 -212
  83. orca_sdk/_generated_api_client/api/memoryset/potential_duplicate_groups_memoryset_name_or_id_potential_duplicate_groups_get.py +0 -195
  84. orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py +0 -210
  85. orca_sdk/_generated_api_client/api/memoryset/suggest_cascading_edits_memoryset_name_or_id_memory_memory_id_cascading_edits_post.py +0 -233
  86. orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py +0 -216
  87. orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py +0 -205
  88. orca_sdk/_generated_api_client/api/memoryset/update_memoryset_memoryset_name_or_id_patch.py +0 -183
  89. orca_sdk/_generated_api_client/api/predictive_model/__init__.py +0 -0
  90. orca_sdk/_generated_api_client/api/predictive_model/list_predictive_models_predictive_model_get.py +0 -150
  91. orca_sdk/_generated_api_client/api/pretrained_embedding_model/__init__.py +0 -0
  92. orca_sdk/_generated_api_client/api/pretrained_embedding_model/embed_with_pretrained_model_gpu_pretrained_embedding_model_model_name_embedding_post.py +0 -192
  93. orca_sdk/_generated_api_client/api/pretrained_embedding_model/get_pretrained_embedding_model_pretrained_embedding_model_model_name_get.py +0 -161
  94. orca_sdk/_generated_api_client/api/pretrained_embedding_model/list_pretrained_embedding_models_pretrained_embedding_model_get.py +0 -127
  95. orca_sdk/_generated_api_client/api/regression_model/__init__.py +0 -0
  96. orca_sdk/_generated_api_client/api/regression_model/create_regression_model_regression_model_post.py +0 -170
  97. 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
  98. orca_sdk/_generated_api_client/api/regression_model/delete_regression_model_regression_model_name_or_id_delete.py +0 -154
  99. orca_sdk/_generated_api_client/api/regression_model/evaluate_regression_model_regression_model_model_name_or_id_evaluation_post.py +0 -183
  100. 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
  101. orca_sdk/_generated_api_client/api/regression_model/get_regression_model_regression_model_name_or_id_get.py +0 -156
  102. orca_sdk/_generated_api_client/api/regression_model/list_regression_model_evaluations_regression_model_model_name_or_id_evaluation_get.py +0 -161
  103. orca_sdk/_generated_api_client/api/regression_model/list_regression_models_regression_model_get.py +0 -127
  104. orca_sdk/_generated_api_client/api/regression_model/predict_score_gpu_regression_model_name_or_id_prediction_post.py +0 -190
  105. orca_sdk/_generated_api_client/api/regression_model/update_regression_model_regression_model_name_or_id_patch.py +0 -183
  106. orca_sdk/_generated_api_client/api/task/__init__.py +0 -0
  107. orca_sdk/_generated_api_client/api/task/abort_task_task_task_id_abort_delete.py +0 -154
  108. orca_sdk/_generated_api_client/api/task/get_task_status_task_task_id_status_get.py +0 -156
  109. orca_sdk/_generated_api_client/api/task/get_task_task_task_id_get.py +0 -156
  110. orca_sdk/_generated_api_client/api/task/list_tasks_task_get.py +0 -288
  111. orca_sdk/_generated_api_client/api/telemetry/__init__.py +0 -0
  112. orca_sdk/_generated_api_client/api/telemetry/count_predictions_telemetry_prediction_count_post.py +0 -168
  113. orca_sdk/_generated_api_client/api/telemetry/drop_feedback_category_with_data_telemetry_feedback_category_name_or_id_delete.py +0 -162
  114. orca_sdk/_generated_api_client/api/telemetry/explain_prediction_telemetry_prediction_prediction_id_explanation_get.py +0 -182
  115. orca_sdk/_generated_api_client/api/telemetry/generate_memory_suggestions_telemetry_prediction_prediction_id_memory_suggestions_post.py +0 -239
  116. orca_sdk/_generated_api_client/api/telemetry/get_action_recommendation_telemetry_prediction_prediction_id_action_get.py +0 -192
  117. orca_sdk/_generated_api_client/api/telemetry/get_feedback_category_telemetry_feedback_category_name_or_id_get.py +0 -156
  118. orca_sdk/_generated_api_client/api/telemetry/get_prediction_telemetry_prediction_prediction_id_get.py +0 -180
  119. orca_sdk/_generated_api_client/api/telemetry/list_feedback_categories_telemetry_feedback_category_get.py +0 -127
  120. orca_sdk/_generated_api_client/api/telemetry/list_memories_with_feedback_telemetry_memories_post.py +0 -198
  121. orca_sdk/_generated_api_client/api/telemetry/list_predictions_telemetry_prediction_post.py +0 -198
  122. orca_sdk/_generated_api_client/api/telemetry/record_prediction_feedback_telemetry_prediction_feedback_put.py +0 -171
  123. orca_sdk/_generated_api_client/api/telemetry/update_prediction_telemetry_prediction_prediction_id_patch.py +0 -181
  124. orca_sdk/_generated_api_client/client.py +0 -216
  125. orca_sdk/_generated_api_client/errors.py +0 -38
  126. orca_sdk/_generated_api_client/models/__init__.py +0 -345
  127. orca_sdk/_generated_api_client/models/action_recommendation.py +0 -82
  128. orca_sdk/_generated_api_client/models/action_recommendation_action.py +0 -11
  129. orca_sdk/_generated_api_client/models/add_memory_recommendations.py +0 -85
  130. orca_sdk/_generated_api_client/models/add_memory_suggestion.py +0 -79
  131. orca_sdk/_generated_api_client/models/analyze_neighbor_labels_result.py +0 -116
  132. orca_sdk/_generated_api_client/models/api_key_metadata.py +0 -137
  133. orca_sdk/_generated_api_client/models/api_key_metadata_scope_item.py +0 -9
  134. orca_sdk/_generated_api_client/models/base_label_prediction_result.py +0 -130
  135. orca_sdk/_generated_api_client/models/base_model.py +0 -55
  136. orca_sdk/_generated_api_client/models/base_score_prediction_result.py +0 -108
  137. orca_sdk/_generated_api_client/models/body_create_datasource_from_files_datasource_upload_post.py +0 -145
  138. orca_sdk/_generated_api_client/models/cascade_edit_suggestions_request.py +0 -154
  139. orca_sdk/_generated_api_client/models/cascading_edit_suggestion.py +0 -92
  140. orca_sdk/_generated_api_client/models/class_representatives.py +0 -92
  141. orca_sdk/_generated_api_client/models/classification_evaluation_request.py +0 -148
  142. orca_sdk/_generated_api_client/models/classification_metrics.py +0 -259
  143. orca_sdk/_generated_api_client/models/classification_model_metadata.py +0 -227
  144. orca_sdk/_generated_api_client/models/classification_prediction_request.py +0 -220
  145. orca_sdk/_generated_api_client/models/clone_memoryset_request.py +0 -210
  146. orca_sdk/_generated_api_client/models/cluster_metrics.py +0 -78
  147. orca_sdk/_generated_api_client/models/column_info.py +0 -145
  148. orca_sdk/_generated_api_client/models/column_type.py +0 -14
  149. orca_sdk/_generated_api_client/models/constraint_violation_error_response.py +0 -81
  150. orca_sdk/_generated_api_client/models/constraint_violation_error_response_status_code.py +0 -8
  151. orca_sdk/_generated_api_client/models/count_predictions_request.py +0 -195
  152. orca_sdk/_generated_api_client/models/create_api_key_request.py +0 -120
  153. orca_sdk/_generated_api_client/models/create_api_key_request_scope_item.py +0 -9
  154. orca_sdk/_generated_api_client/models/create_api_key_response.py +0 -145
  155. orca_sdk/_generated_api_client/models/create_api_key_response_scope_item.py +0 -9
  156. orca_sdk/_generated_api_client/models/create_classification_model_request.py +0 -237
  157. orca_sdk/_generated_api_client/models/create_datasource_from_content_request.py +0 -101
  158. orca_sdk/_generated_api_client/models/create_memoryset_request.py +0 -365
  159. orca_sdk/_generated_api_client/models/create_memoryset_request_index_params.py +0 -66
  160. orca_sdk/_generated_api_client/models/create_memoryset_request_index_type.py +0 -13
  161. orca_sdk/_generated_api_client/models/create_org_plan_request.py +0 -73
  162. orca_sdk/_generated_api_client/models/create_org_plan_request_tier.py +0 -11
  163. orca_sdk/_generated_api_client/models/create_regression_model_request.py +0 -157
  164. orca_sdk/_generated_api_client/models/datasource_metadata.py +0 -156
  165. orca_sdk/_generated_api_client/models/delete_memories_request.py +0 -70
  166. orca_sdk/_generated_api_client/models/delete_memorysets_request.py +0 -70
  167. orca_sdk/_generated_api_client/models/embed_request.py +0 -155
  168. orca_sdk/_generated_api_client/models/embedding_evaluation_payload.py +0 -205
  169. orca_sdk/_generated_api_client/models/embedding_evaluation_request.py +0 -197
  170. orca_sdk/_generated_api_client/models/embedding_evaluation_response.py +0 -158
  171. orca_sdk/_generated_api_client/models/embedding_evaluation_result.py +0 -86
  172. orca_sdk/_generated_api_client/models/embedding_finetuning_method.py +0 -9
  173. orca_sdk/_generated_api_client/models/embedding_model_result.py +0 -123
  174. orca_sdk/_generated_api_client/models/evaluation_response.py +0 -153
  175. orca_sdk/_generated_api_client/models/evaluation_response_classification_metrics.py +0 -140
  176. orca_sdk/_generated_api_client/models/evaluation_response_regression_metrics.py +0 -140
  177. orca_sdk/_generated_api_client/models/feedback_metrics.py +0 -85
  178. orca_sdk/_generated_api_client/models/feedback_type.py +0 -9
  179. orca_sdk/_generated_api_client/models/filter_item.py +0 -239
  180. orca_sdk/_generated_api_client/models/filter_item_field_type_0_item.py +0 -17
  181. orca_sdk/_generated_api_client/models/filter_item_field_type_1_item_type_0.py +0 -8
  182. orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_0.py +0 -8
  183. orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_1.py +0 -22
  184. orca_sdk/_generated_api_client/models/filter_item_op.py +0 -16
  185. orca_sdk/_generated_api_client/models/finetune_embedding_model_request.py +0 -259
  186. orca_sdk/_generated_api_client/models/finetune_embedding_model_request_training_args.py +0 -66
  187. orca_sdk/_generated_api_client/models/finetuned_embedding_model_metadata.py +0 -166
  188. orca_sdk/_generated_api_client/models/get_memories_request.py +0 -70
  189. orca_sdk/_generated_api_client/models/http_validation_error.py +0 -86
  190. orca_sdk/_generated_api_client/models/internal_server_error_response.py +0 -81
  191. orca_sdk/_generated_api_client/models/internal_server_error_response_status_code.py +0 -8
  192. orca_sdk/_generated_api_client/models/label_class_metrics.py +0 -108
  193. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup.py +0 -210
  194. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup_metadata.py +0 -68
  195. orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py +0 -288
  196. orca_sdk/_generated_api_client/models/labeled_memory.py +0 -186
  197. orca_sdk/_generated_api_client/models/labeled_memory_insert.py +0 -128
  198. orca_sdk/_generated_api_client/models/labeled_memory_insert_metadata.py +0 -68
  199. orca_sdk/_generated_api_client/models/labeled_memory_lookup.py +0 -194
  200. orca_sdk/_generated_api_client/models/labeled_memory_lookup_metadata.py +0 -68
  201. orca_sdk/_generated_api_client/models/labeled_memory_metadata.py +0 -68
  202. orca_sdk/_generated_api_client/models/labeled_memory_update.py +0 -171
  203. orca_sdk/_generated_api_client/models/labeled_memory_update_metadata_type_0.py +0 -68
  204. orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics.py +0 -207
  205. orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_feedback_metrics.py +0 -68
  206. orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_metadata.py +0 -68
  207. orca_sdk/_generated_api_client/models/list_memories_request.py +0 -104
  208. orca_sdk/_generated_api_client/models/list_predictions_request.py +0 -319
  209. orca_sdk/_generated_api_client/models/lookup_request.py +0 -101
  210. orca_sdk/_generated_api_client/models/lookup_score_metrics.py +0 -94
  211. orca_sdk/_generated_api_client/models/memory_metrics.py +0 -263
  212. orca_sdk/_generated_api_client/models/memory_type.py +0 -9
  213. orca_sdk/_generated_api_client/models/memoryset_analysis_configs.py +0 -245
  214. orca_sdk/_generated_api_client/models/memoryset_analysis_request.py +0 -105
  215. orca_sdk/_generated_api_client/models/memoryset_analysis_response.py +0 -182
  216. orca_sdk/_generated_api_client/models/memoryset_class_patterns_analysis_config.py +0 -79
  217. orca_sdk/_generated_api_client/models/memoryset_class_patterns_metrics.py +0 -138
  218. orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config.py +0 -202
  219. orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_clustering_method.py +0 -9
  220. orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_partitioning_method.py +0 -10
  221. orca_sdk/_generated_api_client/models/memoryset_cluster_metrics.py +0 -100
  222. orca_sdk/_generated_api_client/models/memoryset_duplicate_analysis_config.py +0 -70
  223. orca_sdk/_generated_api_client/models/memoryset_duplicate_metrics.py +0 -70
  224. orca_sdk/_generated_api_client/models/memoryset_label_analysis_config.py +0 -70
  225. orca_sdk/_generated_api_client/models/memoryset_label_metrics.py +0 -116
  226. orca_sdk/_generated_api_client/models/memoryset_metadata.py +0 -333
  227. orca_sdk/_generated_api_client/models/memoryset_metadata_index_params.py +0 -55
  228. orca_sdk/_generated_api_client/models/memoryset_metadata_index_type.py +0 -13
  229. orca_sdk/_generated_api_client/models/memoryset_metrics.py +0 -265
  230. orca_sdk/_generated_api_client/models/memoryset_neighbor_analysis_config.py +0 -83
  231. orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics.py +0 -76
  232. orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics_lookup_score_metrics.py +0 -68
  233. orca_sdk/_generated_api_client/models/memoryset_projection_analysis_config.py +0 -79
  234. orca_sdk/_generated_api_client/models/memoryset_projection_metrics.py +0 -55
  235. orca_sdk/_generated_api_client/models/memoryset_update.py +0 -121
  236. orca_sdk/_generated_api_client/models/not_found_error_response.py +0 -99
  237. orca_sdk/_generated_api_client/models/not_found_error_response_resource_type_0.py +0 -23
  238. orca_sdk/_generated_api_client/models/not_found_error_response_status_code.py +0 -8
  239. orca_sdk/_generated_api_client/models/org_plan.py +0 -99
  240. orca_sdk/_generated_api_client/models/org_plan_tier.py +0 -11
  241. orca_sdk/_generated_api_client/models/paginated_task.py +0 -108
  242. orca_sdk/_generated_api_client/models/paginated_union_labeled_memory_with_feedback_metrics_scored_memory_with_feedback_metrics.py +0 -135
  243. orca_sdk/_generated_api_client/models/pr_curve.py +0 -86
  244. orca_sdk/_generated_api_client/models/prediction_feedback.py +0 -157
  245. orca_sdk/_generated_api_client/models/prediction_feedback_category.py +0 -115
  246. orca_sdk/_generated_api_client/models/prediction_feedback_request.py +0 -122
  247. orca_sdk/_generated_api_client/models/prediction_feedback_result.py +0 -102
  248. orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_0.py +0 -10
  249. orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_1.py +0 -9
  250. orca_sdk/_generated_api_client/models/predictive_model_update.py +0 -111
  251. orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py +0 -115
  252. orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py +0 -17
  253. orca_sdk/_generated_api_client/models/rac_head_type.py +0 -11
  254. orca_sdk/_generated_api_client/models/rar_head_type.py +0 -8
  255. orca_sdk/_generated_api_client/models/regression_evaluation_request.py +0 -148
  256. orca_sdk/_generated_api_client/models/regression_metrics.py +0 -172
  257. orca_sdk/_generated_api_client/models/regression_model_metadata.py +0 -191
  258. orca_sdk/_generated_api_client/models/regression_prediction_request.py +0 -195
  259. orca_sdk/_generated_api_client/models/roc_curve.py +0 -86
  260. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup.py +0 -196
  261. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup_metadata.py +0 -68
  262. orca_sdk/_generated_api_client/models/score_prediction_with_memories_and_feedback.py +0 -252
  263. orca_sdk/_generated_api_client/models/scored_memory.py +0 -172
  264. orca_sdk/_generated_api_client/models/scored_memory_insert.py +0 -128
  265. orca_sdk/_generated_api_client/models/scored_memory_insert_metadata.py +0 -68
  266. orca_sdk/_generated_api_client/models/scored_memory_lookup.py +0 -180
  267. orca_sdk/_generated_api_client/models/scored_memory_lookup_metadata.py +0 -68
  268. orca_sdk/_generated_api_client/models/scored_memory_metadata.py +0 -68
  269. orca_sdk/_generated_api_client/models/scored_memory_update.py +0 -171
  270. orca_sdk/_generated_api_client/models/scored_memory_update_metadata_type_0.py +0 -68
  271. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics.py +0 -193
  272. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_feedback_metrics.py +0 -68
  273. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_metadata.py +0 -68
  274. orca_sdk/_generated_api_client/models/service_unavailable_error_response.py +0 -81
  275. orca_sdk/_generated_api_client/models/service_unavailable_error_response_status_code.py +0 -8
  276. orca_sdk/_generated_api_client/models/task.py +0 -198
  277. orca_sdk/_generated_api_client/models/task_status.py +0 -14
  278. orca_sdk/_generated_api_client/models/task_status_info.py +0 -133
  279. orca_sdk/_generated_api_client/models/telemetry_field_type_0_item_type_0.py +0 -8
  280. orca_sdk/_generated_api_client/models/telemetry_field_type_0_item_type_2.py +0 -9
  281. orca_sdk/_generated_api_client/models/telemetry_field_type_1_item_type_0.py +0 -8
  282. orca_sdk/_generated_api_client/models/telemetry_field_type_1_item_type_1.py +0 -8
  283. orca_sdk/_generated_api_client/models/telemetry_filter_item.py +0 -217
  284. orca_sdk/_generated_api_client/models/telemetry_filter_item_op.py +0 -15
  285. orca_sdk/_generated_api_client/models/telemetry_memories_request.py +0 -181
  286. orca_sdk/_generated_api_client/models/telemetry_sort_options.py +0 -185
  287. orca_sdk/_generated_api_client/models/telemetry_sort_options_direction.py +0 -9
  288. orca_sdk/_generated_api_client/models/unauthenticated_error_response.py +0 -73
  289. orca_sdk/_generated_api_client/models/unauthenticated_error_response_status_code.py +0 -8
  290. orca_sdk/_generated_api_client/models/unauthorized_error_response.py +0 -81
  291. orca_sdk/_generated_api_client/models/unauthorized_error_response_status_code.py +0 -8
  292. orca_sdk/_generated_api_client/models/update_org_plan_request.py +0 -73
  293. orca_sdk/_generated_api_client/models/update_org_plan_request_tier.py +0 -11
  294. orca_sdk/_generated_api_client/models/update_prediction_request.py +0 -133
  295. orca_sdk/_generated_api_client/models/validation_error.py +0 -99
  296. orca_sdk/_generated_api_client/py.typed +0 -1
  297. orca_sdk/_generated_api_client/types.py +0 -56
  298. orca_sdk-0.0.97.dist-info/RECORD +0 -309
  299. {orca_sdk-0.0.97.dist-info → orca_sdk-0.0.100.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]