rapidata 2.10.1__tar.gz → 2.11.0__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.

Potentially problematic release.


This version of rapidata might be problematic. Click here for more details.

Files changed (454) hide show
  1. {rapidata-2.10.1 → rapidata-2.11.0}/PKG-INFO +1 -1
  2. {rapidata-2.10.1 → rapidata-2.11.0}/pyproject.toml +1 -1
  3. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/assets/_media_asset.py +16 -6
  4. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/language_filter.py +8 -3
  5. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/user_score_filter.py +6 -2
  6. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/metadata/_base_metadata.py +1 -1
  7. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/metadata/_private_text_metadata.py +1 -1
  8. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/metadata/_prompt_metadata.py +1 -1
  9. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/metadata/_public_text_metadata.py +1 -1
  10. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/metadata/_select_words_metadata.py +1 -1
  11. rapidata-2.11.0/src/rapidata/rapidata_client/order/_rapidata_dataset.py +225 -0
  12. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/order/rapidata_results.py +4 -1
  13. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/selection/conditional_validation_selection.py +13 -0
  14. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/selection/demographic_selection.py +10 -1
  15. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/validation/rapids/rapids.py +2 -2
  16. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/validation/rapids/rapids_manager.py +4 -4
  17. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/validation/validation_set_manager.py +47 -2
  18. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/service/token_manager.py +3 -2
  19. rapidata-2.10.1/src/rapidata/rapidata_client/order/_rapidata_dataset.py +0 -128
  20. {rapidata-2.10.1 → rapidata-2.11.0}/LICENSE +0 -0
  21. {rapidata-2.10.1 → rapidata-2.11.0}/README.md +0 -0
  22. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/__init__.py +0 -0
  23. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/__init__.py +0 -0
  24. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/__init__.py +0 -0
  25. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/campaign_api.py +0 -0
  26. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/client_api.py +0 -0
  27. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/coco_api.py +0 -0
  28. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/compare_workflow_api.py +0 -0
  29. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/datapoint_api.py +0 -0
  30. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/dataset_api.py +0 -0
  31. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/identity_api.py +0 -0
  32. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/newsletter_api.py +0 -0
  33. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/order_api.py +0 -0
  34. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/pipeline_api.py +0 -0
  35. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/rapid_api.py +0 -0
  36. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/rapidata_identity_api_api.py +0 -0
  37. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/simple_workflow_api.py +0 -0
  38. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/user_info_api.py +0 -0
  39. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/validation_api.py +0 -0
  40. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api/workflow_api.py +0 -0
  41. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api_client.py +0 -0
  42. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/api_response.py +0 -0
  43. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/configuration.py +0 -0
  44. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/exceptions.py +0 -0
  45. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/__init__.py +0 -0
  46. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/ab_test_selection.py +0 -0
  47. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/ab_test_selection_a_inner.py +0 -0
  48. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/add_campaign_artifact_result.py +0 -0
  49. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/add_campaign_model.py +0 -0
  50. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/add_validation_rapid_model.py +0 -0
  51. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/add_validation_rapid_model_payload.py +0 -0
  52. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/add_validation_rapid_model_truth.py +0 -0
  53. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/add_validation_rapid_result.py +0 -0
  54. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/add_validation_text_rapid_model.py +0 -0
  55. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/admin_order_model.py +0 -0
  56. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/admin_order_model_paged_result.py +0 -0
  57. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/age_group.py +0 -0
  58. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/age_user_filter_model.py +0 -0
  59. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/aggregator_type.py +0 -0
  60. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/attach_category_rapid_blueprint.py +0 -0
  61. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/attach_category_result.py +0 -0
  62. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/attach_category_truth.py +0 -0
  63. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/base_error.py +0 -0
  64. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/bounding_box_payload.py +0 -0
  65. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/bounding_box_rapid_blueprint.py +0 -0
  66. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/bounding_box_result.py +0 -0
  67. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/bounding_box_truth.py +0 -0
  68. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/box_shape.py +0 -0
  69. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/campaign_artifact_model.py +0 -0
  70. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/campaign_query_model.py +0 -0
  71. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/campaign_query_model_paged_result.py +0 -0
  72. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/campaign_status.py +0 -0
  73. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/campaign_user_filter_model.py +0 -0
  74. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/capped_selection.py +0 -0
  75. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/capped_selection_selections_inner.py +0 -0
  76. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/classification_metadata.py +0 -0
  77. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/classification_metadata_filter_config.py +0 -0
  78. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/classification_metadata_model.py +0 -0
  79. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/classify_payload.py +0 -0
  80. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/clients_query_result.py +0 -0
  81. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/clients_query_result_paged_result.py +0 -0
  82. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/clone_dataset_model.py +0 -0
  83. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/clone_order_model.py +0 -0
  84. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/clone_order_result.py +0 -0
  85. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_match_status.py +0 -0
  86. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_payload.py +0 -0
  87. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_rapid_blueprint.py +0 -0
  88. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_result.py +0 -0
  89. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_truth.py +0 -0
  90. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_config.py +0 -0
  91. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_config_model.py +0 -0
  92. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_config_model_pair_maker_config.py +0 -0
  93. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_config_pair_maker_config.py +0 -0
  94. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_config_rapid_selection_configs_inner.py +0 -0
  95. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_config_referee.py +0 -0
  96. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_get_result_overview_get200_response.py +0 -0
  97. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_model.py +0 -0
  98. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_model1.py +0 -0
  99. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_model1_pair_maker_information.py +0 -0
  100. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_model1_referee.py +0 -0
  101. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +0 -0
  102. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/completed_rapid_model.py +0 -0
  103. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/completed_rapid_model_asset.py +0 -0
  104. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/conditional_validation_rapid_selection_config.py +0 -0
  105. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/conditional_validation_selection.py +0 -0
  106. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/coordinate.py +0 -0
  107. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/correlated_rapid_selection_config.py +0 -0
  108. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/count_classification_metadata_filter_config.py +0 -0
  109. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/count_metadata.py +0 -0
  110. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/count_metadata_model.py +0 -0
  111. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/country_user_filter_model.py +0 -0
  112. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_bridge_token_result.py +0 -0
  113. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_client_model.py +0 -0
  114. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_client_result.py +0 -0
  115. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_complex_order_model.py +0 -0
  116. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_complex_order_model_pipeline.py +0 -0
  117. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_complex_order_result.py +0 -0
  118. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_dataset_artifact_model.py +0 -0
  119. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_dataset_artifact_model_dataset.py +0 -0
  120. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_default_order_model.py +0 -0
  121. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_default_order_model_workflow_config.py +0 -0
  122. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_demographic_rapid_model.py +0 -0
  123. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_empty_validation_set_result.py +0 -0
  124. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_independent_workflow_model.py +0 -0
  125. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_independent_workflow_model_workflow_config.py +0 -0
  126. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_independent_workflow_result.py +0 -0
  127. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_legacy_client_model.py +0 -0
  128. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_legacy_order_result.py +0 -0
  129. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_order_model.py +0 -0
  130. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_order_model_referee.py +0 -0
  131. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_order_model_selections_inner.py +0 -0
  132. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_order_model_user_filters_inner.py +0 -0
  133. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_order_model_workflow.py +0 -0
  134. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_order_result.py +0 -0
  135. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_simple_pipeline_model.py +0 -0
  136. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_simple_pipeline_model_artifacts_inner.py +0 -0
  137. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +0 -0
  138. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/create_unsupported_order_model.py +0 -0
  139. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/custom_user_filter_model.py +0 -0
  140. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/customer_order_model.py +0 -0
  141. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/customer_order_model_paged_result.py +0 -0
  142. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/datapoint.py +0 -0
  143. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/datapoint_asset.py +0 -0
  144. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/datapoint_get_by_id_get200_response.py +0 -0
  145. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/datapoint_metadata_model.py +0 -0
  146. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/datapoint_metadata_model_metadata_inner.py +0 -0
  147. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/datapoint_model.py +0 -0
  148. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/datapoint_model_asset.py +0 -0
  149. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/dataset_artifact_model.py +0 -0
  150. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/dataset_evaluation_step_model.py +0 -0
  151. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/demographic_metadata_model.py +0 -0
  152. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/demographic_rapid_selection_config.py +0 -0
  153. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/demographic_selection.py +0 -0
  154. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/early_stopping_referee_model.py +0 -0
  155. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/empty_validation_truth.py +0 -0
  156. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/error_type.py +0 -0
  157. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/evaluation_workflow_config.py +0 -0
  158. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/evaluation_workflow_model.py +0 -0
  159. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/feature_flag.py +0 -0
  160. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/feature_flag_model.py +0 -0
  161. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/feedback_model.py +0 -0
  162. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/file_artifact_model.py +0 -0
  163. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/file_asset.py +0 -0
  164. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/file_asset_metadata_inner.py +0 -0
  165. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/file_asset_model.py +0 -0
  166. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/file_asset_model1.py +0 -0
  167. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/file_asset_model1_metadata_inner.py +0 -0
  168. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/file_asset_model2.py +0 -0
  169. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/file_asset_model_metadata_inner.py +0 -0
  170. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/filter.py +0 -0
  171. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/filter_operator.py +0 -0
  172. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/free_text_payload.py +0 -0
  173. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/free_text_rapid_blueprint.py +0 -0
  174. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/free_text_result.py +0 -0
  175. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/gender.py +0 -0
  176. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/gender_user_filter_model.py +0 -0
  177. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_attach_category_workflow_result_overview_result.py +0 -0
  178. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_available_validation_sets_result.py +0 -0
  179. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_classify_workflow_result_overview_result.py +0 -0
  180. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_compare_ab_summary_result.py +0 -0
  181. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_compare_workflow_result_overview_result.py +0 -0
  182. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_compare_workflow_result_overview_small_result.py +0 -0
  183. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_compare_workflow_results_model.py +0 -0
  184. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_compare_workflow_results_result.py +0 -0
  185. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_compare_workflow_results_result_asset.py +0 -0
  186. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_compare_workflow_results_result_paged_result.py +0 -0
  187. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_datapoints_by_dataset_id_result.py +0 -0
  188. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_dataset_by_id_result.py +0 -0
  189. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_order_by_id_result.py +0 -0
  190. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_order_results_result.py +0 -0
  191. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_pipeline_by_id_result.py +0 -0
  192. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_pipeline_by_id_result_artifacts_value.py +0 -0
  193. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_public_orders_result.py +0 -0
  194. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_simple_workflow_result_overview_result.py +0 -0
  195. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_simple_workflow_results_model.py +0 -0
  196. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_simple_workflow_results_result.py +0 -0
  197. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_simple_workflow_results_result_paged_result.py +0 -0
  198. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_validation_set_by_id_result.py +0 -0
  199. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_workflow_by_id_result.py +0 -0
  200. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_workflow_by_id_result_workflow.py +0 -0
  201. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_workflow_config_result.py +0 -0
  202. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_workflow_config_result_workflow_config.py +0 -0
  203. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_workflow_progress_result.py +0 -0
  204. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/get_workflow_result_overview_result.py +0 -0
  205. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/i_workflow_model_paged_result.py +0 -0
  206. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/identity_read_bridge_token_get202_response.py +0 -0
  207. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/image_dimension_metadata.py +0 -0
  208. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/image_dimension_metadata_model.py +0 -0
  209. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/import_from_file_result.py +0 -0
  210. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/import_validation_set_from_file_result.py +0 -0
  211. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/in_progress_rapid_model.py +0 -0
  212. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/issue_auth_token_result.py +0 -0
  213. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/issue_client_auth_token_result.py +0 -0
  214. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/labeling_selection.py +0 -0
  215. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/language_user_filter_model.py +0 -0
  216. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/legacy_issue_client_auth_token_result.py +0 -0
  217. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/legacy_request_password_reset_command.py +0 -0
  218. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/legacy_submit_password_reset_command.py +0 -0
  219. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/line.py +0 -0
  220. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/line_payload.py +0 -0
  221. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/line_point.py +0 -0
  222. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/line_rapid_blueprint.py +0 -0
  223. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/line_result.py +0 -0
  224. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/line_truth.py +0 -0
  225. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/locate_box_truth.py +0 -0
  226. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/locate_coordinate.py +0 -0
  227. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/locate_payload.py +0 -0
  228. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/locate_rapid_blueprint.py +0 -0
  229. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/locate_result.py +0 -0
  230. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/location_metadata.py +0 -0
  231. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/location_metadata_exists_filter_config.py +0 -0
  232. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/location_metadata_model.py +0 -0
  233. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/logic_operator.py +0 -0
  234. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/login_model.py +0 -0
  235. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/metadata_visibilities.py +0 -0
  236. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/multi_asset.py +0 -0
  237. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/multi_asset_model.py +0 -0
  238. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/multi_asset_model1.py +0 -0
  239. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/multi_asset_model1_assets_inner.py +0 -0
  240. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/multi_asset_model2.py +0 -0
  241. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/naive_referee_config.py +0 -0
  242. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/naive_referee_model.py +0 -0
  243. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/named_classification.py +0 -0
  244. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/named_entity_payload.py +0 -0
  245. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/named_entity_rapid_blueprint.py +0 -0
  246. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/named_entity_result.py +0 -0
  247. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/named_entity_truth.py +0 -0
  248. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/never_ending_referee_config.py +0 -0
  249. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/newsletter_model.py +0 -0
  250. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/no_validation_workflow_rapid_selection_config.py +0 -0
  251. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/not_available_yet_result.py +0 -0
  252. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/not_started_rapid_model.py +0 -0
  253. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/null_asset.py +0 -0
  254. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/null_asset_model.py +0 -0
  255. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/null_asset_model1.py +0 -0
  256. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/null_asset_model2.py +0 -0
  257. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/online_pair_maker_config.py +0 -0
  258. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/online_pair_maker_config_model.py +0 -0
  259. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/online_pair_maker_information.py +0 -0
  260. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/only_validation_workflow_rapid_selection_config.py +0 -0
  261. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/order_model.py +0 -0
  262. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/order_model_paged_result.py +0 -0
  263. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/order_query_get200_response.py +0 -0
  264. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/order_state.py +0 -0
  265. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/original_filename_metadata.py +0 -0
  266. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/original_filename_metadata_model.py +0 -0
  267. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/page_info.py +0 -0
  268. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/pipeline_id_workflow_put_request.py +0 -0
  269. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/polygon_payload.py +0 -0
  270. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/polygon_rapid_blueprint.py +0 -0
  271. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/polygon_result.py +0 -0
  272. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/polygon_truth.py +0 -0
  273. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/pre_arranged_pair_maker_config.py +0 -0
  274. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/pre_arranged_pair_maker_config_model.py +0 -0
  275. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/pre_arranged_pair_maker_information.py +0 -0
  276. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/preliminary_download_model.py +0 -0
  277. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/preliminary_download_result.py +0 -0
  278. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/private_text_metadata_input.py +0 -0
  279. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/probabilistic_attach_category_referee_config.py +0 -0
  280. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/problem_details.py +0 -0
  281. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/prompt_metadata.py +0 -0
  282. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/prompt_metadata_input.py +0 -0
  283. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/prompt_metadata_model.py +0 -0
  284. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/public_order_model.py +0 -0
  285. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/public_text_metadata_input.py +0 -0
  286. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_campaigns_model.py +0 -0
  287. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_model.py +0 -0
  288. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_orders_model.py +0 -0
  289. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_validation_rapids_result.py +0 -0
  290. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_validation_rapids_result_asset.py +0 -0
  291. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_validation_rapids_result_paged_result.py +0 -0
  292. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_validation_rapids_result_payload.py +0 -0
  293. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_validation_rapids_result_truth.py +0 -0
  294. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_validation_set_model.py +0 -0
  295. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/query_workflows_model.py +0 -0
  296. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/ranked_datapoint_model.py +0 -0
  297. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/rapid_answer.py +0 -0
  298. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/rapid_answer_result.py +0 -0
  299. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/rapid_issue.py +0 -0
  300. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/rapid_response.py +0 -0
  301. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/rapid_response_result.py +0 -0
  302. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/rapid_result_model.py +0 -0
  303. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/rapid_result_model_result.py +0 -0
  304. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/rapid_skipped_model.py +0 -0
  305. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/rapid_state.py +0 -0
  306. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/read_bridge_token_keys_result.py +0 -0
  307. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/register_temporary_customer_model.py +0 -0
  308. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/register_temporary_customer_result.py +0 -0
  309. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/report_model.py +0 -0
  310. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/request_password_reset_command.py +0 -0
  311. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/root_filter.py +0 -0
  312. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/scrub_payload.py +0 -0
  313. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/scrub_range.py +0 -0
  314. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/scrub_rapid_blueprint.py +0 -0
  315. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/scrub_result.py +0 -0
  316. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/scrub_truth.py +0 -0
  317. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/send_completion_mail_step_model.py +0 -0
  318. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/shape.py +0 -0
  319. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/signup_customer_model.py +0 -0
  320. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/signup_shadow_customer_model.py +0 -0
  321. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/simple_workflow_config.py +0 -0
  322. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/simple_workflow_config_blueprint.py +0 -0
  323. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/simple_workflow_config_model.py +0 -0
  324. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/simple_workflow_config_model_blueprint.py +0 -0
  325. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/simple_workflow_get_result_overview_get200_response.py +0 -0
  326. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/simple_workflow_model.py +0 -0
  327. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/simple_workflow_model1.py +0 -0
  328. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/simple_workflow_model1_blueprint.py +0 -0
  329. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/simple_workflow_model_blueprint.py +0 -0
  330. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/skip_result.py +0 -0
  331. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/sort_criterion.py +0 -0
  332. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/sort_direction.py +0 -0
  333. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/static_rapid_selection_config.py +0 -0
  334. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/static_selection.py +0 -0
  335. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/submit_coco_model.py +0 -0
  336. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/submit_coco_result.py +0 -0
  337. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/submit_password_reset_command.py +0 -0
  338. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/text_asset.py +0 -0
  339. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/text_asset_model.py +0 -0
  340. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/text_asset_model1.py +0 -0
  341. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/text_asset_model2.py +0 -0
  342. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/text_metadata.py +0 -0
  343. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/text_metadata_model.py +0 -0
  344. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/transcription_metadata.py +0 -0
  345. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/transcription_metadata_input.py +0 -0
  346. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/transcription_metadata_model.py +0 -0
  347. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/transcription_payload.py +0 -0
  348. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/transcription_rapid_blueprint.py +0 -0
  349. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/transcription_result.py +0 -0
  350. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/transcription_truth.py +0 -0
  351. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/transcription_word.py +0 -0
  352. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/translated_prompt_metadata_model.py +0 -0
  353. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/translated_string.py +0 -0
  354. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/unlock_order_result.py +0 -0
  355. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/update_access_model.py +0 -0
  356. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/update_campaign_model.py +0 -0
  357. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/update_order_model.py +0 -0
  358. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/update_validation_rapid_model.py +0 -0
  359. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/update_validation_rapid_model_truth.py +0 -0
  360. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/update_workflow_config_model.py +0 -0
  361. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/update_workflow_config_model_workflow_config.py +0 -0
  362. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/update_workflow_config_request.py +0 -0
  363. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/update_workflow_config_request_config.py +0 -0
  364. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/upload_coco_result.py +0 -0
  365. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/upload_datapoints_result.py +0 -0
  366. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/upload_files_from_s3_bucket_model.py +0 -0
  367. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/upload_text_sources_to_dataset_model.py +0 -0
  368. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/user_score_user_filter_model.py +0 -0
  369. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/validation_chance.py +0 -0
  370. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/validation_import_post_request_blueprint.py +0 -0
  371. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/validation_rapid_selection_config.py +0 -0
  372. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/validation_selection.py +0 -0
  373. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/validation_set.py +0 -0
  374. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/validation_set_model.py +0 -0
  375. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/validation_set_model_paged_result.py +0 -0
  376. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/validation_set_overview_model.py +0 -0
  377. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/validation_set_paged_result.py +0 -0
  378. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/workflow_aggregation_step_model.py +0 -0
  379. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/workflow_artifact_model.py +0 -0
  380. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/workflow_config_artifact_model.py +0 -0
  381. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +0 -0
  382. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/workflow_labeling_step_model.py +0 -0
  383. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/workflow_split_model.py +0 -0
  384. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/workflow_split_model_filter_configs_inner.py +0 -0
  385. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/models/workflow_state.py +0 -0
  386. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client/rest.py +0 -0
  387. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/api_client_README.md +0 -0
  388. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/__init__.py +0 -0
  389. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/assets/__init__.py +0 -0
  390. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/assets/_base_asset.py +0 -0
  391. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/assets/_multi_asset.py +0 -0
  392. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/assets/_text_asset.py +0 -0
  393. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/assets/data_type_enum.py +0 -0
  394. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/country_codes/__init__.py +0 -0
  395. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/country_codes/country_codes.py +0 -0
  396. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/demographic/__init__.py +0 -0
  397. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/demographic/demographic_manager.py +0 -0
  398. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/__init__.py +0 -0
  399. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/_base_filter.py +0 -0
  400. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/age_filter.py +0 -0
  401. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/campaign_filter.py +0 -0
  402. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/country_filter.py +0 -0
  403. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/custom_filter.py +0 -0
  404. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/gender_filter.py +0 -0
  405. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/models/__init__.py +0 -0
  406. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/models/age_group.py +0 -0
  407. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/models/gender.py +0 -0
  408. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/filter/rapidata_filters.py +0 -0
  409. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/metadata/__init__.py +0 -0
  410. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/order/__init__.py +0 -0
  411. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/order/_rapidata_order_builder.py +0 -0
  412. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/order/rapidata_order.py +0 -0
  413. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/order/rapidata_order_manager.py +0 -0
  414. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/rapidata_client.py +0 -0
  415. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/referee/__init__.py +0 -0
  416. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/referee/_base_referee.py +0 -0
  417. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/referee/_early_stopping_referee.py +0 -0
  418. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/referee/_naive_referee.py +0 -0
  419. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/selection/__init__.py +0 -0
  420. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/selection/_base_selection.py +0 -0
  421. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/selection/ab_test_selection.py +0 -0
  422. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/selection/capped_selection.py +0 -0
  423. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/selection/labeling_selection.py +0 -0
  424. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/selection/rapidata_selections.py +0 -0
  425. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/selection/validation_selection.py +0 -0
  426. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/__init__.py +0 -0
  427. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/_rapidata_setting.py +0 -0
  428. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/alert_on_fast_response.py +0 -0
  429. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/custom_setting.py +0 -0
  430. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/free_text_minimum_characters.py +0 -0
  431. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/models/__init__.py +0 -0
  432. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/models/translation_behaviour_options.py +0 -0
  433. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/no_shuffle.py +0 -0
  434. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/play_video_until_the_end.py +0 -0
  435. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/rapidata_settings.py +0 -0
  436. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/settings/translation_behaviour.py +0 -0
  437. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/validation/__init__.py +0 -0
  438. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/validation/rapidata_validation_set.py +0 -0
  439. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/validation/rapids/__init__.py +0 -0
  440. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/validation/rapids/box.py +0 -0
  441. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/__init__.py +0 -0
  442. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/_base_workflow.py +0 -0
  443. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/_classify_workflow.py +0 -0
  444. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/_compare_workflow.py +0 -0
  445. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/_draw_workflow.py +0 -0
  446. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/_evaluation_workflow.py +0 -0
  447. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/_free_text_workflow.py +0 -0
  448. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/_locate_workflow.py +0 -0
  449. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/_select_words_workflow.py +0 -0
  450. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/rapidata_client/workflow/_timestamp_workflow.py +0 -0
  451. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/service/__init__.py +0 -0
  452. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/service/credential_manager.py +0 -0
  453. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/service/local_file_service.py +0 -0
  454. {rapidata-2.10.1 → rapidata-2.11.0}/src/rapidata/service/openapi_service.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rapidata
