orca-sdk 0.0.86__tar.gz → 0.0.88__tar.gz

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 (215) hide show
  1. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/PKG-INFO +3 -1
  2. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/__init__.py +4 -0
  3. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/insert_memories_gpu_memoryset_name_or_id_memory_post.py +13 -12
  4. orca_sdk-0.0.88/orca_sdk/_generated_api_client/api/memoryset/potential_duplicate_groups_memoryset_name_or_id_potential_duplicate_groups_get.py +166 -0
  5. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py +14 -0
  6. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/update_prediction_request.py +20 -0
  7. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/auth.py +4 -1
  8. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/classification_model.py +1 -0
  9. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/memoryset.py +6 -0
  10. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/memoryset_test.py +24 -0
  11. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/telemetry.py +2 -0
  12. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/pyproject.toml +4 -2
  13. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/README.md +0 -0
  14. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/__init__.py +0 -0
  15. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/__init__.py +0 -0
  16. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/auth/__init__.py +0 -0
  17. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/auth/check_authentication_auth_get.py +0 -0
  18. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/auth/create_api_key_auth_api_key_post.py +0 -0
  19. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/auth/delete_api_key_auth_api_key_name_or_id_delete.py +0 -0
  20. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/auth/delete_org_auth_org_delete.py +0 -0
  21. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/auth/list_api_keys_auth_api_key_get.py +0 -0
  22. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/__init__.py +0 -0
  23. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/create_evaluation_classification_model_model_name_or_id_evaluation_post.py +0 -0
  24. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/create_model_classification_model_post.py +0 -0
  25. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/delete_evaluation_classification_model_model_name_or_id_evaluation_task_id_delete.py +0 -0
  26. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/delete_model_classification_model_name_or_id_delete.py +0 -0
  27. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/get_evaluation_classification_model_model_name_or_id_evaluation_task_id_get.py +0 -0
  28. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/get_model_classification_model_name_or_id_get.py +0 -0
  29. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/list_evaluations_classification_model_model_name_or_id_evaluation_get.py +0 -0
  30. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/list_models_classification_model_get.py +0 -0
  31. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/classification_model/predict_gpu_classification_model_name_or_id_prediction_post.py +0 -0
  32. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/datasource/__init__.py +0 -0
  33. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/datasource/create_datasource_datasource_post.py +0 -0
  34. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/datasource/create_embedding_evaluation_datasource_name_or_id_embedding_evaluation_post.py +0 -0
  35. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/datasource/delete_datasource_datasource_name_or_id_delete.py +0 -0
  36. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/datasource/get_datasource_datasource_name_or_id_get.py +0 -0
  37. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/datasource/get_embedding_evaluation_datasource_name_or_id_embedding_evaluation_task_id_get.py +0 -0
  38. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/datasource/list_datasources_datasource_get.py +0 -0
  39. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/datasource/list_embedding_evaluations_datasource_name_or_id_embedding_evaluation_get.py +0 -0
  40. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/default/__init__.py +0 -0
  41. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/default/healthcheck_get.py +0 -0
  42. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/default/healthcheck_gpu_get.py +0 -0
  43. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/finetuned_embedding_model/__init__.py +0 -0
  44. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/finetuned_embedding_model/create_finetuned_embedding_model_finetuned_embedding_model_post.py +0 -0
  45. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/finetuned_embedding_model/delete_finetuned_embedding_model_finetuned_embedding_model_name_or_id_delete.py +0 -0
  46. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/finetuned_embedding_model/embed_with_finetuned_model_gpu_finetuned_embedding_model_name_or_id_embedding_post.py +0 -0
  47. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/finetuned_embedding_model/get_finetuned_embedding_model_finetuned_embedding_model_name_or_id_get.py +0 -0
  48. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/finetuned_embedding_model/list_finetuned_embedding_models_finetuned_embedding_model_get.py +0 -0
  49. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/__init__.py +0 -0
  50. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/analyze_memoryset_memoryset_name_or_id_analysis_post.py +0 -0
  51. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py +0 -0
  52. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py +0 -0
  53. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/delete_memories_memoryset_name_or_id_memories_delete_post.py +0 -0
  54. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/delete_memory_memoryset_name_or_id_memory_memory_id_delete.py +0 -0
  55. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/delete_memoryset_memoryset_name_or_id_delete.py +0 -0
  56. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/get_analysis_memoryset_name_or_id_analysis_analysis_task_id_get.py +0 -0
  57. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/get_memories_memoryset_name_or_id_memories_get_post.py +0 -0
  58. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/get_memory_memoryset_name_or_id_memory_memory_id_get.py +0 -0
  59. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/get_memoryset_memoryset_name_or_id_get.py +0 -0
  60. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/list_analyses_memoryset_name_or_id_analysis_get.py +0 -0
  61. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/list_memorysets_memoryset_get.py +0 -0
  62. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/memoryset_lookup_gpu_memoryset_name_or_id_lookup_post.py +0 -0
  63. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py +0 -0
  64. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py +0 -0
  65. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py +0 -0
  66. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/pretrained_embedding_model/__init__.py +0 -0
  67. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/pretrained_embedding_model/embed_with_pretrained_model_gpu_pretrained_embedding_model_model_name_embedding_post.py +0 -0
  68. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/pretrained_embedding_model/get_pretrained_embedding_model_pretrained_embedding_model_model_name_get.py +0 -0
  69. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/pretrained_embedding_model/list_pretrained_embedding_models_pretrained_embedding_model_get.py +0 -0
  70. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/task/__init__.py +0 -0
  71. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/task/abort_task_task_task_id_abort_delete.py +0 -0
  72. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/task/get_task_status_task_task_id_status_get.py +0 -0
  73. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/task/list_tasks_task_get.py +0 -0
  74. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/__init__.py +0 -0
  75. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/count_predictions_telemetry_prediction_count_post.py +0 -0
  76. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/drop_feedback_category_with_data_telemetry_feedback_category_name_or_id_delete.py +0 -0
  77. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/explain_prediction_telemetry_prediction_prediction_id_explanation_get.py +0 -0
  78. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/get_feedback_category_telemetry_feedback_category_name_or_id_get.py +0 -0
  79. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/get_prediction_telemetry_prediction_prediction_id_get.py +0 -0
  80. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/list_feedback_categories_telemetry_feedback_category_get.py +0 -0
  81. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/list_memories_with_feedback_telemetry_memories_post.py +0 -0
  82. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/list_predictions_telemetry_prediction_post.py +0 -0
  83. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/record_prediction_feedback_telemetry_prediction_feedback_put.py +0 -0
  84. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/api/telemetry/update_prediction_telemetry_prediction_prediction_id_patch.py +0 -0
  85. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/client.py +0 -0
  86. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/errors.py +0 -0
  87. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/__init__.py +0 -0
  88. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/analyze_neighbor_labels_result.py +0 -0
  89. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/api_key_metadata.py +0 -0
  90. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/api_key_metadata_scope_item.py +0 -0
  91. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/base_model.py +0 -0
  92. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/body_create_datasource_datasource_post.py +0 -0
  93. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/classification_evaluation_result.py +0 -0
  94. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/clone_labeled_memoryset_request.py +0 -0
  95. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/cluster_metrics.py +0 -0
  96. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/column_info.py +0 -0
  97. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/column_type.py +0 -0
  98. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/constraint_violation_error_response.py +0 -0
  99. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/create_api_key_request.py +0 -0
  100. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/create_api_key_request_scope_item.py +0 -0
  101. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/create_api_key_response.py +0 -0
  102. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/create_api_key_response_scope_item.py +0 -0
  103. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/create_labeled_memoryset_request.py +0 -0
  104. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/create_rac_model_request.py +0 -0
  105. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/datasource_metadata.py +0 -0
  106. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/delete_memories_request.py +0 -0
  107. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/embed_request.py +0 -0
  108. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/embedding_evaluation_request.py +0 -0
  109. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/embedding_evaluation_response.py +0 -0
  110. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/embedding_evaluation_result.py +0 -0
  111. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/embedding_finetuning_method.py +0 -0
  112. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/embedding_model_result.py +0 -0
  113. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/evaluation_request.py +0 -0
  114. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/evaluation_response.py +0 -0
  115. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/feedback_metrics.py +0 -0
  116. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/feedback_type.py +0 -0
  117. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/filter_item.py +0 -0
  118. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/filter_item_field_type_0_item.py +0 -0
  119. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_1.py +0 -0
  120. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/filter_item_op.py +0 -0
  121. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/finetune_embedding_model_request.py +0 -0
  122. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/finetune_embedding_model_request_training_args.py +0 -0
  123. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/finetuned_embedding_model_metadata.py +0 -0
  124. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/get_memories_request.py +0 -0
  125. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/internal_server_error_response.py +0 -0
  126. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/label_class_metrics.py +0 -0
  127. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/label_prediction_memory_lookup.py +0 -0
  128. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/label_prediction_memory_lookup_metadata.py +0 -0
  129. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/label_prediction_result.py +0 -0
  130. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory.py +0 -0
  131. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_insert.py +0 -0
  132. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_insert_metadata.py +0 -0
  133. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_lookup.py +0 -0
  134. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_lookup_metadata.py +0 -0
  135. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_metadata.py +0 -0
  136. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_metrics.py +0 -0
  137. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_update.py +0 -0
  138. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_update_metadata_type_0.py +0 -0
  139. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics.py +0 -0
  140. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_feedback_metrics.py +0 -0
  141. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_metadata.py +0 -0
  142. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/labeled_memoryset_metadata.py +0 -0
  143. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/list_memories_request.py +0 -0
  144. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/list_predictions_request.py +0 -0
  145. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/lookup_request.py +0 -0
  146. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/lookup_score_metrics.py +0 -0
  147. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memory_metrics.py +0 -0
  148. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_analysis_configs.py +0 -0
  149. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_analysis_request.py +0 -0
  150. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_analysis_response.py +0 -0
  151. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config.py +0 -0
  152. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_clustering_method.py +0 -0
  153. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_partitioning_method.py +0 -0
  154. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_cluster_metrics.py +0 -0
  155. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_duplicate_analysis_config.py +0 -0
  156. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_duplicate_metrics.py +0 -0
  157. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_label_analysis_config.py +0 -0
  158. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_label_metrics.py +0 -0
  159. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_metrics.py +0 -0
  160. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_neighbor_analysis_config.py +0 -0
  161. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics.py +0 -0
  162. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics_lookup_score_metrics.py +0 -0
  163. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_projection_analysis_config.py +0 -0
  164. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/memoryset_projection_metrics.py +0 -0
  165. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/not_found_error_response.py +0 -0
  166. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/not_found_error_response_resource_type_0.py +0 -0
  167. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/paginated_labeled_memory_with_feedback_metrics.py +0 -0
  168. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/precision_recall_curve.py +0 -0
  169. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/prediction_feedback.py +0 -0
  170. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/prediction_feedback_category.py +0 -0
  171. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/prediction_feedback_request.py +0 -0
  172. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/prediction_feedback_result.py +0 -0
  173. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/prediction_request.py +0 -0
  174. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_0.py +0 -0
  175. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_1.py +0 -0
  176. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py +0 -0
  177. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py +0 -0
  178. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/rac_head_type.py +0 -0
  179. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/rac_model_metadata.py +0 -0
  180. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/roc_curve.py +0 -0
  181. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/service_unavailable_error_response.py +0 -0
  182. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/task.py +0 -0
  183. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/task_status.py +0 -0
  184. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/task_status_info.py +0 -0
  185. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/telemetry_field_type_0_item_type_2.py +0 -0
  186. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/telemetry_filter_item.py +0 -0
  187. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/telemetry_filter_item_op.py +0 -0
  188. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/telemetry_memories_request.py +0 -0
  189. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/telemetry_sort_options.py +0 -0
  190. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/telemetry_sort_options_direction.py +0 -0
  191. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/unauthenticated_error_response.py +0 -0
  192. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/models/unauthorized_error_response.py +0 -0
  193. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/py.typed +0 -0
  194. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_generated_api_client/types.py +0 -0
  195. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/__init__.py +0 -0
  196. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/analysis_ui.py +0 -0
  197. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/analysis_ui_style.css +0 -0
  198. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/auth_test.py +0 -0
  199. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/common.py +0 -0
  200. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/data_parsing.py +0 -0
  201. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/data_parsing_test.py +0 -0
  202. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/prediction_result_ui.css +0 -0
  203. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/prediction_result_ui.py +0 -0
  204. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/task.py +0 -0
  205. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/value_parser.py +0 -0
  206. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/_utils/value_parser_test.py +0 -0
  207. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/classification_model_test.py +0 -0
  208. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/conftest.py +0 -0
  209. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/credentials.py +0 -0
  210. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/credentials_test.py +0 -0
  211. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/datasource.py +0 -0
  212. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/datasource_test.py +0 -0
  213. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/embedding_model.py +0 -0
  214. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/embedding_model_test.py +0 -0
  215. {orca_sdk-0.0.86 → orca_sdk-0.0.88}/orca_sdk/telemetry_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: orca_sdk
