orca-sdk 0.0.96__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.
- orca_sdk/__init__.py +2 -5
- orca_sdk/_shared/__init__.py +1 -0
- orca_sdk/_shared/metrics.py +1 -1
- orca_sdk/_utils/analysis_ui.py +5 -5
- orca_sdk/_utils/auth.py +23 -33
- orca_sdk/_utils/pagination.py +126 -0
- orca_sdk/_utils/pagination_test.py +132 -0
- orca_sdk/classification_model.py +188 -126
- orca_sdk/classification_model_test.py +102 -0
- orca_sdk/client.py +3515 -0
- orca_sdk/conftest.py +10 -0
- orca_sdk/credentials.py +73 -21
- orca_sdk/credentials_test.py +20 -0
- orca_sdk/datasource.py +186 -81
- orca_sdk/datasource_test.py +194 -0
- orca_sdk/embedding_model.py +267 -75
- orca_sdk/embedding_model_test.py +32 -14
- orca_sdk/job.py +59 -54
- orca_sdk/job_test.py +50 -0
- orca_sdk/memoryset.py +372 -345
- orca_sdk/memoryset_test.py +7 -11
- orca_sdk/regression_model.py +120 -111
- orca_sdk/regression_model_test.py +15 -0
- orca_sdk/telemetry.py +229 -115
- {orca_sdk-0.0.96.dist-info → orca_sdk-0.0.98.dist-info}/METADATA +19 -5
- orca_sdk-0.0.98.dist-info/RECORD +40 -0
- orca_sdk/_generated_api_client/__init__.py +0 -3
- orca_sdk/_generated_api_client/api/__init__.py +0 -287
- orca_sdk/_generated_api_client/api/auth/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/auth/check_authentication_auth_get.py +0 -128
- orca_sdk/_generated_api_client/api/auth/create_api_key_auth_api_key_post.py +0 -170
- orca_sdk/_generated_api_client/api/auth/delete_api_key_auth_api_key_name_or_id_delete.py +0 -156
- orca_sdk/_generated_api_client/api/auth/delete_org_auth_org_delete.py +0 -130
- orca_sdk/_generated_api_client/api/auth/list_api_keys_auth_api_key_get.py +0 -127
- orca_sdk/_generated_api_client/api/classification_model/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/classification_model/create_classification_model_gpu_classification_model_post.py +0 -170
- orca_sdk/_generated_api_client/api/classification_model/delete_classification_model_classification_model_name_or_id_delete.py +0 -156
- 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
- orca_sdk/_generated_api_client/api/classification_model/evaluate_classification_model_classification_model_model_name_or_id_evaluation_post.py +0 -183
- orca_sdk/_generated_api_client/api/classification_model/get_classification_model_classification_model_name_or_id_get.py +0 -156
- 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
- orca_sdk/_generated_api_client/api/classification_model/list_classification_model_evaluations_classification_model_model_name_or_id_evaluation_get.py +0 -161
- orca_sdk/_generated_api_client/api/classification_model/list_classification_models_classification_model_get.py +0 -127
- orca_sdk/_generated_api_client/api/classification_model/predict_label_gpu_classification_model_name_or_id_prediction_post.py +0 -190
- orca_sdk/_generated_api_client/api/classification_model/update_classification_model_classification_model_name_or_id_patch.py +0 -183
- orca_sdk/_generated_api_client/api/datasource/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/datasource/create_datasource_datasource_post.py +0 -167
- orca_sdk/_generated_api_client/api/datasource/create_embedding_evaluation_datasource_name_or_id_embedding_evaluation_post.py +0 -183
- orca_sdk/_generated_api_client/api/datasource/delete_datasource_datasource_name_or_id_delete.py +0 -156
- orca_sdk/_generated_api_client/api/datasource/download_datasource_datasource_name_or_id_download_get.py +0 -172
- orca_sdk/_generated_api_client/api/datasource/get_datasource_datasource_name_or_id_get.py +0 -156
- orca_sdk/_generated_api_client/api/datasource/get_embedding_evaluation_datasource_name_or_id_embedding_evaluation_task_id_get.py +0 -169
- orca_sdk/_generated_api_client/api/datasource/list_datasources_datasource_get.py +0 -127
- orca_sdk/_generated_api_client/api/datasource/list_embedding_evaluations_datasource_name_or_id_embedding_evaluation_get.py +0 -235
- orca_sdk/_generated_api_client/api/default/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/default/healthcheck_get.py +0 -118
- orca_sdk/_generated_api_client/api/default/healthcheck_gpu_get.py +0 -118
- orca_sdk/_generated_api_client/api/finetuned_embedding_model/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/finetuned_embedding_model/create_finetuned_embedding_model_finetuned_embedding_model_post.py +0 -168
- orca_sdk/_generated_api_client/api/finetuned_embedding_model/delete_finetuned_embedding_model_finetuned_embedding_model_name_or_id_delete.py +0 -156
- 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
- orca_sdk/_generated_api_client/api/finetuned_embedding_model/get_finetuned_embedding_model_finetuned_embedding_model_name_or_id_get.py +0 -156
- orca_sdk/_generated_api_client/api/finetuned_embedding_model/list_finetuned_embedding_models_finetuned_embedding_model_get.py +0 -127
- orca_sdk/_generated_api_client/api/memoryset/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/memoryset/analyze_memoryset_memoryset_name_or_id_analysis_post.py +0 -183
- orca_sdk/_generated_api_client/api/memoryset/batch_delete_memoryset_batch_delete_memoryset_post.py +0 -168
- orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py +0 -181
- orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py +0 -168
- orca_sdk/_generated_api_client/api/memoryset/delete_memories_memoryset_name_or_id_memories_delete_post.py +0 -181
- orca_sdk/_generated_api_client/api/memoryset/delete_memory_memoryset_name_or_id_memory_memory_id_delete.py +0 -167
- orca_sdk/_generated_api_client/api/memoryset/delete_memoryset_memoryset_name_or_id_delete.py +0 -156
- orca_sdk/_generated_api_client/api/memoryset/get_analysis_memoryset_name_or_id_analysis_analysis_task_id_get.py +0 -169
- orca_sdk/_generated_api_client/api/memoryset/get_memories_memoryset_name_or_id_memories_get_post.py +0 -210
- orca_sdk/_generated_api_client/api/memoryset/get_memory_memoryset_name_or_id_memory_memory_id_get.py +0 -186
- orca_sdk/_generated_api_client/api/memoryset/get_memoryset_memoryset_name_or_id_get.py +0 -156
- orca_sdk/_generated_api_client/api/memoryset/insert_memories_gpu_memoryset_name_or_id_memory_post.py +0 -188
- orca_sdk/_generated_api_client/api/memoryset/list_analyses_memoryset_name_or_id_analysis_get.py +0 -235
- orca_sdk/_generated_api_client/api/memoryset/list_memorysets_memoryset_get.py +0 -180
- orca_sdk/_generated_api_client/api/memoryset/memoryset_lookup_gpu_memoryset_name_or_id_lookup_post.py +0 -212
- orca_sdk/_generated_api_client/api/memoryset/potential_duplicate_groups_memoryset_name_or_id_potential_duplicate_groups_get.py +0 -195
- orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py +0 -210
- orca_sdk/_generated_api_client/api/memoryset/suggest_cascading_edits_memoryset_name_or_id_memory_memory_id_cascading_edits_post.py +0 -233
- orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py +0 -216
- orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py +0 -205
- orca_sdk/_generated_api_client/api/memoryset/update_memoryset_memoryset_name_or_id_patch.py +0 -183
- orca_sdk/_generated_api_client/api/predictive_model/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/predictive_model/list_predictive_models_predictive_model_get.py +0 -150
- orca_sdk/_generated_api_client/api/pretrained_embedding_model/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/pretrained_embedding_model/embed_with_pretrained_model_gpu_pretrained_embedding_model_model_name_embedding_post.py +0 -192
- orca_sdk/_generated_api_client/api/pretrained_embedding_model/get_pretrained_embedding_model_pretrained_embedding_model_model_name_get.py +0 -161
- orca_sdk/_generated_api_client/api/pretrained_embedding_model/list_pretrained_embedding_models_pretrained_embedding_model_get.py +0 -127
- orca_sdk/_generated_api_client/api/regression_model/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/regression_model/create_regression_model_gpu_regression_model_post.py +0 -170
- 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
- orca_sdk/_generated_api_client/api/regression_model/delete_regression_model_regression_model_name_or_id_delete.py +0 -154
- orca_sdk/_generated_api_client/api/regression_model/evaluate_regression_model_regression_model_model_name_or_id_evaluation_post.py +0 -183
- 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
- orca_sdk/_generated_api_client/api/regression_model/get_regression_model_regression_model_name_or_id_get.py +0 -156
- orca_sdk/_generated_api_client/api/regression_model/list_regression_model_evaluations_regression_model_model_name_or_id_evaluation_get.py +0 -161
- orca_sdk/_generated_api_client/api/regression_model/list_regression_models_regression_model_get.py +0 -127
- orca_sdk/_generated_api_client/api/regression_model/predict_score_gpu_regression_model_name_or_id_prediction_post.py +0 -190
- orca_sdk/_generated_api_client/api/regression_model/update_regression_model_regression_model_name_or_id_patch.py +0 -183
- orca_sdk/_generated_api_client/api/task/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/task/abort_task_task_task_id_abort_delete.py +0 -154
- orca_sdk/_generated_api_client/api/task/get_task_status_task_task_id_status_get.py +0 -156
- orca_sdk/_generated_api_client/api/task/get_task_task_task_id_get.py +0 -156
- orca_sdk/_generated_api_client/api/task/list_tasks_task_get.py +0 -293
- orca_sdk/_generated_api_client/api/telemetry/__init__.py +0 -0
- orca_sdk/_generated_api_client/api/telemetry/count_predictions_telemetry_prediction_count_post.py +0 -168
- orca_sdk/_generated_api_client/api/telemetry/drop_feedback_category_with_data_telemetry_feedback_category_name_or_id_delete.py +0 -162
- orca_sdk/_generated_api_client/api/telemetry/explain_prediction_telemetry_prediction_prediction_id_explanation_get.py +0 -182
- orca_sdk/_generated_api_client/api/telemetry/get_feedback_category_telemetry_feedback_category_name_or_id_get.py +0 -156
- orca_sdk/_generated_api_client/api/telemetry/get_prediction_telemetry_prediction_prediction_id_get.py +0 -180
- orca_sdk/_generated_api_client/api/telemetry/list_feedback_categories_telemetry_feedback_category_get.py +0 -127
- orca_sdk/_generated_api_client/api/telemetry/list_memories_with_feedback_telemetry_memories_post.py +0 -198
- orca_sdk/_generated_api_client/api/telemetry/list_predictions_telemetry_prediction_post.py +0 -198
- orca_sdk/_generated_api_client/api/telemetry/record_prediction_feedback_telemetry_prediction_feedback_put.py +0 -171
- orca_sdk/_generated_api_client/api/telemetry/update_prediction_telemetry_prediction_prediction_id_patch.py +0 -181
- orca_sdk/_generated_api_client/client.py +0 -216
- orca_sdk/_generated_api_client/errors.py +0 -38
- orca_sdk/_generated_api_client/models/__init__.py +0 -295
- orca_sdk/_generated_api_client/models/analyze_neighbor_labels_result.py +0 -116
- orca_sdk/_generated_api_client/models/api_key_metadata.py +0 -137
- orca_sdk/_generated_api_client/models/api_key_metadata_scope_item.py +0 -9
- orca_sdk/_generated_api_client/models/base_label_prediction_result.py +0 -130
- orca_sdk/_generated_api_client/models/base_model.py +0 -55
- orca_sdk/_generated_api_client/models/base_score_prediction_result.py +0 -108
- orca_sdk/_generated_api_client/models/body_create_datasource_datasource_post.py +0 -207
- orca_sdk/_generated_api_client/models/cascade_edit_suggestions_request.py +0 -154
- orca_sdk/_generated_api_client/models/cascading_edit_suggestion.py +0 -92
- orca_sdk/_generated_api_client/models/classification_evaluation_request.py +0 -148
- orca_sdk/_generated_api_client/models/classification_metrics.py +0 -259
- orca_sdk/_generated_api_client/models/classification_model_metadata.py +0 -213
- orca_sdk/_generated_api_client/models/classification_prediction_request.py +0 -220
- orca_sdk/_generated_api_client/models/clone_memoryset_request.py +0 -170
- orca_sdk/_generated_api_client/models/cluster_metrics.py +0 -78
- orca_sdk/_generated_api_client/models/column_info.py +0 -145
- orca_sdk/_generated_api_client/models/column_type.py +0 -14
- orca_sdk/_generated_api_client/models/constraint_violation_error_response.py +0 -80
- orca_sdk/_generated_api_client/models/count_predictions_request.py +0 -195
- orca_sdk/_generated_api_client/models/create_api_key_request.py +0 -120
- orca_sdk/_generated_api_client/models/create_api_key_request_scope_item.py +0 -9
- orca_sdk/_generated_api_client/models/create_api_key_response.py +0 -145
- orca_sdk/_generated_api_client/models/create_api_key_response_scope_item.py +0 -9
- orca_sdk/_generated_api_client/models/create_classification_model_request.py +0 -197
- orca_sdk/_generated_api_client/models/create_memoryset_request.py +0 -325
- orca_sdk/_generated_api_client/models/create_memoryset_request_index_params.py +0 -66
- orca_sdk/_generated_api_client/models/create_memoryset_request_index_type.py +0 -13
- orca_sdk/_generated_api_client/models/create_regression_model_request.py +0 -137
- orca_sdk/_generated_api_client/models/datasource_metadata.py +0 -156
- orca_sdk/_generated_api_client/models/delete_memories_request.py +0 -70
- orca_sdk/_generated_api_client/models/delete_memorysets_request.py +0 -70
- orca_sdk/_generated_api_client/models/embed_request.py +0 -135
- orca_sdk/_generated_api_client/models/embedding_evaluation_payload.py +0 -187
- orca_sdk/_generated_api_client/models/embedding_evaluation_request.py +0 -179
- orca_sdk/_generated_api_client/models/embedding_evaluation_response.py +0 -158
- orca_sdk/_generated_api_client/models/embedding_evaluation_result.py +0 -86
- orca_sdk/_generated_api_client/models/embedding_finetuning_method.py +0 -9
- orca_sdk/_generated_api_client/models/embedding_model_result.py +0 -114
- orca_sdk/_generated_api_client/models/evaluation_response.py +0 -153
- orca_sdk/_generated_api_client/models/evaluation_response_classification_metrics.py +0 -140
- orca_sdk/_generated_api_client/models/evaluation_response_regression_metrics.py +0 -140
- orca_sdk/_generated_api_client/models/feedback_metrics.py +0 -85
- orca_sdk/_generated_api_client/models/feedback_type.py +0 -9
- orca_sdk/_generated_api_client/models/filter_item.py +0 -231
- orca_sdk/_generated_api_client/models/filter_item_field_type_0_item.py +0 -17
- orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_1.py +0 -20
- orca_sdk/_generated_api_client/models/filter_item_op.py +0 -16
- orca_sdk/_generated_api_client/models/finetune_embedding_model_request.py +0 -259
- orca_sdk/_generated_api_client/models/finetune_embedding_model_request_training_args.py +0 -66
- orca_sdk/_generated_api_client/models/finetuned_embedding_model_metadata.py +0 -166
- orca_sdk/_generated_api_client/models/get_memories_request.py +0 -70
- orca_sdk/_generated_api_client/models/http_validation_error.py +0 -86
- orca_sdk/_generated_api_client/models/internal_server_error_response.py +0 -80
- orca_sdk/_generated_api_client/models/label_class_metrics.py +0 -108
- orca_sdk/_generated_api_client/models/label_prediction_memory_lookup.py +0 -210
- orca_sdk/_generated_api_client/models/label_prediction_memory_lookup_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py +0 -288
- orca_sdk/_generated_api_client/models/labeled_memory.py +0 -186
- orca_sdk/_generated_api_client/models/labeled_memory_insert.py +0 -128
- orca_sdk/_generated_api_client/models/labeled_memory_insert_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/labeled_memory_lookup.py +0 -194
- orca_sdk/_generated_api_client/models/labeled_memory_lookup_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/labeled_memory_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/labeled_memory_metrics.py +0 -246
- orca_sdk/_generated_api_client/models/labeled_memory_update.py +0 -171
- orca_sdk/_generated_api_client/models/labeled_memory_update_metadata_type_0.py +0 -68
- orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics.py +0 -207
- orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_feedback_metrics.py +0 -68
- orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/list_memories_request.py +0 -104
- orca_sdk/_generated_api_client/models/list_predictions_request.py +0 -319
- orca_sdk/_generated_api_client/models/lookup_request.py +0 -81
- orca_sdk/_generated_api_client/models/lookup_score_metrics.py +0 -94
- orca_sdk/_generated_api_client/models/memory_metrics.py +0 -165
- orca_sdk/_generated_api_client/models/memory_type.py +0 -9
- orca_sdk/_generated_api_client/models/memoryset_analysis_configs.py +0 -212
- orca_sdk/_generated_api_client/models/memoryset_analysis_request.py +0 -105
- orca_sdk/_generated_api_client/models/memoryset_analysis_response.py +0 -182
- orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config.py +0 -202
- orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_clustering_method.py +0 -9
- orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_partitioning_method.py +0 -10
- orca_sdk/_generated_api_client/models/memoryset_cluster_metrics.py +0 -100
- orca_sdk/_generated_api_client/models/memoryset_duplicate_analysis_config.py +0 -70
- orca_sdk/_generated_api_client/models/memoryset_duplicate_metrics.py +0 -70
- orca_sdk/_generated_api_client/models/memoryset_label_analysis_config.py +0 -70
- orca_sdk/_generated_api_client/models/memoryset_label_metrics.py +0 -116
- orca_sdk/_generated_api_client/models/memoryset_metadata.py +0 -291
- orca_sdk/_generated_api_client/models/memoryset_metadata_index_params.py +0 -55
- orca_sdk/_generated_api_client/models/memoryset_metadata_index_type.py +0 -13
- orca_sdk/_generated_api_client/models/memoryset_metrics.py +0 -232
- orca_sdk/_generated_api_client/models/memoryset_neighbor_analysis_config.py +0 -83
- orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics.py +0 -76
- orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics_lookup_score_metrics.py +0 -68
- orca_sdk/_generated_api_client/models/memoryset_projection_analysis_config.py +0 -79
- orca_sdk/_generated_api_client/models/memoryset_projection_metrics.py +0 -55
- orca_sdk/_generated_api_client/models/memoryset_update.py +0 -101
- orca_sdk/_generated_api_client/models/not_found_error_response.py +0 -100
- orca_sdk/_generated_api_client/models/not_found_error_response_resource_type_0.py +0 -22
- orca_sdk/_generated_api_client/models/paginated_union_labeled_memory_with_feedback_metrics_scored_memory_with_feedback_metrics.py +0 -135
- orca_sdk/_generated_api_client/models/pr_curve.py +0 -86
- orca_sdk/_generated_api_client/models/prediction_feedback.py +0 -157
- orca_sdk/_generated_api_client/models/prediction_feedback_category.py +0 -115
- orca_sdk/_generated_api_client/models/prediction_feedback_request.py +0 -122
- orca_sdk/_generated_api_client/models/prediction_feedback_result.py +0 -102
- orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_0.py +0 -10
- orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_1.py +0 -9
- orca_sdk/_generated_api_client/models/predictive_model_update.py +0 -91
- orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py +0 -107
- orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py +0 -17
- orca_sdk/_generated_api_client/models/rac_head_type.py +0 -11
- orca_sdk/_generated_api_client/models/rar_head_type.py +0 -8
- orca_sdk/_generated_api_client/models/regression_evaluation_request.py +0 -148
- orca_sdk/_generated_api_client/models/regression_metrics.py +0 -172
- orca_sdk/_generated_api_client/models/regression_model_metadata.py +0 -177
- orca_sdk/_generated_api_client/models/regression_prediction_request.py +0 -195
- orca_sdk/_generated_api_client/models/roc_curve.py +0 -86
- orca_sdk/_generated_api_client/models/score_prediction_memory_lookup.py +0 -196
- orca_sdk/_generated_api_client/models/score_prediction_memory_lookup_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/score_prediction_with_memories_and_feedback.py +0 -252
- orca_sdk/_generated_api_client/models/scored_memory.py +0 -172
- orca_sdk/_generated_api_client/models/scored_memory_insert.py +0 -128
- orca_sdk/_generated_api_client/models/scored_memory_insert_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/scored_memory_lookup.py +0 -180
- orca_sdk/_generated_api_client/models/scored_memory_lookup_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/scored_memory_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/scored_memory_update.py +0 -171
- orca_sdk/_generated_api_client/models/scored_memory_update_metadata_type_0.py +0 -68
- orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics.py +0 -193
- orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_feedback_metrics.py +0 -68
- orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_metadata.py +0 -68
- orca_sdk/_generated_api_client/models/service_unavailable_error_response.py +0 -80
- orca_sdk/_generated_api_client/models/task.py +0 -198
- orca_sdk/_generated_api_client/models/task_status.py +0 -14
- orca_sdk/_generated_api_client/models/task_status_info.py +0 -133
- orca_sdk/_generated_api_client/models/telemetry_field_type_0_item_type_2.py +0 -9
- orca_sdk/_generated_api_client/models/telemetry_filter_item.py +0 -205
- orca_sdk/_generated_api_client/models/telemetry_filter_item_op.py +0 -15
- orca_sdk/_generated_api_client/models/telemetry_memories_request.py +0 -181
- orca_sdk/_generated_api_client/models/telemetry_sort_options.py +0 -173
- orca_sdk/_generated_api_client/models/telemetry_sort_options_direction.py +0 -9
- orca_sdk/_generated_api_client/models/unauthenticated_error_response.py +0 -72
- orca_sdk/_generated_api_client/models/unauthorized_error_response.py +0 -80
- orca_sdk/_generated_api_client/models/update_prediction_request.py +0 -133
- orca_sdk/_generated_api_client/models/validation_error.py +0 -99
- orca_sdk/_generated_api_client/py.typed +0 -1
- orca_sdk/_generated_api_client/types.py +0 -56
- orca_sdk-0.0.96.dist-info/RECORD +0 -278
- {orca_sdk-0.0.96.dist-info → orca_sdk-0.0.98.dist-info}/WHEEL +0 -0
orca_sdk/job.py
CHANGED
|
@@ -7,8 +7,7 @@ from typing import Callable, Generic, TypedDict, TypeVar, cast
|
|
|
7
7
|
|
|
8
8
|
from tqdm.auto import tqdm
|
|
9
9
|
|
|
10
|
-
from .
|
|
11
|
-
from ._generated_api_client.models import TaskStatus
|
|
10
|
+
from .client import TaskStatus, orca_api
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
class JobConfig(TypedDict):
|
|
@@ -21,6 +20,8 @@ class Status(Enum):
|
|
|
21
20
|
"""Status of a cloud job in the task queue"""
|
|
22
21
|
|
|
23
22
|
# the INITIALIZED state should never be returned by the API
|
|
23
|
+
INITIALIZED = "INITIALIZED"
|
|
24
|
+
"""The job has been initialized"""
|
|
24
25
|
|
|
25
26
|
DISPATCHED = "DISPATCHED"
|
|
26
27
|
"""The job has been queued and is waiting to be processed"""
|
|
@@ -117,7 +118,7 @@ class Job(Generic[TResult]):
|
|
|
117
118
|
cls,
|
|
118
119
|
status: Status | list[Status] | None = None,
|
|
119
120
|
type: str | list[str] | None = None,
|
|
120
|
-
limit: int
|
|
121
|
+
limit: int = 100,
|
|
121
122
|
offset: int = 0,
|
|
122
123
|
start: datetime | None = None,
|
|
123
124
|
end: datetime | None = None,
|
|
@@ -136,17 +137,20 @@ class Job(Generic[TResult]):
|
|
|
136
137
|
Returns:
|
|
137
138
|
List of jobs matching the given filters
|
|
138
139
|
"""
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
140
|
+
paginated_tasks = orca_api.GET(
|
|
141
|
+
"/task",
|
|
142
|
+
params={
|
|
143
|
+
"status": (
|
|
144
|
+
[s.value for s in status]
|
|
145
|
+
if isinstance(status, list)
|
|
146
|
+
else status.value if isinstance(status, Status) else None
|
|
147
|
+
),
|
|
148
|
+
"type": type,
|
|
149
|
+
"limit": limit,
|
|
150
|
+
"offset": offset,
|
|
151
|
+
"start_timestamp": start.isoformat() if start is not None else None,
|
|
152
|
+
"end_timestamp": end.isoformat() if end is not None else None,
|
|
153
|
+
},
|
|
150
154
|
)
|
|
151
155
|
|
|
152
156
|
# can't use constructor because it makes an API call, so we construct the objects manually
|
|
@@ -154,20 +158,20 @@ class Job(Generic[TResult]):
|
|
|
154
158
|
(
|
|
155
159
|
lambda t: (
|
|
156
160
|
obj := cls.__new__(cls),
|
|
157
|
-
setattr(obj, "id", t
|
|
158
|
-
setattr(obj, "type", t
|
|
159
|
-
setattr(obj, "status", Status(t
|
|
160
|
-
setattr(obj, "steps_total", t
|
|
161
|
-
setattr(obj, "steps_completed", t
|
|
162
|
-
setattr(obj, "exception", t
|
|
163
|
-
setattr(obj, "value", cast(TResult, t
|
|
164
|
-
setattr(obj, "updated_at", t
|
|
165
|
-
setattr(obj, "created_at", t
|
|
161
|
+
setattr(obj, "id", t["id"]),
|
|
162
|
+
setattr(obj, "type", t["type"]),
|
|
163
|
+
setattr(obj, "status", Status(t["status"])),
|
|
164
|
+
setattr(obj, "steps_total", t["steps_total"]),
|
|
165
|
+
setattr(obj, "steps_completed", t["steps_completed"]),
|
|
166
|
+
setattr(obj, "exception", t["exception"]),
|
|
167
|
+
setattr(obj, "value", cast(TResult, t["result"]) if t["result"] is not None else None),
|
|
168
|
+
setattr(obj, "updated_at", datetime.fromisoformat(t["updated_at"])),
|
|
169
|
+
setattr(obj, "created_at", datetime.fromisoformat(t["created_at"])),
|
|
166
170
|
setattr(obj, "refreshed_at", datetime.now()),
|
|
167
171
|
obj,
|
|
168
172
|
)[-1]
|
|
169
173
|
)(t)
|
|
170
|
-
for t in
|
|
174
|
+
for t in paginated_tasks["items"]
|
|
171
175
|
]
|
|
172
176
|
|
|
173
177
|
def __init__(self, id: str, get_value: Callable[[], TResult | None] | None = None):
|
|
@@ -179,27 +183,27 @@ class Job(Generic[TResult]):
|
|
|
179
183
|
get_value: Optional function to customize how the value is resolved, if not provided the result will be a dict
|
|
180
184
|
"""
|
|
181
185
|
self.id = id
|
|
182
|
-
task =
|
|
186
|
+
task = orca_api.GET("/task/{task_id}", params={"task_id": id})
|
|
183
187
|
|
|
184
188
|
self._get_value = get_value or (
|
|
185
|
-
lambda: (
|
|
189
|
+
lambda: cast(TResult | None, orca_api.GET("/task/{task_id}", params={"task_id": id})["result"])
|
|
186
190
|
)
|
|
187
|
-
self.type = task
|
|
188
|
-
self.status = Status(task
|
|
189
|
-
self.steps_total = task
|
|
190
|
-
self.steps_completed = task
|
|
191
|
-
self.exception = task
|
|
191
|
+
self.type = task["type"]
|
|
192
|
+
self.status = Status(task["status"])
|
|
193
|
+
self.steps_total = task["steps_total"]
|
|
194
|
+
self.steps_completed = task["steps_completed"]
|
|
195
|
+
self.exception = task["exception"]
|
|
192
196
|
self.value = (
|
|
193
197
|
None
|
|
194
|
-
if task
|
|
198
|
+
if task["status"] != "COMPLETED"
|
|
195
199
|
else (
|
|
196
200
|
get_value()
|
|
197
201
|
if get_value is not None
|
|
198
|
-
else cast(TResult, task
|
|
202
|
+
else cast(TResult, task["result"]) if task["result"] is not None else None
|
|
199
203
|
)
|
|
200
204
|
)
|
|
201
|
-
self.updated_at = task
|
|
202
|
-
self.created_at = task
|
|
205
|
+
self.updated_at = datetime.fromisoformat(task["updated_at"])
|
|
206
|
+
self.created_at = datetime.fromisoformat(task["created_at"])
|
|
203
207
|
self.refreshed_at = datetime.now()
|
|
204
208
|
|
|
205
209
|
def refresh(self, throttle: float = 0):
|
|
@@ -215,17 +219,17 @@ class Job(Generic[TResult]):
|
|
|
215
219
|
return
|
|
216
220
|
self.refreshed_at = current_time
|
|
217
221
|
|
|
218
|
-
status_info =
|
|
219
|
-
self.status = Status(status_info
|
|
220
|
-
if status_info
|
|
221
|
-
self.steps_total = status_info
|
|
222
|
-
if status_info
|
|
223
|
-
self.steps_completed = status_info
|
|
222
|
+
status_info = orca_api.GET("/task/{task_id}/status", params={"task_id": self.id})
|
|
223
|
+
self.status = Status(status_info["status"])
|
|
224
|
+
if status_info["steps_total"] is not None:
|
|
225
|
+
self.steps_total = status_info["steps_total"]
|
|
226
|
+
if status_info["steps_completed"] is not None:
|
|
227
|
+
self.steps_completed = status_info["steps_completed"]
|
|
224
228
|
|
|
225
|
-
self.exception = status_info
|
|
226
|
-
self.updated_at = status_info
|
|
229
|
+
self.exception = status_info["exception"]
|
|
230
|
+
self.updated_at = datetime.fromisoformat(status_info["updated_at"])
|
|
227
231
|
|
|
228
|
-
if status_info
|
|
232
|
+
if status_info["status"] == "COMPLETED":
|
|
229
233
|
self.value = self._get_value()
|
|
230
234
|
|
|
231
235
|
def __getattribute__(self, name: str):
|
|
@@ -316,14 +320,15 @@ class Job(Generic[TResult]):
|
|
|
316
320
|
assert self.value is not None
|
|
317
321
|
return self.value
|
|
318
322
|
|
|
319
|
-
def abort(self, show_progress: bool = False, refresh_interval: int = 1, max_wait: int = 20) -> None:
|
|
320
|
-
"""
|
|
321
|
-
Abort the job
|
|
322
323
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
324
|
+
def abort(self, show_progress: bool = False, refresh_interval: int = 1, max_wait: int = 20) -> None:
|
|
325
|
+
"""
|
|
326
|
+
Abort the job
|
|
327
|
+
|
|
328
|
+
Params:
|
|
329
|
+
show_progress: Optionally show a progress bar while waiting for the job to abort
|
|
330
|
+
refresh_interval: Polling interval in seconds while waiting for the job to abort
|
|
331
|
+
max_wait: Maximum time to wait for the job to abort in seconds
|
|
332
|
+
"""
|
|
333
|
+
orca_api.DELETE("/task/{task_id}/abort", params={"task_id": self.id})
|
|
334
|
+
self.wait(show_progress, refresh_interval, max_wait)
|
orca_sdk/job_test.py
CHANGED
|
@@ -5,6 +5,19 @@ from .datasource import Datasource
|
|
|
5
5
|
from .job import Job, Status
|
|
6
6
|
|
|
7
7
|
|
|
8
|
+
def wait_for_jobs_status(job_ids, expected_statuses, timeout=10, poll_interval=0.2):
|
|
9
|
+
"""
|
|
10
|
+
Wait until all jobs reach one of the expected statuses or timeout is reached.
|
|
11
|
+
"""
|
|
12
|
+
start = time.time()
|
|
13
|
+
while time.time() - start < timeout:
|
|
14
|
+
jobs = [Job(job_id) for job_id in job_ids]
|
|
15
|
+
if all(job.status in expected_statuses for job in jobs):
|
|
16
|
+
return
|
|
17
|
+
time.sleep(poll_interval)
|
|
18
|
+
raise TimeoutError(f"Jobs did not reach statuses {expected_statuses} within {timeout} seconds")
|
|
19
|
+
|
|
20
|
+
|
|
8
21
|
def test_job_creation(classification_model: ClassificationModel, datasource: Datasource):
|
|
9
22
|
job = classification_model.evaluate(datasource, background=True)
|
|
10
23
|
assert job.id is not None
|
|
@@ -46,3 +59,40 @@ def test_job_refresh(classification_model: ClassificationModel, datasource: Data
|
|
|
46
59
|
# calling refresh() should immediately refresh the job
|
|
47
60
|
job.refresh()
|
|
48
61
|
assert job.refreshed_at > last_refreshed_at
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def test_job_query_pagination(classification_model: ClassificationModel, datasource: Datasource):
|
|
65
|
+
"""Test pagination with Job.query() method"""
|
|
66
|
+
# Create multiple jobs to test pagination
|
|
67
|
+
jobs_created = []
|
|
68
|
+
for i in range(3):
|
|
69
|
+
job = classification_model.evaluate(datasource, background=True)
|
|
70
|
+
jobs_created.append(job.id)
|
|
71
|
+
|
|
72
|
+
# Wait for jobs to be at least PROCESSING or COMPLETED
|
|
73
|
+
wait_for_jobs_status(jobs_created, expected_statuses=[Status.PROCESSING, Status.COMPLETED])
|
|
74
|
+
|
|
75
|
+
# Test basic pagination with limit
|
|
76
|
+
jobs_page1 = Job.query(type="EVALUATE_MODEL", limit=2)
|
|
77
|
+
assert len(jobs_page1) == 2
|
|
78
|
+
|
|
79
|
+
# Test pagination with offset
|
|
80
|
+
jobs_page2 = Job.query(type="EVALUATE_MODEL", limit=2, offset=1)
|
|
81
|
+
assert len(jobs_page2) == 2
|
|
82
|
+
|
|
83
|
+
# Verify different pages contain different jobs (allowing for some overlap due to timing)
|
|
84
|
+
page1_ids = {job.id for job in jobs_page1}
|
|
85
|
+
page2_ids = {job.id for job in jobs_page2}
|
|
86
|
+
|
|
87
|
+
# At least one job should be different between pages
|
|
88
|
+
assert len(page1_ids.symmetric_difference(page2_ids)) > 0
|
|
89
|
+
|
|
90
|
+
# Test filtering by status
|
|
91
|
+
jobs_by_status = Job.query(status=Status.PROCESSING, limit=10)
|
|
92
|
+
for job in jobs_by_status:
|
|
93
|
+
assert job.status == Status.PROCESSING
|
|
94
|
+
|
|
95
|
+
# Test filtering by multiple statuses
|
|
96
|
+
multi_status_jobs = Job.query(status=[Status.PROCESSING, Status.COMPLETED], limit=10)
|
|
97
|
+
for job in multi_status_jobs:
|
|
98
|
+
assert job.status in [Status.PROCESSING, Status.COMPLETED]
|