3
- Version: 2.10.1
3
+ Version: 2.11.0
4
4
  Summary: Rapidata package containing the Rapidata Python Client to interact with the Rapidata Web API in an easy way.
5
5
  License: Apache-2.0
6
6
  Author: Rapidata AG
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "rapidata"
3
- version = "2.10.1"
3
+ version = "2.11.0"
4
4
  description = "Rapidata package containing the Rapidata Python Client to interact with the Rapidata Web API in an easy way."
5
5
  authors = ["Rapidata AG <info@rapidata.ai>"]
6
6
  license = "Apache-2.0"
@@ -4,6 +4,7 @@ Defines the MediaAsset class for handling media file paths within assets.
4
4
  Implements lazy loading for URL-based media to prevent unnecessary downloads.
5
5
  """
6
6
 
7
+ from typing import Optional, cast, Sequence
7
8
  import os
8
9
  from io import BytesIO
9
10
  from rapidata.rapidata_client.assets._base_asset import BaseAsset
@@ -13,10 +14,10 @@ from PIL import Image
13
14
  from tinytag import TinyTag
14
15
  import tempfile
15
16
  from pydantic import StrictStr, StrictBytes
16
- from typing import Optional, cast
17
17
  import logging
18
18
  from functools import cached_property
19
-
19
+ from requests.adapters import HTTPAdapter
20
+ from urllib3.util.retry import Retry
20
21
 
21
22
  class MediaAsset(BaseAsset):
22
23
  """MediaAsset Class with Lazy Loading