3
- Version: 0.0.86
3
+ Version: 0.0.88
4
4
  Summary: SDK for interacting with Orca Services
5
5
  License: Apache-2.0
6
6
  Author: Orca DB Inc.
@@ -15,9 +15,11 @@ Requires-Dist: attrs (>=22.2.0)
15
15
  Requires-Dist: datasets (>=3.1.0,<4.0.0)
16
16
  Requires-Dist: gradio (==5.13.0)
17
17
  Requires-Dist: httpx (>=0.20.0,<0.29.0)
18
+ Requires-Dist: networkx (>=3.4.2,<4.0.0)
18
19
  Requires-Dist: pandas (>=2.2.3,<3.0.0)
19
20
  Requires-Dist: pyarrow (>=18.0.0,<19.0.0)
20
21
  Requires-Dist: python-dateutil (>=2.8.0,<3.0.0)
22
+ Requires-Dist: python-dotenv (>=1.1.0,<2.0.0)
21
23
  Requires-Dist: torch (>=2.5.1,<3.0.0)
22
24
  Description-Content-Type: text/markdown
23
25
 
@@ -100,6 +100,9 @@ from .memoryset.list_memorysets_memoryset_get import sync as list_memorysets
100
100
  from .memoryset.memoryset_lookup_gpu_memoryset_name_or_id_lookup_post import (
101
101
  sync as memoryset_lookup_gpu,
102
102
  )
103
+ from .memoryset.potential_duplicate_groups_memoryset_name_or_id_potential_duplicate_groups_get import (
104
+ sync as potential_duplicate_groups,
105
+ )
103
106
  from .memoryset.query_memoryset_memoryset_name_or_id_memories_post import (
104
107
  sync as query_memoryset,
105
108
  )
@@ -208,6 +211,7 @@ __all__ = [
208
211
  "list_pretrained_embedding_models",
209
212
  "list_tasks",
210
213
  "memoryset_lookup_gpu",
214
+ "potential_duplicate_groups",
211
215
  "predict_gpu",
212
216
  "query_memoryset",
213
217
  "record_prediction_feedback",
@@ -11,7 +11,7 @@ The main changes are:
11
11
  """
12
12
 
13
13
  from http import HTTPStatus
14
- from typing import Any, Dict, List
14
+ from typing import Any, Dict, List, cast
15
15
 
16
16
  import httpx
17
17
 
@@ -45,9 +45,10 @@ def _get_kwargs(
45
45
  return _kwargs
46
46
 
47
47
 
48
- def _parse_response(*, response: httpx.Response) -> None:
48
+ def _parse_response(*, response: httpx.Response) -> List[str]:
49
49
  if response.status_code == 201:
50
- response_201 = response.json()
50
+ response_201 = cast(List[str], response.json())
51
+
51
52
  return response_201
52
53
  if response.status_code == 401:
53
54
  raise get_error_for_response(response)
@@ -61,7 +62,7 @@ def _parse_response(*, response: httpx.Response) -> None:
61
62
  raise get_error_for_response(response)
62
63
 
63
64
 
64
- def _build_response(*, response: httpx.Response) -> Response[None]:
65
+ def _build_response(*, response: httpx.Response) -> Response[List[str]]:
65
66
  return Response(
66
67
  status_code=HTTPStatus(response.status_code),
67
68
  content=response.content,
@@ -74,7 +75,7 @@ def sync_detailed(
74
75
  name_or_id: str,
75
76
  *,
76
77
  body: List["LabeledMemoryInsert"],
77
- ) -> Response[None]:
78
+ ) -> Response[List[str]]:
78
79
  """Insert Memories
79
80
 
80
81
  Args:
@@ -86,7 +87,7 @@ def sync_detailed(
86
87
  httpx.TimeoutException: If the request takes longer than Client.timeout.
87
88
 
88
89
  Returns:
89
- Response[None]
90
+ Response[List[str]]
90
91
  """
91
92
 
92
93
  kwargs = _get_kwargs(
@@ -106,7 +107,7 @@ def sync(
106
107
  name_or_id: str,
107
108
  *,
108
109
  body: List["LabeledMemoryInsert"],
109
- ) -> None:
110
+ ) -> List[str]:
110
111
  """Insert Memories
111
112
 
112
113
  Args:
@@ -118,7 +119,7 @@ def sync(
118
119
  httpx.TimeoutException: If the request takes longer than Client.timeout.
119
120
 
120
121
  Returns:
121
- None
122
+ List[str]
122
123
  """
123
124
 
124
125
  return sync_detailed(
@@ -131,7 +132,7 @@ async def asyncio_detailed(
131
132
  name_or_id: str,
132
133
  *,
133
134
  body: List["LabeledMemoryInsert"],
134
- ) -> Response[None]:
135
+ ) -> Response[List[str]]:
135
136
  """Insert Memories
136
137
 
137
138
  Args:
@@ -143,7 +144,7 @@ async def asyncio_detailed(
143
144
  httpx.TimeoutException: If the request takes longer than Client.timeout.
144
145
 
145
146
  Returns:
146
- Response[None]
147
+ Response[List[str]]
147
148
  """
148
149
 
149
150
  kwargs = _get_kwargs(
@@ -161,7 +162,7 @@ async def asyncio(
161
162
  name_or_id: str,
162
163
  *,
163
164
  body: List["LabeledMemoryInsert"],
164
- ) -> None:
165
+ ) -> List[str]:
165
166
  """Insert Memories
166
167
 
167
168
  Args:
@@ -173,7 +174,7 @@ async def asyncio(
173
174
  httpx.TimeoutException: If the request takes longer than Client.timeout.
174
175
 
175
176
  Returns:
176
- None
177
+ List[str]
177
178
  """
178
179
 
179
180
  return (
@@ -0,0 +1,166 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/endpoint_module.py.jinja
6
+
7
+ The main changes are:
8
+ - Update the API call responses to either return the successful response type or raise an error by:
9
+ - Updating the _parse_response function to raise an error if the response status code is not in the 2xx range
10
+ - Inject a client into every method via a context manager
11
+ """
12
+
13
+ from http import HTTPStatus
14
+ from typing import Any, List
15
+
16
+ import httpx
17
+
18
+ from ...client import _client_context
19
+ from ...errors import get_error_for_response
20
+ from ...models.labeled_memory import LabeledMemory
21
+ from ...types import Response
22
+
23
+
24
+ def _get_kwargs(
25
+ name_or_id: str,
26
+ ) -> dict[str, Any]:
27
+ _kwargs: dict[str, Any] = {
28
+ "method": "get",
29
+ "url": f"/memoryset/{name_or_id}/potential_duplicate_groups",
30
+ }
31
+
32
+ return _kwargs
33
+
34
+
35
+ def _parse_response(*, response: httpx.Response) -> List[List["LabeledMemory"]]:
36
+ if response.status_code == 200:
37
+ response_200 = []
38
+ _response_200 = response.json()
39
+ for response_200_item_data in _response_200:
40
+ response_200_item = []
41
+ _response_200_item = response_200_item_data
42
+ for response_200_item_item_data in _response_200_item:
43
+ response_200_item_item = LabeledMemory.from_dict(response_200_item_item_data)
44
+
45
+ response_200_item.append(response_200_item_item)
46
+
47
+ response_200.append(response_200_item)
48
+
49
+ return response_200
50
+ if response.status_code == 401:
51
+ raise get_error_for_response(response)
52
+ if response.status_code == 500:
53
+ raise get_error_for_response(response)
54
+ if response.status_code == 503:
55
+ raise get_error_for_response(response)
56
+ if response.status_code == 404:
57
+ raise get_error_for_response(response)
58
+ else:
59
+ raise get_error_for_response(response)
60
+
61
+
62
+ def _build_response(*, response: httpx.Response) -> Response[List[List["LabeledMemory"]]]:
63
+ return Response(
64
+ status_code=HTTPStatus(response.status_code),
65
+ content=response.content,
66
+ headers=response.headers,
67
+ parsed=_parse_response(response=response),
68
+ )
69
+
70
+
71
+ def sync_detailed(
72
+ name_or_id: str,
73
+ ) -> Response[List[List["LabeledMemory"]]]:
74
+ """Potential Duplicate Groups
75
+
76
+ Args:
77
+ name_or_id (str):
78
+
79
+ Raises:
80
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
81
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
82
+
83
+ Returns:
84
+ Response[List[List['LabeledMemory']]]
85
+ """
86
+
87
+ kwargs = _get_kwargs(
88
+ name_or_id=name_or_id,
89
+ )
90
+
91
+ with _client_context() as client:
92
+ response = client.get_httpx_client().request(
93
+ **kwargs,
94
+ )
95
+
96
+ return _build_response(response=response)
97
+
98
+
99
+ def sync(
100
+ name_or_id: str,
101
+ ) -> List[List["LabeledMemory"]]:
102
+ """Potential Duplicate Groups
103
+
104
+ Args:
105
+ name_or_id (str):
106
+
107
+ Raises:
108
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
109
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
110
+
111
+ Returns:
112
+ List[List['LabeledMemory']]
113
+ """
114
+
115
+ return sync_detailed(
116
+ name_or_id=name_or_id,
117
+ ).parsed
118
+
119
+
120
+ async def asyncio_detailed(
121
+ name_or_id: str,
122
+ ) -> Response[List[List["LabeledMemory"]]]:
123
+ """Potential Duplicate Groups
124
+
125
+ Args:
126
+ name_or_id (str):
127
+
128
+ Raises:
129
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
130
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
131
+
132
+ Returns:
133
+ Response[List[List['LabeledMemory']]]
134
+ """
135
+
136
+ kwargs = _get_kwargs(
137
+ name_or_id=name_or_id,
138
+ )
139
+
140
+ with _client_context() as client:
141
+ response = await client.get_async_httpx_client().request(**kwargs)
142
+
143
+ return _build_response(response=response)
144
+
145
+
146
+ async def asyncio(
147
+ name_or_id: str,
148
+ ) -> List[List["LabeledMemory"]]:
149
+ """Potential Duplicate Groups
150
+
151
+ Args:
152
+ name_or_id (str):
153
+
154
+ Raises:
155
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
156
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
157
+
158
+ Returns:
159
+ List[List['LabeledMemory']]
160
+ """
161
+
162
+ return (
163
+ await asyncio_detailed(
164
+ name_or_id=name_or_id,
165
+ )
166
+ ).parsed
@@ -47,6 +47,7 @@ class LabelPredictionWithMemoriesAndFeedback:
47
47
  updated_at (datetime.datetime):
48
48
  tags (List[str]):
49
49
  explanation (Union[None, str]):
50
+ memory_id (Union[None, str]):
50
51
  feedbacks (List['PredictionFeedback']):
51
52
  """
52
53
 
@@ -68,6 +69,7 @@ class LabelPredictionWithMemoriesAndFeedback:
68
69
  updated_at: datetime.datetime
69
70
  tags: List[str]
70
71
  explanation: Union[None, str]
72
+ memory_id: Union[None, str]
71
73
  feedbacks: List["PredictionFeedback"]
72
74
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
73
75
 
@@ -117,6 +119,9 @@ class LabelPredictionWithMemoriesAndFeedback:
117
119
  explanation: Union[None, str]
118
120
  explanation = self.explanation
119
121
 
122
+ memory_id: Union[None, str]
123
+ memory_id = self.memory_id
124
+
120
125
  feedbacks = []
121
126
  for feedbacks_item_data in self.feedbacks:
122
127
  feedbacks_item = feedbacks_item_data.to_dict()
@@ -144,6 +149,7 @@ class LabelPredictionWithMemoriesAndFeedback:
144
149
  "updated_at": updated_at,
145
150
  "tags": tags,
146
151
  "explanation": explanation,
152
+ "memory_id": memory_id,
147
153
  "feedbacks": feedbacks,
148
154
  }
149
155
  )
@@ -225,6 +231,13 @@ class LabelPredictionWithMemoriesAndFeedback:
225
231
 
226
232
  explanation = _parse_explanation(d.pop("explanation"))
227
233
 
234
+ def _parse_memory_id(data: object) -> Union[None, str]:
235
+ if data is None:
236
+ return data
237
+ return cast(Union[None, str], data)
238
+
239
+ memory_id = _parse_memory_id(d.pop("memory_id"))
240
+
228
241
  feedbacks = []
229
242
  _feedbacks = d.pop("feedbacks")
230
243
  for feedbacks_item_data in _feedbacks:
@@ -251,6 +264,7 @@ class LabelPredictionWithMemoriesAndFeedback:
251
264
  updated_at=updated_at,
252
265
  tags=tags,
253
266
  explanation=explanation,
267
+ memory_id=memory_id,
254
268
  feedbacks=feedbacks,
255
269
  )
256
270
 
@@ -26,10 +26,12 @@ class UpdatePredictionRequest:
26
26
  Attributes:
27
27
  expected_label (Union[None, Unset, int]):
28
28
  tags (Union[Unset, List[str]]):
29
+ memory_id (Union[None, Unset, str]):
29
30
  """
30
31
 
31
32
  expected_label: Union[None, Unset, int] = UNSET
32
33
  tags: Union[Unset, List[str]] = UNSET
34
+ memory_id: Union[None, Unset, str] = UNSET
33
35
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
34
36
 
35
37
  def to_dict(self) -> dict[str, Any]:
@@ -43,6 +45,12 @@ class UpdatePredictionRequest:
43
45
  if not isinstance(self.tags, Unset):
44
46
  tags = self.tags
45
47
 
48
+ memory_id: Union[None, Unset, str]
49
+ if isinstance(self.memory_id, Unset):
50
+ memory_id = UNSET
51
+ else:
52
+ memory_id = self.memory_id
53
+
46
54
  field_dict: dict[str, Any] = {}
47
55
  field_dict.update(self.additional_properties)
48
56
  field_dict.update({})
@@ -50,6 +58,8 @@ class UpdatePredictionRequest:
50
58
  field_dict["expected_label"] = expected_label
51
59
  if tags is not UNSET:
52
60
  field_dict["tags"] = tags
61
+ if memory_id is not UNSET:
62
+ field_dict["memory_id"] = memory_id
53
63
 
54
64
  return field_dict
55
65
 
@@ -68,9 +78,19 @@ class UpdatePredictionRequest:
68
78
 
69
79
  tags = cast(List[str], d.pop("tags", UNSET))
70
80
 
81
+ def _parse_memory_id(data: object) -> Union[None, Unset, str]:
82
+ if data is None:
83
+ return data
84
+ if isinstance(data, Unset):
85
+ return data
86
+ return cast(Union[None, Unset, str], data)
87
+
88
+ memory_id = _parse_memory_id(d.pop("memory_id", UNSET))
89
+
71
90
  update_prediction_request = cls(
72
91
  expected_label=expected_label,
73
92
  tags=tags,
93
+ memory_id=memory_id,
74
94
  )
75
95
 
76
96
  update_prediction_request.additional_properties = d
@@ -22,7 +22,10 @@ from .._generated_api_client.models.api_key_metadata import ApiKeyMetadata
22
22
  from .common import DropMode
23
23
 
24
24
  load_dotenv() # this needs to be here to ensure env is populated before accessing it
25
+
26
+ # the defaults here must match nautilus and lighthouse config defaults
25
27
  _ORCA_ROOT_ACCESS_API_KEY = os.environ.get("ORCA_ROOT_ACCESS_API_KEY", "00000000-0000-0000-0000-000000000000")
28
+ _DEFAULT_ORG_ID = os.environ.get("DEFAULT_ORG_ID", "10e50000-0000-4000-a000-a78dca14af3a")
26
29
 
27
30
 
28
31
  def _create_api_key(org_id: str, name: str, scopes: list[str] = ["ADMINISTER"]) -> str:
@@ -56,7 +59,7 @@ def _delete_org(org_id: str) -> None:
56
59
  delete_org()
57
60
 
58
61
 
59
- def _authenticate_local_api(org_id: str = "10e50000-0000-4000-a000-a78dca14af3a", api_key_name: str = "local") -> None:
62
+ def _authenticate_local_api(org_id: str = _DEFAULT_ORG_ID, api_key_name: str = "local") -> None:
60
63
  """Connect to the local API at http://localhost:1584/ and authenticate with a new API key"""
61
64
  set_base_url("http://localhost:1584/")
62
65
  _delete_api_key(org_id, api_key_name, if_not_exists="ignore")
@@ -306,6 +306,7 @@ class ClassificationModel:
306
306
  LabelPrediction({label: <negative: 0>, confidence: 0.05, anomaly_score: 0.1, input_value: 'I am sad'}),
307
307
  ]
308
308
  """
309
+
309
310
  response = predict_gpu(
310
311
  self.id,
311
312
  body=PredictionRequest(
@@ -27,6 +27,7 @@ from ._generated_api_client.api import (
27
27
  list_memories_with_feedback,
28
28
  list_memorysets,
29
29
  memoryset_lookup_gpu,
30
+ potential_duplicate_groups,
30
31
  query_memoryset,
31
32
  update_memories_gpu,
32
33
  update_memory_gpu,
@@ -1276,6 +1277,11 @@ class LabeledMemoryset:
1276
1277
 
1277
1278
  display_suggested_memory_relabels(self)
1278
1279
 
1280
+ def get_potential_duplicate_groups(self):
1281
+ """Group potential duplicates in the memoryset"""
1282
+ response = potential_duplicate_groups(self.name)
1283
+ return response
1284
+
1279
1285
  @staticmethod
1280
1286
  def run_embedding_evaluation(
1281
1287
  datasource: Datasource,
@@ -334,3 +334,27 @@ def test_embedding_evaluation(hf_dataset):
334
334
  assert response["evaluation_results"][0]["embedding_model_name"] == "CDE_SMALL"
335
335
  assert response["evaluation_results"][0]["embedding_model_path"] == "OrcaDB/cde-small-v1"
336
336
  Datasource.drop("eval_datasource")
337
+
338
+
339
+ @pytest.fixture(scope="function")
340
+ async def test_group_potential_duplicates(memoryset: LabeledMemoryset):
341
+ memoryset.insert(
342
+ [
343
+ dict(value="raspberry soup Is my favorite", label=0),
344
+ dict(value="Raspberry soup is MY favorite", label=0),
345
+ dict(value="rAspberry soup is my favorite", label=0),
346
+ dict(value="raSpberry SOuP is my favorite", label=0),
347
+ dict(value="rasPberry SOuP is my favorite", label=0),
348
+ dict(value="bunny rabbit Is not my mom", label=1),
349
+ dict(value="bunny rabbit is not MY mom", label=1),
350
+ dict(value="bunny rabbit Is not my moM", label=1),
351
+ dict(value="bunny rabbit is not my mom", label=1),
352
+ dict(value="bunny rabbit is not my mom", label=1),
353
+ dict(value="bunny rabbit is not My mom", label=1),
354
+ ]
355
+ )
356
+
357
+ memoryset.analyze({"name": "duplicate", "possible_duplicate_threshold": 0.97})
358
+ response = memoryset.get_potential_duplicate_groups()
359
+ assert isinstance(response, list)
360
+ assert sorted([len(res) for res in response]) == [5, 6] # 5 favorite, 6 mom
@@ -213,6 +213,8 @@ class LabelPrediction:
213
213
  url = f"/telemetry/prediction/{self.prediction_id}/explanation?refresh={refresh}"
214
214
  with httpx_client.stream("GET", url) as res:
215
215
  if res.status_code != 200:
216
+ # Read the response body before raising the error
217
+ res.read()
216
218
  raise get_error_for_response(res)
217
219
  for chunk in res.iter_text():
218
220
  yield chunk
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "orca_sdk"
3
- version = "0.0.86" # Will be set by CI before building the wheel from the git tag. Do not set manually.
3
+ version = "0.0.88" # Will be set by CI before building the wheel from the git tag. Do not set manually.
4
4
  description = "SDK for interacting with Orca Services"
5
5
  authors = ["Orca DB Inc. <dev-rel@orcadb.ai>"]
6
6
  license = "Apache-2.0"
@@ -17,6 +17,8 @@ pandas = "^2.2.3"
17
17
  pyarrow = "^18.0.0"
18
18
  torch = "^2.5.1"
19
19
  gradio = "5.13.0"
20
+ networkx = "^3.4.2"
21
+ python-dotenv = "^1.1.0"
20
22
 
21
23
  [tool.poetry.group.dev]
22
24
  optional = true
@@ -30,7 +32,6 @@ pytest-asyncio = "^0.25.3"
30
32
  pytest-timeout = "^2.3.1"
31
33
  pytest-cov = "^6.0.0"
32
34
  poethepoet = "^0.31.1"
33
- python-dotenv = "^1.0.1"
34
35
  pyright = "^1.1.399"
35
36
 
36
37
  # TODO: Use this once poetry 2.0.0 is released https://github.com/python-poetry/poetry/issues/9448
@@ -53,6 +54,7 @@ log_cli_format = "%(asctime)s [%(levelname)s] %(message)s"
53
54
  log_cli_date_format = "%Y-%m-%d %H:%M:%S"
54
55
  addopts = "--color=yes -s"
55
56
  filterwarnings = ["ignore::DeprecationWarning"]
57
+ asyncio_default_fixture_loop_scope = "session"
56
58
 
57
59
  [build-system]
58
60
  requires = ["poetry-core"]
File without changes