@@ -77,6 +78,7 @@ class MediaAsset(BaseAsset):
77
78
 
78
79
  self._url = None
79
80
  self._content = None
81
+ self._session: None | requests.Session = None
80
82
 
81
83
  if re.match(r'^https?://', path):
82
84
  self._url = path
@@ -223,7 +225,7 @@ class MediaAsset(BaseAsset):
223
225
 
224
226
  def __get_media_bytes(self, url: str) -> bytes:
225
227
  """
226
- Downloads and validates media files from URL.
228
+ Downloads and validates media files from URL with retry logic and session reuse.
227
229
 
228
230
  Args:
229
231
  url: URL of the media file
@@ -233,13 +235,21 @@ class MediaAsset(BaseAsset):
233
235
 
234
236
  Raises:
235
237
  ValueError: If media type is unsupported or content validation fails
236
- requests.exceptions.RequestException: If download fails
238
+ requests.exceptions.RequestException: If download fails after all retries
237
239
  """
240
+ # Use existing session or throw error if not set
241
+ if self._session is None:
242
+ raise RuntimeError("HTTP session not configured")
243
+
238
244
  try:
239
- response = requests.get(url, stream=False)
245
+ response = self._session.get(
246
+ url,
247
+ stream=False,
248
+ timeout=(5, 30) # (connect timeout, read timeout)
249
+ )
240
250
  response.raise_for_status()
241
251
  except requests.exceptions.RequestException as e:
242
- self._logger.error(f"Failed to download media from {url}: {str(e)}")
252
+ self._logger.error(f"Failed to download media from {url} after retries: {str(e)}")
243
253
  raise
244
254
 
245
255
  content = response.content
@@ -9,11 +9,16 @@ class LanguageFilter(RapidataFilter):
9
9
  """LanguageFilter Class
10
10
 
11
11
  Can be used to filter who to target based on language codes.
12
-
13
- example: LanguageFilter(["en", "de"]) -> will limit the order to be shown to only people who have their phone set to english or german
14
12
 
15
13
  Args:
16
- language_codes (list[str]): List of language codes to filter by."""
14
+ language_codes (list[str]): List of language codes to filter by.
15
+
16
+ Example:
17
+ ```python
18
+ LanguageFilter(["en", "de"])
19
+ ```
20
+ This will limit the order to be shown to only people who have their phone set to english or german
21
+ """
17
22
  def __init__(self, language_codes: list[str]):
18
23
  if not isinstance(language_codes, list):
19
24
  raise ValueError("Language codes must be a list")
@@ -10,11 +10,15 @@ class UserScoreFilter(RapidataFilter):
10
10
 
11
11
  Can be used to filter who to target based on their user score.
12
12
 
13
- example: UserScoreFilter(0.5, 0.9) -> will only show the order to users that have a UserScore of >=0.5 and <=0.9
14
-
15
13
  Args:
16
14
  lower_bound (float): The lower bound of the user score.
17
15
  upper_bound (float): The upper bound of the user score.
16
+
17
+ Example:
18
+ ```python
19
+ UserScoreFilter(0.5, 0.9)
20
+ ```
21
+ This will only show the order to users that have a UserScore of >=0.5 and <=0.9
18
22
  """
19
23
  def __init__(self, lower_bound: float = 0.0, upper_bound: float = 1.0):
20
24
  if lower_bound < 0 or lower_bound > 1:
@@ -9,5 +9,5 @@ class Metadata:
9
9
  self._identifier = identifier
10
10
 
11
11
  @abstractmethod
12
- def _to_model(self) -> Any:
12
+ def to_model(self) -> Any:
13
13
  pass
@@ -10,7 +10,7 @@ class PrivateTextMetadata(Metadata):
10
10
  super().__init__(identifier=identifier)
11
11
  self._text = text
12
12
 
13
- def _to_model(self):
13
+ def to_model(self):
14
14
  return PrivateTextMetadataInput(
15
15
  _t="PrivateTextMetadataInput", identifier=self._identifier, text=self._text
16
16
  )
@@ -14,5 +14,5 @@ class PromptMetadata(Metadata):
14
14
  self._prompt = prompt
15
15
 
16
16
 
17
- def _to_model(self):
17
+ def to_model(self):
18
18
  return PromptMetadataInput(_t="PromptMetadataInput", identifier=self._identifier, prompt=self._prompt)
@@ -10,7 +10,7 @@ class PublicTextMetadata(Metadata):
10
10
  super().__init__(identifier=identifier)
11
11
  self._text = text
12
12
 
13
- def _to_model(self):
13
+ def to_model(self):
14
14
  return PublicTextMetadataInput(
15
15
  _t="PublicTextMetadataInput", identifier=self._identifier, text=self._text
16
16
  )
@@ -12,7 +12,7 @@ class SelectWordsMetadata(Metadata):
12
12
  self.identifier = identifier
13
13
  self.select_words = select_words
14
14
 
15
- def _to_model(self):
15
+ def to_model(self):
16
16
  return TranscriptionMetadataInput(
17
17
  _t="TranscriptionMetadataInput",
18
18
  identifier=self.identifier,
@@ -0,0 +1,225 @@
1
+ from itertools import zip_longest
2
+
3
+ from rapidata.api_client.models.datapoint_metadata_model import DatapointMetadataModel
4
+ from rapidata.api_client.models.datapoint_metadata_model_metadata_inner import (
5
+ DatapointMetadataModelMetadataInner,
6
+ )
7
+ from rapidata.api_client.models.upload_text_sources_to_dataset_model import (
8
+ UploadTextSourcesToDatasetModel,
9
+ )
10
+ from rapidata.rapidata_client.metadata._base_metadata import Metadata
11
+ from rapidata.rapidata_client.assets import TextAsset, MediaAsset, MultiAsset
12
+ from rapidata.service import LocalFileService
13
+ from rapidata.service.openapi_service import OpenAPIService
14
+ from concurrent.futures import ThreadPoolExecutor, as_completed
15
+ from tqdm import tqdm
16
+
17
+ from pydantic import StrictBytes, StrictStr
18
+ from typing import Optional, cast, Sequence, Generator
19
+ from logging import Logger
20
+ from requests.adapters import HTTPAdapter, Retry
21
+ import time
22
+ import requests
23
+
24
+
25
+ def chunk_list(lst: list, chunk_size: int) -> Generator:
26
+ """Split list into chunks to prevent resource exhaustion"""
27
+ for i in range(0, len(lst), chunk_size):
28
+ yield lst[i:i + chunk_size]
29
+
30
+ class RapidataDataset:
31
+
32
+ def __init__(self, dataset_id: str, openapi_service: OpenAPIService):
33
+ self.dataset_id = dataset_id
34
+ self.openapi_service = openapi_service
35
+ self.local_file_service = LocalFileService()
36
+ self._logger = Logger(__name__)
37
+
38
+ def _add_texts(
39
+ self,
40
+ text_assets: list[TextAsset] | list[MultiAsset],
41
+ max_workers: int = 10,
42
+ ):
43
+ for text_asset in text_assets:
44
+ if isinstance(text_asset, MultiAsset):
45
+ assert all(
46
+ isinstance(asset, TextAsset) for asset in text_asset.assets
47
+ ), "All assets in a MultiAsset must be of type TextAsset."
48
+
49
+ def upload_text_datapoint(text_asset: TextAsset | MultiAsset, index: int) -> None:
50
+ if isinstance(text_asset, TextAsset):
51
+ texts = [text_asset.text]
52
+ elif isinstance(text_asset, MultiAsset):
53
+ texts = [asset.text for asset in text_asset.assets if isinstance(asset, TextAsset)]
54
+ else:
55
+ raise ValueError(f"Unsupported asset type: {type(text_asset)}")
56
+
57
+ model = UploadTextSourcesToDatasetModel(
58
+ datasetId=self.dataset_id,
59
+ textSources=texts,
60
+ sortIndex=index,
61
+ )
62
+
63
+ upload_response = self.openapi_service.dataset_api.dataset_creat_text_datapoint_post(model)
64
+
65
+ if upload_response.errors:
66
+ raise ValueError(f"Error uploading text datapoint: {upload_response.errors}")
67
+
68
+ total_uploads = len(text_assets)
69
+ with ThreadPoolExecutor(max_workers=max_workers) as executor:
70
+ futures = [
71
+ executor.submit(upload_text_datapoint, text_asset, index=i)
72
+ for i, text_asset in enumerate(text_assets)
73
+ ]
74
+
75
+ with tqdm(total=total_uploads, desc="Uploading text datapoints") as pbar:
76
+ for future in as_completed(futures):
77
+ future.result() # This will raise any exceptions that occurred during execution
78
+ pbar.update(1)
79
+
80
+ def _add_media_from_paths(
81
+ self,
82
+ media_paths: list[MediaAsset] | list[MultiAsset],
83
+ metadata: Sequence[Metadata] | None = None,
84
+ max_workers: int = 10,
85
+ max_retries: int = 5,
86
+ chunk_size: int = 50,
87
+ ) -> tuple[list[str], list[str]]:
88
+ """
89
+ Upload media paths in chunks with managed resources.
90
+
91
+ Args:
92
+ media_paths: List of MediaAsset or MultiAsset objects to upload
93
+ metadata: Optional sequence of metadata matching media_paths length
94
+ max_workers: Maximum number of concurrent upload workers
95
+ max_retries: Maximum number of retry attempts per failed request
96
+ chunk_size: Number of items to process in each batch
97
+
98
+ Returns:
99
+ tuple[list[str], list[str]]: Lists of successful and failed URLs
100
+
101
+ Raises:
102
+ ValueError: If metadata length doesn't match media_paths length
103
+ """
104
+ if metadata is not None and len(metadata) != len(media_paths):
105
+ raise ValueError("metadata must be None or have the same length as media_paths")
106
+
107
+ # Configure session with retry logic
108
+ session = requests.Session()
109
+ retries = Retry(
110
+ total=max_retries,
111
+ backoff_factor=1,
112
+ status_forcelist=[500, 502, 503, 504],
113
+ allowed_methods=["GET"],
114
+ respect_retry_after_header=True
115
+ )
116
+
117
+ adapter = HTTPAdapter(
118
+ pool_connections=max_workers * 2,
119
+ pool_maxsize=max_workers * 4,
120
+ max_retries=retries
121
+ )
122
+ session.mount('http://', adapter)
123
+ session.mount('https://', adapter)
124
+
125
+ def upload_datapoint(
126
+ media_asset: MediaAsset | MultiAsset,
127
+ meta: Metadata | None,
128
+ index: int,
129
+ session: requests.Session
130
+ ) -> tuple[list[str], list[str]]:
131
+ """Process single upload with error tracking."""
132
+ local_successful: list[str] = []
133
+ local_failed: list[str] = []
134
+ identifiers_to_track: list[str] = []
135
+
136
+ try:
137
+ # Get identifier for this upload (URL or file path)
138
+ if isinstance(media_asset, MediaAsset):
139
+ media_asset._session = session
140
+ assets = [media_asset]
141
+ identifier = media_asset._url if media_asset._url else media_asset.path
142
+ identifiers_to_track = [identifier] if identifier else []
143
+ elif isinstance(media_asset, MultiAsset):
144
+ assets = cast(list[MediaAsset], media_asset.assets)
145
+ for asset in assets:
146
+ asset._session = session
147
+ identifiers_to_track: list[str] = [
148
+ (asset._url if asset._url else cast(str, asset.path))
149
+ for asset in assets
150
+ ]
151
+ else:
152
+ raise ValueError(f"Unsupported asset type: {type(media_asset)}")
153
+
154
+ meta_model = meta.to_model() if meta else None
155
+ model = DatapointMetadataModel(
156
+ datasetId=self.dataset_id,
157
+ metadata=([DatapointMetadataModelMetadataInner(meta_model)] if meta_model else []),
158
+ sortIndex=index,
159
+ )
160
+
161
+ files: list[tuple[StrictStr, StrictBytes] | StrictStr | StrictBytes] = []
162
+ for asset in assets:
163
+ if isinstance(asset, MediaAsset):
164
+ files.append(asset.to_file())
165
+
166
+ upload_response = self.openapi_service.dataset_api.dataset_create_datapoint_post(
167
+ model=model,
168
+ files=files
169
+ )
170
+
171
+ if upload_response.errors:
172
+ error_msg = f"Error uploading datapoint: {upload_response.errors}"
173
+ self._logger.error(error_msg)
174
+ local_failed.extend(identifiers_to_track)
175
+ raise ValueError(error_msg)
176
+
177
+ local_successful.extend(identifiers_to_track)
178
+
179
+ except Exception as e:
180
+ self._logger.error(f"\nUpload failed for {identifiers_to_track}: {str(e)}") # \n to avoid same line as tqdm
181
+ local_failed.extend(identifiers_to_track)
182
+
183
+ return local_successful, local_failed
184
+
185
+
186
+ # Process uploads in chunks
187
+ successful_uploads: list[str] = []
188
+ failed_uploads: list[str] = []
189
+ total_uploads = len(media_paths)
190
+
191
+ with tqdm(total=total_uploads, desc="Uploading datapoints") as pbar:
192
+ for chunk_idx, chunk in enumerate(chunk_list(media_paths, chunk_size)):
193
+ chunk_metadata = metadata[chunk_idx * chunk_size:(chunk_idx + 1) * chunk_size] if metadata else None
194
+
195
+ with ThreadPoolExecutor(max_workers=max_workers) as executor:
196
+ futures = [
197
+ executor.submit(
198
+ upload_datapoint,
199
+ media_asset,
200
+ meta,
201
+ index=(chunk_idx * chunk_size + i),
202
+ session=session
203
+ )
204
+ for i, (media_asset, meta) in enumerate(zip_longest(chunk, chunk_metadata or []))
205
+ ]
206
+
207
+ for future in as_completed(futures):
208
+ try:
209
+ chunk_successful, chunk_failed = future.result()
210
+ successful_uploads.extend(chunk_successful)
211
+ failed_uploads.extend(chunk_failed)
212
+ except Exception as e:
213
+ self._logger.error(f"Future execution failed: {str(e)}")
214
+ finally:
215
+ pbar.update(1)
216
+
217
+ # Log summary statistics
218
+ success_rate = len(successful_uploads) / total_uploads * 100 if total_uploads > 0 else 0
219
+ self._logger.info(f"Upload complete: {len(successful_uploads)} successful, {len(failed_uploads)} failed ({success_rate:.1f}% success rate)")
220
+
221
+ if failed_uploads:
222
+ print(f"Failed uploads: {failed_uploads}")
223
+
224
+ return successful_uploads, failed_uploads
225
+
@@ -193,7 +193,10 @@ class RapidataResults(dict):
193
193
  key: value for key, value in result.items()
194
194
  if not isinstance(value, dict)
195
195
  }
196
-
196
+
197
+ row["assetA"] = asset_a
198
+ row["assetB"] = asset_b
199
+
197
200
  # Handle comparative metrics
198
201
  for key, values in result.items():
199
202
  if isinstance(values, dict) and len(values) == 2:
@@ -17,6 +17,19 @@ class ConditionalValidationSelection(RapidataSelection):
17
17
  thresholds (list[float]): The thresholds to use for the user score.
18
18
  chances (list[float]): The chances of showing a validation rapid for each threshold.
19
19
  rapid_counts (list[int]): The amount of validation rapids that will be shown per session of this validation set for each threshold if selected by probability. (all or nothing)
20
+
21
+ Example:
22
+ ```python
23
+ ConditionalValidationSelection(
24
+ validation_set_id="validation_set_id",
25
+ thresholds=[0, 0.7], # (0 must be the first threshold)
26
+ chances=[1, 0.2],
27
+ rapid_counts=[1, 1]
28
+ )
29
+ ```
30
+ This means that there's a 100% chance of showing a validation rapid if the user score is between 0 and 0.7,
31
+ and a 20% chance of showing a validation rapid if the user score is between 0.7 and 1.
32
+
20
33
  """
21
34
 
22
35
  def __init__(
@@ -14,7 +14,16 @@ class DemographicSelection(RapidataSelection):
14
14
  Args:
15
15
  keys (list[str]): List of keys for the demographic rapids to be shown. As an example: "age"
16
16
  max_rapids (int): The maximum number of rapids to run.\n
17
- Allows to provide more keys, in case some of the earlier ones are not selected because of high confidence."""
17
+ Allows to provide more keys, in case some of the earlier ones are not selected because of high confidence.
18
+
19
+ Example:
20
+ ```python
21
+ DemographicSelection(["age", "gender"], 1)
22
+ ```
23
+ This will try to ask the user about their age, if that is not selected due to an already high confidence, it will try asking about their gender.
24
+ The gender question may also be skipped if the confidence is high enough.
25
+ """
26
+
18
27
 
19
28
  def __init__(self, keys: list[str], max_rapids: int):
20
29
  self.keys = keys
@@ -66,7 +66,7 @@ class Rapid():
66
66
  payload=AddValidationRapidModelPayload(self.payload),
67
67
  truth=AddValidationRapidModelTruth(self.truth),
68
68
  metadata=[
69
- DatapointMetadataModelMetadataInner(meta._to_model())
69
+ DatapointMetadataModelMetadataInner(meta.to_model())
70
70
  for meta in self.metadata
71
71
  ],
72
72
  randomCorrectProbability=self.randomCorrectProbability,
@@ -93,7 +93,7 @@ class Rapid():
93
93
  payload=AddValidationRapidModelPayload(self.payload),
94
94
  truth=AddValidationRapidModelTruth(self.truth),
95
95
  metadata=[
96
- DatapointMetadataModelMetadataInner(meta._to_model())
96
+ DatapointMetadataModelMetadataInner(meta.to_model())
97
97
  for meta in self.metadata
98
98
  ],
99
99
  randomCorrectProbability=self.randomCorrectProbability,
@@ -238,10 +238,10 @@ class RapidsManager:
238
238
 
239
239
  model_truth = BoundingBoxTruth(
240
240
  _t="BoundingBoxTruth",
241
- xMax=truths[0].x_max / img_dimensions[0],
242
- xMin=truths[0].x_min / img_dimensions[0],
243
- yMax=truths[0].y_max / img_dimensions[1],
244
- yMin=truths[0].y_min / img_dimensions[1],
241
+ xMax=truths[0].x_max / img_dimensions[0] * 100,
242
+ xMin=truths[0].x_min / img_dimensions[0] * 100,
243
+ yMax=truths[0].y_max / img_dimensions[1] * 100,
244
+ yMin=truths[0].y_min / img_dimensions[1] * 100,
245
245
  )
246
246
 
247
247
  coverage = self._calculate_boxes_coverage(truths, img_dimensions[0], img_dimensions[1])
@@ -58,6 +58,14 @@ class ValidationSetManager:
58
58
  Will be match up with the datapoints using the list index.
59
59
  print_confirmation (bool, optional): Whether to print a confirmation message that validation set has been created. Defaults to True.
60
60
  explanations (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
61
+
62
+ Example:
63
+ ```python
64
+ options: ["yes", "no", "maybe"]
65
+ datapoints: ["datapoint1", "datapoint2"]
66
+ truths: [["yes"], ["no", "maybe"]]
67
+ ```
68
+ This would mean: first datapoint correct answer is "yes", second datapoint is "no" or "maybe"
61
69
  """
62
70
 
63
71
  if len(datapoints) != len(truths):
@@ -116,6 +124,14 @@ class ValidationSetManager:
116
124
  Will be match up with the datapoints using the list index.
117
125
  print_confirmation (bool, optional): Whether to print a confirmation message that validation set has been created. Defaults to True.
118
126
  explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
127
+
128
+ Example:
129
+ ```python
130
+ instruction: "Which image has a cat?"
131
+ datapoints = [["image1.jpg", "image2.jpg"], ["image3.jpg", "image4.jpg"]]
132
+ truths: ["image1.jpg", "image4.jpg"]
133
+ ```
134
+ This would mean: first comparison image1.jpg has a cat, second comparison image4.jpg has a cat
119
135
  """
120
136
 
121
137
  if len(datapoints) != len(truths):
@@ -164,8 +180,8 @@ class ValidationSetManager:
164
180
  truths (list[list[int]]): The truths for each datapoint. Outer list is for each datapoint, inner list is for each truth.\n
165
181
  example:
166
182
  datapoints: ["datapoint1", "datapoint2"]
167
- sentences: ["this example 1", "this example 2"]
168
- truths: [[0, 1], [2]] -> first datapoint correct words are "this" and "example", second datapoint is "2"
183
+ sentences: ["this example 1", "this example with another text"]
184
+ truths: [[0, 1], [2]] -> first datapoint correct words are "this" and "example", second datapoint is "with"
169
185
  datapoints (list[str]): The datapoints that will be used for validation.
170
186
  sentences (list[str]): The sentences that will be used for validation. The sentece will be split up by spaces to be selected by the labeler.
171
187
  Must be the same length as datapoints.
@@ -173,6 +189,14 @@ class ValidationSetManager:
173
189
  required_completeness (float, optional): The required completeness for the labeler to get the rapid correct (miminum ratio of total correct words selected). Defaults to 1.0 (all correct words need to be selected).
174
190
  print_confirmation (bool, optional): Whether to print a confirmation message that validation set has been created. Defaults to True.
175
191
  explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
192
+
193
+ Example:
194
+ ```python
195
+ datapoints: ["datapoint1", "datapoint2"]
196
+ sentences: ["this example 1", "this example with another text"]
197
+ truths: [[0, 1], [2]]
198
+ ```
199
+ This would mean: first datapoint the correct words are "this" and "example", second datapoint is "with"
176
200
  """
177
201
 
178
202
  if not all([isinstance(truth, (list, tuple)) for truth in truths]):
@@ -222,6 +246,13 @@ class ValidationSetManager:
222
246
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.
223
247
  print_confirmation (bool, optional): Whether to print a confirmation message that validation set has been created. Defaults to True.
224
248
  explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
249
+
250
+ Example:
251
+ ```python
252
+ datapoints: ["datapoint1", "datapoint2"]
253
+ truths: [[Box(0, 0, 100, 100)], [Box(50, 50, 150, 150)]]
254
+ ```
255
+ This would mean: first datapoint the object is in the top left corner, second datapoint the object is in the center
225
256
  """
226
257
 
227
258
  if len(datapoints) != len(truths):
@@ -274,6 +305,13 @@ class ValidationSetManager:
274
305
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.
275
306
  print_confirmation (bool, optional): Whether to print a confirmation message that validation set has been created. Defaults to True.
276
307
  explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
308
+
309
+ Example:
310
+ ```python
311
+ datapoints: ["datapoint1", "datapoint2"]
312
+ truths: [[Box(0, 0, 100, 100)], [Box(50, 50, 150, 150)]]
313
+ ```
314
+ This would mean: first datapoint the object is in the top left corner, second datapoint the object is in the center
277
315
  """
278
316
 
279
317
  if len(datapoints) != len(truths):
@@ -326,6 +364,13 @@ class ValidationSetManager:
326
364
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.
327
365
  print_confirmation (bool, optional): Whether to print a confirmation message that validation set has been created. Defaults to True.
328
366
  explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
367
+
368
+ Example:
369
+ ```python
370
+ datapoints: ["datapoint1", "datapoint2"]
371
+ truths: [[(0, 10)], [(20, 30)]]
372
+ ```
373
+ This would mean: first datapoint the correct interval is from 0 to 10, second datapoint the correct interval is from 20 to 30
329
374
  """
330
375
 
331
376
  if len(datapoints) != len(truths):
@@ -11,7 +11,6 @@ from rapidata.service.credential_manager import CredentialManager
11
11
 
12
12
  logger = logging.getLogger(__name__)
13
13
 
14
-
15
14
  class TokenInfo(BaseModel):
16
15
  access_token: str
17
16
  expires_in: int
@@ -40,6 +39,7 @@ class TokenManager:
40
39
  cert_path: str | None = None,
41
40
  refresh_threshold: float = 0.8,
42
41
  max_sleep_time: float = 30,
42
+ max_token_lifetime: int = 60,
43
43
  ):
44
44
  self._client_id = client_id
45
45
  self._client_secret = client_secret
@@ -59,6 +59,7 @@ class TokenManager:
59
59
  self._cert_path = cert_path
60
60
  self._refresh_threshold = refresh_threshold
61
61
  self._max_sleep_time = max_sleep_time
62
+ self._max_token_lifetime = max_token_lifetime
62
63
 
63
64
  self._token_lock = threading.Lock()
64
65
  self._current_token: Optional[TokenInfo] = None
@@ -83,7 +84,7 @@ class TokenManager:
83
84
  return TokenInfo(
84
85
  access_token=data["access_token"],
85
86
  token_type=data["token_type"],
86
- expires_in=data["expires_in"],
87
+ expires_in=min(self._max_token_lifetime, data["expires_in"]),
87
88
  issued_at=datetime.now(),
88
89
  )
89
90