labelbox 3.78.2__tar.gz → 6.6.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.
- {labelbox-3.78.2 → labelbox-6.6.0}/CHANGELOG.md +132 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/Dockerfile +3 -3
- {labelbox-3.78.2 → labelbox-6.6.0}/PKG-INFO +6 -5
- labelbox-6.6.0/mypy.ini +16 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/pyproject.toml +17 -9
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/__init__.py +40 -13
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/adv_client.py +37 -31
- labelbox-6.6.0/src/labelbox/annotated_types.py +5 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/client.py +792 -933
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/__init__.py +9 -16
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/annotation.py +5 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/base_annotation.py +6 -4
- labelbox-6.6.0/src/labelbox/data/annotation_types/classification/__init__.py +1 -0
- labelbox-6.6.0/src/labelbox/data/annotation_types/classification/classification.py +76 -0
- labelbox-6.6.0/src/labelbox/data/annotation_types/collection.py +77 -0
- labelbox-6.6.0/src/labelbox/data/annotation_types/data/__init__.py +2 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/data/base_data.py +3 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/data/generic_data_row_data.py +6 -5
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/data/raster.py +51 -47
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/data/tiled_image.py +203 -147
- labelbox-6.6.0/src/labelbox/data/annotation_types/feature.py +23 -0
- labelbox-6.6.0/src/labelbox/data/annotation_types/geometry/geometry.py +58 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/line.py +24 -20
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/mask.py +29 -23
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/point.py +19 -12
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/polygon.py +19 -14
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/rectangle.py +33 -22
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/label.py +55 -94
- labelbox-6.6.0/src/labelbox/data/annotation_types/llm_prompt_response/__init__.py +2 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/llm_prompt_response/prompt.py +9 -11
- labelbox-6.6.0/src/labelbox/data/annotation_types/metrics/__init__.py +6 -0
- labelbox-6.6.0/src/labelbox/data/annotation_types/metrics/base.py +39 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/metrics/confusion_matrix.py +14 -10
- labelbox-6.6.0/src/labelbox/data/annotation_types/metrics/scalar.py +57 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/mmc.py +15 -4
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/ner/conversation_entity.py +3 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/ner/document_entity.py +6 -5
- labelbox-6.6.0/src/labelbox/data/annotation_types/ner/text_entity.py +20 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/relationship.py +6 -4
- labelbox-6.6.0/src/labelbox/data/annotation_types/types.py +20 -0
- labelbox-6.6.0/src/labelbox/data/annotation_types/video.py +122 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/generator.py +3 -4
- labelbox-6.6.0/src/labelbox/data/metrics/__init__.py +5 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/confusion_matrix/calculation.py +107 -66
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/confusion_matrix/confusion_matrix.py +43 -37
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/group.py +44 -30
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/iou/calculation.py +127 -74
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/iou/iou.py +30 -23
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/mixins.py +16 -31
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/ontology.py +48 -27
- labelbox-6.6.0/src/labelbox/data/serialization/__init__.py +1 -0
- labelbox-6.6.0/src/labelbox/data/serialization/ndjson/base.py +40 -0
- labelbox-6.6.0/src/labelbox/data/serialization/ndjson/classification.py +508 -0
- labelbox-6.6.0/src/labelbox/data/serialization/ndjson/converter.py +44 -0
- labelbox-6.6.0/src/labelbox/data/serialization/ndjson/label.py +211 -0
- labelbox-6.6.0/src/labelbox/data/serialization/ndjson/metric.py +127 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/serialization/ndjson/mmc.py +16 -9
- labelbox-6.6.0/src/labelbox/data/serialization/ndjson/objects.py +807 -0
- labelbox-6.6.0/src/labelbox/data/serialization/ndjson/relationship.py +54 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/comparison.py +27 -19
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/db_object.py +82 -50
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/model.py +57 -44
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/query.py +139 -80
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/pagination.py +59 -39
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/parser.py +3 -4
- labelbox-6.6.0/src/labelbox/project_validation.py +87 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/__init__.py +1 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/annotation_import.py +268 -162
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/asset_attachment.py +16 -23
- labelbox-6.6.0/src/labelbox/schema/batch.py +154 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/benchmark.py +9 -5
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/catalog.py +78 -67
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/confidence_presence_checker.py +3 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/create_batches_task.py +9 -4
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/data_row.py +149 -108
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/data_row_metadata.py +281 -235
- labelbox-6.6.0/src/labelbox/schema/data_row_payload_templates.py +41 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/dataset.py +213 -285
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/embedding.py +9 -6
- labelbox-6.6.0/src/labelbox/schema/enums.py +41 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/export_filters.py +76 -74
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/export_params.py +9 -12
- labelbox-6.6.0/src/labelbox/schema/export_task.py +588 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/foundry/app.py +7 -7
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/foundry/foundry_client.py +24 -14
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/foundry/model.py +3 -3
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/iam_integration.py +3 -3
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/id_type.py +2 -1
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/identifiables.py +4 -2
- labelbox-6.6.0/src/labelbox/schema/internal/data_row_uploader.py +44 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/internal/data_row_upsert_item.py +30 -24
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/internal/descriptor_file_creator.py +73 -49
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/invite.py +6 -3
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/label.py +8 -6
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/label_score.py +2 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/labeling_frontend.py +3 -13
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/labeling_service.py +31 -21
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/labeling_service_dashboard.py +67 -47
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/labeling_service_status.py +9 -9
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/media_type.py +19 -13
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/model.py +19 -14
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/model_config.py +2 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/model_run.py +260 -257
- labelbox-6.6.0/src/labelbox/schema/ontology.py +354 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/ontology_kind.py +47 -31
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/organization.py +82 -46
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/project.py +518 -796
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/project_model_config.py +11 -6
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/project_overview.py +12 -8
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/project_resource_tag.py +2 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/resource_tag.py +2 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/review.py +3 -3
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/role.py +7 -9
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/search_filters.py +129 -74
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/send_to_annotate_params.py +40 -43
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/serialization.py +4 -3
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/slice.py +108 -121
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/task.py +101 -84
- labelbox-6.6.0/src/labelbox/schema/tool_building/__init__.py +7 -0
- labelbox-6.6.0/src/labelbox/schema/tool_building/base_step_reasoning_tool.py +105 -0
- labelbox-6.6.0/src/labelbox/schema/tool_building/classification.py +386 -0
- labelbox-6.6.0/src/labelbox/schema/tool_building/fact_checking_tool.py +86 -0
- labelbox-6.6.0/src/labelbox/schema/tool_building/prompt_issue_tool.py +106 -0
- labelbox-6.6.0/src/labelbox/schema/tool_building/step_reasoning_tool.py +55 -0
- labelbox-6.6.0/src/labelbox/schema/tool_building/tool_type.py +15 -0
- labelbox-6.6.0/src/labelbox/schema/tool_building/tool_type_mapping.py +21 -0
- labelbox-6.6.0/src/labelbox/schema/tool_building/types.py +33 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/user.py +26 -19
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/user_group.py +62 -56
- labelbox-6.6.0/src/labelbox/schema/user_group_v2.py +248 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/webhook.py +24 -15
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/types.py +1 -1
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/utils.py +26 -19
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/conftest.py +520 -358
- labelbox-6.6.0/tests/data/annotation_import/conftest.py +2750 -0
- labelbox-6.6.0/tests/data/annotation_import/test_annotation_import_limit.py +54 -0
- labelbox-6.6.0/tests/data/annotation_import/test_generic_data_types.py +305 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_label_import.py +74 -47
- labelbox-6.6.0/tests/data/annotation_import/test_mal_prediction_import.py +84 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_mea_prediction_import.py +194 -85
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_model.py +1 -1
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_model_run.py +64 -43
- labelbox-6.6.0/tests/data/annotation_import/test_relationships.py +222 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_send_to_annotate_mea.py +28 -18
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_upsert_prediction_import.py +62 -39
- labelbox-6.6.0/tests/data/annotation_types/classification/test_classification.py +193 -0
- labelbox-6.6.0/tests/data/annotation_types/data/test_raster.py +45 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/test_line.py +4 -4
- labelbox-6.6.0/tests/data/annotation_types/geometry/test_mask.py +145 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/test_point.py +3 -3
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/test_polygon.py +8 -7
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/test_rectangle.py +5 -5
- labelbox-6.6.0/tests/data/annotation_types/test_annotation.py +110 -0
- labelbox-6.6.0/tests/data/annotation_types/test_collection.py +91 -0
- labelbox-6.6.0/tests/data/annotation_types/test_label.py +59 -0
- labelbox-6.6.0/tests/data/annotation_types/test_metrics.py +215 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/test_ner.py +14 -6
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/test_tiled_image.py +43 -29
- labelbox-6.6.0/tests/data/annotation_types/test_video.py +20 -0
- labelbox-6.6.0/tests/data/assets/ndjson/image_import.json +86 -0
- labelbox-6.6.0/tests/data/assets/ndjson/image_import_name_only.json +86 -0
- labelbox-6.6.0/tests/data/assets/ndjson/metric_import.json +10 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/video_import.json +1 -1
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/video_import_name_only.json +1 -1
- labelbox-6.6.0/tests/data/conftest.py +64 -0
- labelbox-6.6.0/tests/data/export/conftest.py +644 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_data_rows_streamable.py +50 -32
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_dataset_streamable.py +44 -26
- labelbox-6.6.0/tests/data/export/streamable/test_export_embeddings_streamable.py +82 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_model_run_streamable.py +20 -15
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_project_streamable.py +129 -94
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_video_streamable.py +64 -55
- labelbox-6.6.0/tests/data/metrics/confusion_matrix/conftest.py +475 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/metrics/confusion_matrix/test_confusion_matrix_data_row.py +37 -26
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/metrics/confusion_matrix/test_confusion_matrix_feature.py +32 -22
- labelbox-6.6.0/tests/data/metrics/iou/data_row/conftest.py +696 -0
- labelbox-6.6.0/tests/data/metrics/iou/feature/conftest.py +201 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/metrics/iou/feature/test_feature_iou.py +2 -1
- labelbox-6.6.0/tests/data/serialization/ndjson/test_checklist.py +308 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_classification.py +123 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_conversation.py +196 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_data_gen.py +29 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_document.py +346 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_export_video_objects.py +590 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_free_text.py +94 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_generic_data_row_data.py +79 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_global_key.py +74 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_image.py +275 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_metric.py +166 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_mmc.py +125 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_nested.py +249 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_polyline.py +76 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_radio.py +92 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/serialization/ndjson/test_rectangle.py +52 -33
- labelbox-6.6.0/tests/data/serialization/ndjson/test_relationship.py +194 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_text.py +33 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_text_entity.py +68 -0
- labelbox-6.6.0/tests/data/serialization/ndjson/test_video.py +1404 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/test_data_row_metadata.py +150 -156
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/test_prefetch_generator.py +1 -2
- labelbox-6.6.0/tests/integration/conftest.py +956 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/schema/test_user_group.py +14 -22
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_batch.py +102 -93
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_batches.py +6 -7
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_benchmark.py +3 -3
- labelbox-6.6.0/tests/integration/test_chat_evaluation_ontology_project.py +157 -0
- labelbox-6.6.0/tests/integration/test_client_errors.py +103 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_data_row_delete_metadata.py +143 -91
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_data_rows.py +489 -485
- labelbox-6.6.0/tests/integration/test_data_rows_upsert.py +280 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_data_upload.py +0 -1
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_dataset.py +46 -39
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_dates.py +4 -2
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_delegated_access.py +62 -46
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_embedding.py +16 -23
- labelbox-6.6.0/tests/integration/test_ephemeral.py +25 -0
- labelbox-6.6.0/tests/integration/test_feature_schema.py +143 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_filtering.py +12 -11
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_foundry.py +67 -49
- labelbox-6.6.0/tests/integration/test_global_keys.py +196 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_label.py +14 -14
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_labeling_dashboard.py +59 -24
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_labeling_frontend.py +5 -3
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_labeling_parameter_overrides.py +34 -24
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_labeling_service.py +30 -19
- labelbox-6.6.0/tests/integration/test_legacy_project.py +11 -0
- labelbox-6.6.0/tests/integration/test_mmc_data_rows.py +82 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_model_config.py +10 -4
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_offline_chat_evaluation_project.py +7 -5
- labelbox-6.6.0/tests/integration/test_ontology.py +520 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_pagination.py +0 -1
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_project.py +94 -66
- labelbox-6.6.0/tests/integration/test_project_model_config.py +66 -0
- labelbox-6.6.0/tests/integration/test_project_set_model_setup_complete.py +61 -0
- labelbox-6.6.0/tests/integration/test_project_setup.py +48 -0
- labelbox-6.6.0/tests/integration/test_prompt_response_generation_project.py +185 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_response_creation_project.py +12 -6
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_send_to_annotate.py +23 -16
- labelbox-6.6.0/tests/integration/test_task.py +80 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_task_queue.py +23 -11
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_toggle_mal.py +3 -3
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_user_and_org.py +1 -1
- labelbox-6.6.0/tests/integration/test_user_management.py +218 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_webhook.py +15 -12
- labelbox-6.6.0/tests/unit/conftest.py +108 -0
- labelbox-6.6.0/tests/unit/export_task/test_export_task.py +154 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/schema/test_user_group.py +96 -115
- labelbox-6.6.0/tests/unit/schema/test_user_group_v2.py +50 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_annotation_import.py +22 -26
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_client.py +5 -4
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_data_row_upsert_data.py +59 -60
- labelbox-6.6.0/tests/unit/test_exceptions.py +19 -0
- labelbox-6.6.0/tests/unit/test_label_data_type.py +46 -0
- labelbox-6.6.0/tests/unit/test_labeling_service_dashboard.py +75 -0
- labelbox-6.6.0/tests/unit/test_mal_import.py +68 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_ndjson_parsing.py +1 -1
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_project.py +16 -22
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_delete_batch_data_row_metadata.py +24 -32
- labelbox-6.6.0/tests/unit/test_unit_descriptor_file_creator.py +54 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_entity_meta.py +8 -6
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_export_filters.py +24 -19
- labelbox-6.6.0/tests/unit/test_unit_fact_checking_tool.py +87 -0
- labelbox-6.6.0/tests/unit/test_unit_label_import.py +46 -0
- labelbox-6.6.0/tests/unit/test_unit_ontology.py +296 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_ontology_kind.py +11 -4
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_project_validate_labeling_parameter_overrides.py +10 -17
- labelbox-6.6.0/tests/unit/test_unit_prompt_issue_tool.py +74 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_query.py +9 -8
- labelbox-6.6.0/tests/unit/test_unit_search_filters.py +149 -0
- labelbox-6.6.0/tests/unit/test_unit_step_ontology_variants.py +31 -0
- labelbox-6.6.0/tests/unit/test_unit_step_reasoning_tool.py +87 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_webhook.py +3 -6
- labelbox-6.6.0/tests/unit/test_utils.py +34 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/utils.py +3 -3
- labelbox-3.78.2/mypy.ini +0 -10
- labelbox-3.78.2/src/labelbox/data/annotation_types/classification/__init__.py +0 -2
- labelbox-3.78.2/src/labelbox/data/annotation_types/classification/classification.py +0 -117
- labelbox-3.78.2/src/labelbox/data/annotation_types/collection.py +0 -135
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/__init__.py +0 -12
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/audio.py +0 -7
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/conversation.py +0 -7
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/dicom.py +0 -7
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/document.py +0 -7
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/html.py +0 -7
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/llm_prompt_creation.py +0 -7
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/llm_prompt_response_creation.py +0 -8
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/llm_response_creation.py +0 -7
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/text.py +0 -113
- labelbox-3.78.2/src/labelbox/data/annotation_types/data/video.py +0 -172
- labelbox-3.78.2/src/labelbox/data/annotation_types/feature.py +0 -31
- labelbox-3.78.2/src/labelbox/data/annotation_types/geometry/geometry.py +0 -45
- labelbox-3.78.2/src/labelbox/data/annotation_types/llm_prompt_response/__init__.py +0 -2
- labelbox-3.78.2/src/labelbox/data/annotation_types/metrics/__init__.py +0 -2
- labelbox-3.78.2/src/labelbox/data/annotation_types/metrics/base.py +0 -35
- labelbox-3.78.2/src/labelbox/data/annotation_types/metrics/scalar.py +0 -50
- labelbox-3.78.2/src/labelbox/data/annotation_types/ner/text_entity.py +0 -19
- labelbox-3.78.2/src/labelbox/data/annotation_types/types.py +0 -50
- labelbox-3.78.2/src/labelbox/data/annotation_types/video.py +0 -150
- labelbox-3.78.2/src/labelbox/data/metrics/__init__.py +0 -2
- labelbox-3.78.2/src/labelbox/data/serialization/__init__.py +0 -3
- labelbox-3.78.2/src/labelbox/data/serialization/coco/__init__.py +0 -1
- labelbox-3.78.2/src/labelbox/data/serialization/coco/annotation.py +0 -73
- labelbox-3.78.2/src/labelbox/data/serialization/coco/categories.py +0 -16
- labelbox-3.78.2/src/labelbox/data/serialization/coco/converter.py +0 -156
- labelbox-3.78.2/src/labelbox/data/serialization/coco/image.py +0 -52
- labelbox-3.78.2/src/labelbox/data/serialization/coco/instance_dataset.py +0 -214
- labelbox-3.78.2/src/labelbox/data/serialization/coco/panoptic_dataset.py +0 -213
- labelbox-3.78.2/src/labelbox/data/serialization/coco/path.py +0 -9
- labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/__init__.py +0 -1
- labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/classification.py +0 -135
- labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/converter.py +0 -105
- labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/feature.py +0 -31
- labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/label.py +0 -251
- labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/objects.py +0 -339
- labelbox-3.78.2/src/labelbox/data/serialization/ndjson/base.py +0 -58
- labelbox-3.78.2/src/labelbox/data/serialization/ndjson/classification.py +0 -424
- labelbox-3.78.2/src/labelbox/data/serialization/ndjson/converter.py +0 -123
- labelbox-3.78.2/src/labelbox/data/serialization/ndjson/label.py +0 -289
- labelbox-3.78.2/src/labelbox/data/serialization/ndjson/metric.py +0 -117
- labelbox-3.78.2/src/labelbox/data/serialization/ndjson/objects.py +0 -784
- labelbox-3.78.2/src/labelbox/data/serialization/ndjson/relationship.py +0 -44
- labelbox-3.78.2/src/labelbox/exceptions.py +0 -179
- labelbox-3.78.2/src/labelbox/pydantic_compat.py +0 -34
- labelbox-3.78.2/src/labelbox/schema/batch.py +0 -197
- labelbox-3.78.2/src/labelbox/schema/bulk_import_request.py +0 -942
- labelbox-3.78.2/src/labelbox/schema/enums.py +0 -63
- labelbox-3.78.2/src/labelbox/schema/export_task.py +0 -927
- labelbox-3.78.2/src/labelbox/schema/internal/data_row_uploader.py +0 -37
- labelbox-3.78.2/src/labelbox/schema/ontology.py +0 -599
- labelbox-3.78.2/src/labelbox/schema/queue_mode.py +0 -12
- labelbox-3.78.2/src/labelbox/typing_imports.py +0 -10
- labelbox-3.78.2/tests/data/annotation_import/conftest.py +0 -2173
- labelbox-3.78.2/tests/data/annotation_import/test_annotation_import_limit.py +0 -33
- labelbox-3.78.2/tests/data/annotation_import/test_bulk_import_request.py +0 -221
- labelbox-3.78.2/tests/data/annotation_import/test_data_types.py +0 -79
- labelbox-3.78.2/tests/data/annotation_import/test_generic_data_types.py +0 -280
- labelbox-3.78.2/tests/data/annotation_import/test_mal_prediction_import.py +0 -58
- labelbox-3.78.2/tests/data/annotation_import/test_ndjson_validation.py +0 -227
- labelbox-3.78.2/tests/data/annotation_types/classification/test_classification.py +0 -243
- labelbox-3.78.2/tests/data/annotation_types/data/test_raster.py +0 -53
- labelbox-3.78.2/tests/data/annotation_types/data/test_text.py +0 -53
- labelbox-3.78.2/tests/data/annotation_types/data/test_video.py +0 -71
- labelbox-3.78.2/tests/data/annotation_types/geometry/test_mask.py +0 -78
- labelbox-3.78.2/tests/data/annotation_types/test_annotation.py +0 -98
- labelbox-3.78.2/tests/data/annotation_types/test_collection.py +0 -128
- labelbox-3.78.2/tests/data/annotation_types/test_label.py +0 -212
- labelbox-3.78.2/tests/data/annotation_types/test_metrics.py +0 -204
- labelbox-3.78.2/tests/data/annotation_types/test_video.py +0 -19
- labelbox-3.78.2/tests/data/assets/ndjson/classification_import_global_key.json +0 -54
- labelbox-3.78.2/tests/data/assets/ndjson/conversation_entity_import_global_key.json +0 -25
- labelbox-3.78.2/tests/data/assets/ndjson/image_import.json +0 -811
- labelbox-3.78.2/tests/data/assets/ndjson/image_import_global_key.json +0 -823
- labelbox-3.78.2/tests/data/assets/ndjson/image_import_name_only.json +0 -826
- labelbox-3.78.2/tests/data/assets/ndjson/metric_import.json +0 -1
- labelbox-3.78.2/tests/data/assets/ndjson/metric_import_global_key.json +0 -1
- labelbox-3.78.2/tests/data/assets/ndjson/pdf_import_global_key.json +0 -155
- labelbox-3.78.2/tests/data/assets/ndjson/polyline_import_global_key.json +0 -36
- labelbox-3.78.2/tests/data/assets/ndjson/text_entity_import_global_key.json +0 -26
- labelbox-3.78.2/tests/data/assets/ndjson/video_import_global_key.json +0 -166
- labelbox-3.78.2/tests/data/conftest.py +0 -49
- labelbox-3.78.2/tests/data/export/conftest.py +0 -507
- labelbox-3.78.2/tests/data/export/legacy/test_export_catalog.py +0 -19
- labelbox-3.78.2/tests/data/export/legacy/test_export_data_rows.py +0 -29
- labelbox-3.78.2/tests/data/export/legacy/test_export_dataset.py +0 -44
- labelbox-3.78.2/tests/data/export/legacy/test_export_model_run.py +0 -45
- labelbox-3.78.2/tests/data/export/legacy/test_export_project.py +0 -236
- labelbox-3.78.2/tests/data/export/legacy/test_export_slice.py +0 -17
- labelbox-3.78.2/tests/data/export/legacy/test_export_video.py +0 -244
- labelbox-3.78.2/tests/data/export/legacy/test_legacy_export.py +0 -243
- labelbox-3.78.2/tests/data/export/streamable/test_export_embeddings_streamable.py +0 -73
- labelbox-3.78.2/tests/data/metrics/confusion_matrix/conftest.py +0 -405
- labelbox-3.78.2/tests/data/metrics/iou/data_row/conftest.py +0 -786
- labelbox-3.78.2/tests/data/metrics/iou/data_row/test_data_row_iou.py +0 -143
- labelbox-3.78.2/tests/data/metrics/iou/feature/conftest.py +0 -155
- labelbox-3.78.2/tests/data/serialization/coco/test_coco.py +0 -34
- labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_document.py +0 -45
- labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_image.py +0 -49
- labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_text.py +0 -27
- labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_tiled_image.py +0 -45
- labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_unknown_media.py +0 -47
- labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_video.py +0 -40
- labelbox-3.78.2/tests/data/serialization/ndjson/test_checklist.py +0 -285
- labelbox-3.78.2/tests/data/serialization/ndjson/test_classification.py +0 -21
- labelbox-3.78.2/tests/data/serialization/ndjson/test_conversation.py +0 -133
- labelbox-3.78.2/tests/data/serialization/ndjson/test_data_gen.py +0 -57
- labelbox-3.78.2/tests/data/serialization/ndjson/test_dicom.py +0 -201
- labelbox-3.78.2/tests/data/serialization/ndjson/test_document.py +0 -79
- labelbox-3.78.2/tests/data/serialization/ndjson/test_export_video_objects.py +0 -626
- labelbox-3.78.2/tests/data/serialization/ndjson/test_free_text.py +0 -103
- labelbox-3.78.2/tests/data/serialization/ndjson/test_global_key.py +0 -68
- labelbox-3.78.2/tests/data/serialization/ndjson/test_image.py +0 -104
- labelbox-3.78.2/tests/data/serialization/ndjson/test_metric.py +0 -44
- labelbox-3.78.2/tests/data/serialization/ndjson/test_mmc.py +0 -27
- labelbox-3.78.2/tests/data/serialization/ndjson/test_nested.py +0 -20
- labelbox-3.78.2/tests/data/serialization/ndjson/test_polyline.py +0 -15
- labelbox-3.78.2/tests/data/serialization/ndjson/test_radio.py +0 -95
- labelbox-3.78.2/tests/data/serialization/ndjson/test_relationship.py +0 -68
- labelbox-3.78.2/tests/data/serialization/ndjson/test_text.py +0 -35
- labelbox-3.78.2/tests/data/serialization/ndjson/test_text_entity.py +0 -18
- labelbox-3.78.2/tests/data/serialization/ndjson/test_video.py +0 -506
- labelbox-3.78.2/tests/integration/conftest.py +0 -778
- labelbox-3.78.2/tests/integration/test_chat_evaluation_ontology_project.py +0 -142
- labelbox-3.78.2/tests/integration/test_client_errors.py +0 -125
- labelbox-3.78.2/tests/integration/test_data_rows_upsert.py +0 -275
- labelbox-3.78.2/tests/integration/test_ephemeral.py +0 -21
- labelbox-3.78.2/tests/integration/test_feature_schema.py +0 -119
- labelbox-3.78.2/tests/integration/test_global_keys.py +0 -206
- labelbox-3.78.2/tests/integration/test_legacy_project.py +0 -39
- labelbox-3.78.2/tests/integration/test_ontology.py +0 -288
- labelbox-3.78.2/tests/integration/test_project_model_config.py +0 -53
- labelbox-3.78.2/tests/integration/test_project_set_model_setup_complete.py +0 -66
- labelbox-3.78.2/tests/integration/test_project_setup.py +0 -77
- labelbox-3.78.2/tests/integration/test_prompt_response_generation_project.py +0 -164
- labelbox-3.78.2/tests/integration/test_task.py +0 -70
- labelbox-3.78.2/tests/integration/test_user_management.py +0 -114
- labelbox-3.78.2/tests/unit/conftest.py +0 -135
- labelbox-3.78.2/tests/unit/export_task/test_export_task.py +0 -195
- labelbox-3.78.2/tests/unit/export_task/test_unit_file_converter.py +0 -76
- labelbox-3.78.2/tests/unit/export_task/test_unit_file_retriever_by_line.py +0 -139
- labelbox-3.78.2/tests/unit/export_task/test_unit_file_retriever_by_offset.py +0 -96
- labelbox-3.78.2/tests/unit/export_task/test_unit_json_converter.py +0 -106
- labelbox-3.78.2/tests/unit/test_exceptions.py +0 -13
- labelbox-3.78.2/tests/unit/test_label_data_type.py +0 -59
- labelbox-3.78.2/tests/unit/test_mal_import.py +0 -75
- labelbox-3.78.2/tests/unit/test_queue_mode.py +0 -20
- labelbox-3.78.2/tests/unit/test_unit_descriptor_file_creator.py +0 -56
- labelbox-3.78.2/tests/unit/test_unit_label_import.py +0 -61
- labelbox-3.78.2/tests/unit/test_unit_ontology.py +0 -267
- labelbox-3.78.2/tests/unit/test_unit_search_filters.py +0 -85
- labelbox-3.78.2/tests/unit/test_utils.py +0 -21
- {labelbox-3.78.2 → labelbox-6.6.0}/.gitignore +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/.yapfignore +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/README.md +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/ner/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/confusion_matrix/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/iou/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/serialization/ndjson/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/conflict_resolution_strategy.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/consensus_settings.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/foundry/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/identifiable.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/internal/datarow_upload_constants.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/quality_mode.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/task_queue.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/assets/arxiv-pdf_data_99-word-token-pdfs_0801.3483-lb-textlayer.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/assets/arxiv-pdf_data_99-word-token-pdfs_0801.3483.pdf +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/assets/conversation-1.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/assets/loremipsum.pdf +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/classification/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/data/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/test_text.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000129054.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000141328.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000147498.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000184324.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000188465.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000245764.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000311303.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000343706.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000356387.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000370711.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000385029.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000393226.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000434230.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000458755.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000458768.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000462904.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000475150.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000532481.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000532493.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000546823.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/instances.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000129054.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000141328.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000147498.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000184324.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000188465.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000245764.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000311303.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000343706.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000356387.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000370711.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000385029.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000393226.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000434230.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000458755.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000458768.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000462904.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000475150.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000532481.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000532493.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000546823.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/panoptic.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/rle.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/highly_nested_image.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/image_export.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/pdf_export.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/text_export.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/tiled_image_export.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/unkown_media_type_export.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/video_export.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/line.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/mask.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/classification_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/classification_import_name_only.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/conversation_entity_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/conversation_entity_without_confidence_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/custom_confusion_matrix_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/custom_scalar_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/mmc_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/nested_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/nested_import_name_only.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/pdf_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/pdf_import_name_only.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/polyline_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/polyline_without_confidence_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/rectangle_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/relationship_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/text_entity_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/text_entity_without_confidence_import.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/point.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/polygon.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/rectangle.png +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/sample_text.txt +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/serialization/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/serialization/ndjson/__init__.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/media/bulk_conversation.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/media/cat.mp4 +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/media/sample_image.jpg +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/media/sample_pdf.pdf +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/snapshots/test_data_rows.test_data_row_bulk_creation_with_same_global_keys.failed_data_rows.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/snapshots/test_task.test_task_errors.errors.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/snapshots/test_task.test_task_errors.failed_data_rows.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/snapshots/test_task.test_task_success_json.json +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_sorting.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_case_change.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_filter.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_identifiables.py +0 -0
- {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_rand_gen.py +0 -0
|
@@ -1,8 +1,138 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
-
# Version
|
|
2
|
+
# Version 6.6.0 (2025-01-14)
|
|
3
|
+
## Added
|
|
4
|
+
* Support for python 3.13([#1940](https://github.com/Labelbox/labelbox-python/pull/1940))
|
|
5
|
+
* Note minimum numpy version that supports python 3.13 is 2.1
|
|
6
|
+
* Include predictions in slice export([#1939](https://github.com/Labelbox/labelbox-python/pull/1939))
|
|
7
|
+
|
|
8
|
+
## Fixed
|
|
9
|
+
* GraphQL upload SSL configuration([#1937](https://github.com/Labelbox/labelbox-python/pull/1937))
|
|
10
|
+
|
|
11
|
+
# Version 6.5.0 (2025-01-03)
|
|
12
|
+
## Added
|
|
13
|
+
* Support include predictions in catalog exports([#1935](https://github.com/Labelbox/labelbox-python/pull/1935))
|
|
14
|
+
|
|
15
|
+
# Version 6.4.0 (2024-12-19)
|
|
16
|
+
* Add feature schema attributes to support auto ocr tool in ontologies([#1930](https://github.com/Labelbox/labelbox-python/pull/1930))
|
|
17
|
+
* Move to task queue task id to be optional with default as None for better type support ([#1929](https://github.com/Labelbox/labelbox-python/pull/1929))
|
|
18
|
+
|
|
19
|
+
# Version 6.3.0 (2024-12-12)
|
|
20
|
+
## Added
|
|
21
|
+
* Group member upload([#1924](https://github.com/Labelbox/labelbox-python/pull/1924))
|
|
22
|
+
* Group member export([#1925](https://github.com/Labelbox/labelbox-python/pull/1925))
|
|
23
|
+
|
|
24
|
+
## Note
|
|
25
|
+
* The `Invite` class no longer returns the invite ID (uid).
|
|
26
|
+
|
|
27
|
+
# Version 6.2.0 (2024-11-26)
|
|
28
|
+
## Added
|
|
29
|
+
* Prompt Issue ontology support([#1917](https://github.com/Labelbox/labelbox-python/pull/1917)), ([#1891](https://github.com/Labelbox/labelbox-python/pull/1891))
|
|
30
|
+
* Fact Checking ontology support([#1883](https://github.com/Labelbox/labelbox-python/pull/1883))
|
|
31
|
+
* Get mal import functions to replace old BulkImportRequest class([#1909](https://github.com/Labelbox/labelbox-python/pull/1909))
|
|
32
|
+
* Deprecation warning to wait_until_done methods([#1913](https://github.com/Labelbox/labelbox-python/pull/1913))
|
|
33
|
+
* Deprecation warning to get_data_row_ids([#1912](https://github.com/Labelbox/labelbox-python/pull/1912))
|
|
34
|
+
|
|
35
|
+
## Fixed
|
|
36
|
+
* Optimization to relationship code ([#1920](https://github.com/Labelbox/labelbox-python/pull/1920))
|
|
37
|
+
* Relationship label bug([#1918](https://github.com/Labelbox/labelbox-python/pull/1918))
|
|
38
|
+
* Import lb-client exceptions for labelbox([#1916](https://github.com/Labelbox/labelbox-python/pull/1916))
|
|
39
|
+
* get_roles return type: Dict[str, Role] (instead of List[Role])([#1904](https://github.com/Labelbox/labelbox-python/pull/1904))
|
|
40
|
+
* Adjusted deprecation message to new standard([#1908](https://github.com/Labelbox/labelbox-python/pull/1908))
|
|
41
|
+
* Support for Client enable_experimental([#1905](https://github.com/Labelbox/labelbox-python/pull/1905))
|
|
42
|
+
|
|
43
|
+
## Removed
|
|
44
|
+
* Support for Dicom([#1902](https://github.com/Labelbox/labelbox-python/pull/1902)), ([#1903](https://github.com/Labelbox/labelbox-python/pull/1903))
|
|
45
|
+
|
|
46
|
+
# Version 6.1.0 (2024-11-12)
|
|
47
|
+
## Added
|
|
48
|
+
* Support for step reasoning ontology tool([#1894](https://github.com/Labelbox/labelbox-python/pull/1894), [#1882](https://github.com/Labelbox/labelbox-python/pull/1882), [#1879](https://github.com/Labelbox/labelbox-python/pull/1879))
|
|
49
|
+
|
|
50
|
+
## Fixed
|
|
51
|
+
* Use valid lbox.exception in client IAMIntegration validation([#1887](https://github.com/Labelbox/labelbox-python/pull/1887))
|
|
52
|
+
* Improve SDK method name detection for Datadog dashboard([#1880](https://github.com/Labelbox/labelbox-python/pull/1880))
|
|
53
|
+
* Limit labeling front end visibility and mentions of a custom editor([#1877](https://github.com/Labelbox/labelbox-python/pull/1877))
|
|
54
|
+
* Remove all unused python imports([#1876](https://github.com/Labelbox/labelbox-python/pull/1876))
|
|
55
|
+
* Remove bulk import request from readthedocs([#1881](https://github.com/Labelbox/labelbox-python/pull/1881))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
# Version 6.0.1 (2024-10-30)
|
|
59
|
+
## Fixed
|
|
60
|
+
* Updated labelbox.exception to lbox.exception for IAMIntegration check([#1887](https://github.com/Labelbox/labelbox-python/pull/1887))
|
|
61
|
+
|
|
62
|
+
# Version 6.0.0 (2024-10-15)
|
|
63
|
+
## Added
|
|
64
|
+
* Deprecation messages to all export_v2 methods([#1865](https://github.com/Labelbox/labelbox-python/pull/1865))
|
|
65
|
+
* Logic to extract sdk method to pass to datadog dashboard([#1865](https://github.com/Labelbox/labelbox-python/pull/1865))
|
|
66
|
+
* Graphql client as a separate component lbox.request_client([#1834](https://github.com/Labelbox/labelbox-python/pull/1834))
|
|
67
|
+
|
|
68
|
+
## Updated
|
|
69
|
+
* Minimum requirement numpy version from 1.24 to 1.25 and cleaned up _TypedArray validations([#1845](https://github.com/Labelbox/labelbox-python/pull/1845))
|
|
70
|
+
* Refactored client `create_project` inputs to be named parameters, not kwargs([#1844](https://github.com/Labelbox/labelbox-python/pull/1844))
|
|
71
|
+
* Fixed pydantic v2 deprecation warnings([#1838](https://github.com/Labelbox/labelbox-python/pull/1838))
|
|
72
|
+
* Remove experimental from `UserGroup`([#1840](https://github.com/Labelbox/labelbox-python/pull/1840))
|
|
73
|
+
* Improved labeling service error reporting([#1836](https://github.com/Labelbox/labelbox-python/pull/1836))
|
|
74
|
+
* Switched to ruff linter([#1822](https://github.com/Labelbox/labelbox-python/pull/1822))
|
|
75
|
+
|
|
76
|
+
## Fixed
|
|
77
|
+
* Labeling dashboard serialization ([#1870](https://github.com/Labelbox/labelbox-python/pull/1870))
|
|
78
|
+
* Handling of global key in ModelEvaluationTemplate([#1869](https://github.com/Labelbox/labelbox-python/pull/1869))
|
|
79
|
+
|
|
80
|
+
## Removed
|
|
81
|
+
* Various deprecated classes, methods and attributes([#1853](https://github.com/Labelbox/labelbox-python/pull/1853))
|
|
82
|
+
* `QueueMode` for project
|
|
83
|
+
* LabelGenerator `assign_feature_schema_ids`
|
|
84
|
+
* Label `assign_feature_schema_ids`
|
|
85
|
+
* AttachmentType `attachment_type` TEXT
|
|
86
|
+
* DataRowMetadata bulk_delete `deletes` paramerter - support for string for data row ids or global keys, use `UniqueId` or `GlobalKey` class instead
|
|
87
|
+
* Dataset `create_data_rows_sync`. Use create_data_rows instead
|
|
88
|
+
* Slice `get_data_row_ids`. Use get_data_row_identifiers instead
|
|
89
|
+
* More deprecations([#1852](https://github.com/Labelbox/labelbox-python/pull/1852))
|
|
90
|
+
* LabelingParameterOverrideInput remove instance of `DataRow` as a type of input
|
|
91
|
+
* Project `_update_queue_mode`, `get_queue_mode`
|
|
92
|
+
* Support for Python 3.8([#1847](https://github.com/Labelbox/labelbox-python/pull/1847))
|
|
93
|
+
* Project `setup`([#1843](https://github.com/Labelbox/labelbox-python/pull/1843))
|
|
94
|
+
* Deprecated get stream - related classes from ExportTask([#1839](https://github.com/Labelbox/labelbox-python/pull/1839))
|
|
95
|
+
* `JsonConverter`, `JsonConverterOutput`, `FileConverter`, `FileConverterOutput`
|
|
96
|
+
* Project `setup_editor`([#1841](https://github.com/Labelbox/labelbox-python/pull/1841))
|
|
97
|
+
* Label `*Data*` classes as Label data attribute. Use GenericDataRowData
|
|
98
|
+
* NOTE MaskData was NOT removed
|
|
99
|
+
* COCO package([#1820](https://github.com/Labelbox/labelbox-python/pull/1820))
|
|
100
|
+
* NDJsonConverter `deserialize`([#1818](https://github.com/Labelbox/labelbox-python/pull/1818))
|
|
101
|
+
* BulkImportRequest package([#1821](https://github.com/Labelbox/labelbox-python/pull/1821)), including
|
|
102
|
+
* BulkImportRequest
|
|
103
|
+
* BulkImportRequestState
|
|
104
|
+
* Project `upload_annotations`
|
|
105
|
+
* Project `bulk_import_requests`
|
|
106
|
+
|
|
107
|
+
# Version 5.2.1 (2024-10-09)
|
|
3
108
|
## Fixed
|
|
4
109
|
* Exporter encoding
|
|
5
|
-
|
|
110
|
+
|
|
111
|
+
# Version 5.2.0 (2024-10-09)
|
|
112
|
+
## Added
|
|
113
|
+
* Support data row / batch for live mmc projects([#1856](https://github.com/Labelbox/labelbox-python/pull/1856))
|
|
114
|
+
|
|
115
|
+
# Version 5.1.0 (2024-09-27)
|
|
116
|
+
## Added
|
|
117
|
+
* Support self-signed SSL certs([#1811](https://github.com/Labelbox/labelbox-python/pull/1811))
|
|
118
|
+
* Rectangle units now correctly support percent inputs([#1848](https://github.com/Labelbox/labelbox-python/pull/1848))
|
|
119
|
+
|
|
120
|
+
# Version 5.0.0 (2024-09-16)
|
|
121
|
+
## Updated
|
|
122
|
+
* Set tasks_remaining_count to None LabelingServiceDashboard if labeling has not started ([#1817](https://github.com/Labelbox/labelbox-python/pull/1817))
|
|
123
|
+
* Improve error messaging when creating LLM project with invalid dataset id parameter([#1799](https://github.com/Labelbox/labelbox-python/pull/1799))
|
|
124
|
+
## Removed
|
|
125
|
+
* BREAKING CHANGE SDK methods for exports v1([#1800](https://github.com/Labelbox/labelbox-python/pull/1800))
|
|
126
|
+
* BREAKING CHANGE Unused labelbox_v1 serialization package([#1803](https://github.com/Labelbox/labelbox-python/pull/1803))
|
|
127
|
+
## Fixed
|
|
128
|
+
* Cuid dependencies that cause a crash if numpy is not installed ([#1807](https://github.com/Labelbox/labelbox-python/pull/1807))
|
|
129
|
+
|
|
130
|
+
# Version 4.0.0 (2024-09-10)
|
|
131
|
+
## Added
|
|
132
|
+
* BREAKING CHANGE for pydantic V1 users: Converted SDK to use pydantic V2([#1738](https://github.com/Labelbox/labelbox-python/pull/1738))
|
|
133
|
+
* Automation test support for multiple sdk versions([#1792](https://github.com/Labelbox/labelbox-python/pull/1792))
|
|
134
|
+
## Fixed
|
|
135
|
+
* Flaky tests([#1793](https://github.com/Labelbox/labelbox-python/pull/1793))
|
|
6
136
|
|
|
7
137
|
# Version 3.78.1 (2024-09-10)
|
|
8
138
|
## Fixed
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# https://github.com/ucyo/python-package-template/blob/master/Dockerfile
|
|
2
|
-
FROM python:3.
|
|
2
|
+
FROM python:3.9-slim as rye
|
|
3
3
|
|
|
4
4
|
ENV LANG="C.UTF-8" \
|
|
5
5
|
LC_ALL="C.UTF-8" \
|
|
6
6
|
PATH="/home/python/.local/bin:/home/python/.rye/shims:$PATH" \
|
|
7
7
|
PIP_NO_CACHE_DIR="false" \
|
|
8
|
-
RYE_VERSION="0.
|
|
8
|
+
RYE_VERSION="0.43.0" \
|
|
9
9
|
RYE_INSTALL_OPTION="--yes" \
|
|
10
10
|
LABELBOX_TEST_ENVIRON="prod"
|
|
11
11
|
|
|
@@ -38,7 +38,7 @@ WORKDIR /home/python/labelbox-python
|
|
|
38
38
|
|
|
39
39
|
RUN rye config --set-bool behavior.global-python=true && \
|
|
40
40
|
rye config --set-bool behavior.use-uv=true && \
|
|
41
|
-
rye pin 3.
|
|
41
|
+
rye pin 3.9 && \
|
|
42
42
|
rye sync
|
|
43
43
|
|
|
44
44
|
CMD cd libs/labelbox && rye run integration && rye sync -f --features labelbox/data && rye run unit && rye run data
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: labelbox
|
|
3
|
-
Version:
|
|
3
|
+
Version: 6.6.0
|
|
4
4
|
Summary: Labelbox Python API
|
|
5
5
|
Project-URL: Homepage, https://labelbox.com/
|
|
6
6
|
Project-URL: Documentation, https://labelbox-python.readthedocs.io/en/latest/
|
|
@@ -15,25 +15,26 @@ Classifier: Intended Audience :: Education
|
|
|
15
15
|
Classifier: Intended Audience :: Science/Research
|
|
16
16
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
17
17
|
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.9
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
23
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
24
24
|
Classifier: Topic :: Software Development :: Libraries
|
|
25
|
-
Requires-Python:
|
|
25
|
+
Requires-Python: <3.14,>=3.9
|
|
26
26
|
Requires-Dist: geojson>=3.1.0
|
|
27
27
|
Requires-Dist: google-api-core>=1.22.1
|
|
28
|
+
Requires-Dist: lbox-clients==1.1.2
|
|
28
29
|
Requires-Dist: mypy==1.10.1
|
|
29
|
-
Requires-Dist: pydantic>=
|
|
30
|
+
Requires-Dist: pydantic>=2.0
|
|
30
31
|
Requires-Dist: python-dateutil<2.10.0,>=2.8.2
|
|
31
32
|
Requires-Dist: requests>=2.22.0
|
|
32
33
|
Requires-Dist: strenum>=0.4.15
|
|
33
34
|
Requires-Dist: tqdm>=4.66.2
|
|
34
35
|
Provides-Extra: data
|
|
35
36
|
Requires-Dist: imagesize>=1.4.1; extra == 'data'
|
|
36
|
-
Requires-Dist: numpy
|
|
37
|
+
Requires-Dist: numpy>=1.25.0; extra == 'data'
|
|
37
38
|
Requires-Dist: opencv-python-headless>=4.9.0.80; extra == 'data'
|
|
38
39
|
Requires-Dist: pillow>=10.2.0; extra == 'data'
|
|
39
40
|
Requires-Dist: pygeotile>=1.0.6; extra == 'data'
|
labelbox-6.6.0/mypy.ini
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[mypy]
|
|
2
|
+
|
|
3
|
+
[mypy-google.*]
|
|
4
|
+
ignore_missing_imports = True
|
|
5
|
+
|
|
6
|
+
[mypy-labelbox.data.*]
|
|
7
|
+
ignore_errors = True
|
|
8
|
+
|
|
9
|
+
[mypy-labelbox]
|
|
10
|
+
ignore_errors = True
|
|
11
|
+
|
|
12
|
+
[mypy-lbox.exceptions]
|
|
13
|
+
ignore_missing_imports = True
|
|
14
|
+
|
|
15
|
+
[mypy-lbox.call_info]
|
|
16
|
+
ignore_missing_imports = True
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "labelbox"
|
|
3
|
-
version = "
|
|
3
|
+
version = "6.6.0"
|
|
4
4
|
description = "Labelbox Python API"
|
|
5
5
|
authors = [{ name = "Labelbox", email = "engineering@labelbox.com" }]
|
|
6
6
|
dependencies = [
|
|
7
7
|
"google-api-core>=1.22.1",
|
|
8
|
-
"pydantic>=
|
|
8
|
+
"pydantic>=2.0",
|
|
9
9
|
"python-dateutil>=2.8.2, <2.10.0",
|
|
10
10
|
"requests>=2.22.0",
|
|
11
11
|
"strenum>=0.4.15",
|
|
12
12
|
"tqdm>=4.66.2",
|
|
13
13
|
"geojson>=3.1.0",
|
|
14
14
|
"mypy==1.10.1",
|
|
15
|
+
"lbox-clients==1.1.2",
|
|
15
16
|
]
|
|
16
17
|
readme = "README.md"
|
|
17
|
-
requires-python = ">=3.
|
|
18
|
+
requires-python = ">=3.9,<3.14"
|
|
18
19
|
classifiers = [
|
|
19
20
|
# How mature is this project?
|
|
20
21
|
"Development Status :: 5 - Production/Stable",
|
|
@@ -28,11 +29,11 @@ classifiers = [
|
|
|
28
29
|
"License :: OSI Approved :: Apache Software License",
|
|
29
30
|
# Specify the Python versions you support here.
|
|
30
31
|
"Programming Language :: Python :: 3",
|
|
31
|
-
"Programming Language :: Python :: 3.8",
|
|
32
32
|
"Programming Language :: Python :: 3.9",
|
|
33
33
|
"Programming Language :: Python :: 3.10",
|
|
34
34
|
"Programming Language :: Python :: 3.11",
|
|
35
35
|
"Programming Language :: Python :: 3.12",
|
|
36
|
+
"Programming Language :: Python :: 3.13",
|
|
36
37
|
]
|
|
37
38
|
keywords = ["ml", "ai", "labelbox", "labeling", "llm", "machinelearning", "edu"]
|
|
38
39
|
|
|
@@ -46,8 +47,7 @@ Changelog = "https://github.com/Labelbox/labelbox-python/blob/develop/libs/label
|
|
|
46
47
|
[project.optional-dependencies]
|
|
47
48
|
data = [
|
|
48
49
|
"shapely>=2.0.3",
|
|
49
|
-
|
|
50
|
-
"numpy>=1.24.4, <2.0.0",
|
|
50
|
+
"numpy>=1.25.0",
|
|
51
51
|
"pillow>=10.2.0",
|
|
52
52
|
"typeguard>=4.1.5",
|
|
53
53
|
"imagesize>=1.4.1",
|
|
@@ -64,7 +64,6 @@ build-backend = "hatchling.build"
|
|
|
64
64
|
[tool.rye]
|
|
65
65
|
managed = true
|
|
66
66
|
dev-dependencies = [
|
|
67
|
-
"yapf>=0.40.2",
|
|
68
67
|
"mypy>=1.9.0",
|
|
69
68
|
"types-pillow>=10.2.0.20240311",
|
|
70
69
|
"types-python-dateutil>=2.9.0.20240316",
|
|
@@ -72,6 +71,13 @@ dev-dependencies = [
|
|
|
72
71
|
"types-tqdm>=4.66.0.20240106",
|
|
73
72
|
]
|
|
74
73
|
|
|
74
|
+
[tool.ruff]
|
|
75
|
+
line-length = 80
|
|
76
|
+
|
|
77
|
+
[tool.ruff.lint]
|
|
78
|
+
ignore = ["F841", "E722", "F811", "F403", "F821", "F541"]
|
|
79
|
+
exclude = ["**/__init__.py"]
|
|
80
|
+
|
|
75
81
|
[tool.rye.scripts]
|
|
76
82
|
unit = "pytest tests/unit"
|
|
77
83
|
# https://github.com/Labelbox/labelbox-python/blob/7c84fdffbc14fd1f69d2a6abdcc0087dc557fa4e/Makefile
|
|
@@ -87,9 +93,11 @@ unit = "pytest tests/unit"
|
|
|
87
93
|
# LABELBOX_TEST_BASE_URL="http://host.docker.internal:8080" \
|
|
88
94
|
integration = { cmd = "pytest tests/integration" }
|
|
89
95
|
data = { cmd = "pytest tests/data" }
|
|
90
|
-
|
|
96
|
+
rye-lint = "rye lint"
|
|
97
|
+
rye-fmt-check = "rye fmt --check"
|
|
98
|
+
MYPYPATH = "../lbox-clients/src/"
|
|
91
99
|
mypy-lint = "mypy src --pretty --show-error-codes --non-interactive --install-types"
|
|
92
|
-
lint = { chain = ["
|
|
100
|
+
lint = { chain = ["rye-fmt-check", "mypy-lint", "rye-lint"] }
|
|
93
101
|
test = { chain = ["lint", "unit", "integration"] }
|
|
94
102
|
|
|
95
103
|
[tool.hatch.metadata]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name = "labelbox"
|
|
2
2
|
|
|
3
|
-
__version__ = "
|
|
3
|
+
__version__ = "6.6.0"
|
|
4
4
|
|
|
5
5
|
from labelbox.client import Client
|
|
6
6
|
from labelbox.schema.annotation_import import (
|
|
@@ -12,7 +12,6 @@ from labelbox.schema.annotation_import import (
|
|
|
12
12
|
from labelbox.schema.asset_attachment import AssetAttachment
|
|
13
13
|
from labelbox.schema.batch import Batch
|
|
14
14
|
from labelbox.schema.benchmark import Benchmark
|
|
15
|
-
from labelbox.schema.bulk_import_request import BulkImportRequest
|
|
16
15
|
from labelbox.schema.catalog import Catalog
|
|
17
16
|
from labelbox.schema.data_row import DataRow
|
|
18
17
|
from labelbox.schema.data_row_metadata import (
|
|
@@ -26,10 +25,7 @@ from labelbox.schema.enums import AnnotationImportState
|
|
|
26
25
|
from labelbox.schema.export_task import (
|
|
27
26
|
BufferedJsonConverterOutput,
|
|
28
27
|
ExportTask,
|
|
29
|
-
|
|
30
|
-
FileConverterOutput,
|
|
31
|
-
JsonConverter,
|
|
32
|
-
JsonConverterOutput,
|
|
28
|
+
BufferedJsonConverterOutput,
|
|
33
29
|
StreamType,
|
|
34
30
|
)
|
|
35
31
|
from labelbox.schema.iam_integration import IAMIntegration
|
|
@@ -38,7 +34,10 @@ from labelbox.schema.identifiables import DataRowIds, GlobalKeys, UniqueIds
|
|
|
38
34
|
from labelbox.schema.invite import Invite, InviteLimit
|
|
39
35
|
from labelbox.schema.label import Label
|
|
40
36
|
from labelbox.schema.label_score import LabelScore
|
|
41
|
-
from labelbox.schema.labeling_frontend import
|
|
37
|
+
from labelbox.schema.labeling_frontend import (
|
|
38
|
+
LabelingFrontend,
|
|
39
|
+
LabelingFrontendOptions,
|
|
40
|
+
)
|
|
42
41
|
from labelbox.schema.labeling_service import LabelingService
|
|
43
42
|
from labelbox.schema.labeling_service_dashboard import LabelingServiceDashboard
|
|
44
43
|
from labelbox.schema.labeling_service_status import LabelingServiceStatus
|
|
@@ -47,22 +46,43 @@ from labelbox.schema.model import Model
|
|
|
47
46
|
from labelbox.schema.model_config import ModelConfig
|
|
48
47
|
from labelbox.schema.model_run import DataSplit, ModelRun
|
|
49
48
|
from labelbox.schema.ontology import (
|
|
50
|
-
Classification,
|
|
51
49
|
FeatureSchema,
|
|
52
50
|
Ontology,
|
|
53
51
|
OntologyBuilder,
|
|
54
|
-
Option,
|
|
55
|
-
PromptResponseClassification,
|
|
56
|
-
ResponseOption,
|
|
57
52
|
Tool,
|
|
58
53
|
)
|
|
54
|
+
from labelbox.schema.tool_building.fact_checking_tool import FactCheckingTool
|
|
55
|
+
from labelbox.schema.tool_building.step_reasoning_tool import StepReasoningTool
|
|
56
|
+
from labelbox.schema.tool_building.prompt_issue_tool import PromptIssueTool
|
|
57
|
+
from labelbox.schema.role import Role, ProjectRole
|
|
58
|
+
from labelbox.schema.invite import Invite, InviteLimit
|
|
59
|
+
from labelbox.schema.data_row_metadata import (
|
|
60
|
+
DataRowMetadataOntology,
|
|
61
|
+
DataRowMetadataField,
|
|
62
|
+
DataRowMetadata,
|
|
63
|
+
DeleteDataRowMetadata,
|
|
64
|
+
)
|
|
65
|
+
from labelbox.schema.model_run import ModelRun, DataSplit
|
|
66
|
+
from labelbox.schema.benchmark import Benchmark
|
|
67
|
+
from labelbox.schema.iam_integration import IAMIntegration
|
|
68
|
+
from labelbox.schema.resource_tag import ResourceTag
|
|
69
|
+
from labelbox.schema.project_model_config import ProjectModelConfig
|
|
70
|
+
from labelbox.schema.project_resource_tag import ProjectResourceTag
|
|
71
|
+
from labelbox.schema.media_type import MediaType
|
|
72
|
+
from labelbox.schema.slice import Slice, CatalogSlice, ModelSlice
|
|
73
|
+
from labelbox.schema.task_queue import TaskQueue
|
|
74
|
+
from labelbox.schema.label_score import LabelScore
|
|
75
|
+
from labelbox.schema.identifiables import UniqueIds, GlobalKeys, DataRowIds
|
|
76
|
+
from labelbox.schema.identifiable import UniqueId, GlobalKey
|
|
59
77
|
from labelbox.schema.ontology_kind import OntologyKind
|
|
60
78
|
from labelbox.schema.organization import Organization
|
|
61
79
|
from labelbox.schema.project import Project
|
|
62
80
|
from labelbox.schema.project_model_config import ProjectModelConfig
|
|
63
|
-
from labelbox.schema.project_overview import
|
|
81
|
+
from labelbox.schema.project_overview import (
|
|
82
|
+
ProjectOverview,
|
|
83
|
+
ProjectOverviewDetailed,
|
|
84
|
+
)
|
|
64
85
|
from labelbox.schema.project_resource_tag import ProjectResourceTag
|
|
65
|
-
from labelbox.schema.queue_mode import QueueMode
|
|
66
86
|
from labelbox.schema.resource_tag import ResourceTag
|
|
67
87
|
from labelbox.schema.review import Review
|
|
68
88
|
from labelbox.schema.role import ProjectRole, Role
|
|
@@ -71,3 +91,10 @@ from labelbox.schema.task import Task
|
|
|
71
91
|
from labelbox.schema.task_queue import TaskQueue
|
|
72
92
|
from labelbox.schema.user import User
|
|
73
93
|
from labelbox.schema.webhook import Webhook
|
|
94
|
+
from labelbox.schema.tool_building.classification import (
|
|
95
|
+
Classification,
|
|
96
|
+
Option,
|
|
97
|
+
ResponseOption,
|
|
98
|
+
PromptResponseClassification,
|
|
99
|
+
)
|
|
100
|
+
from lbox.exceptions import *
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import io
|
|
2
2
|
import json
|
|
3
3
|
import logging
|
|
4
|
-
from typing import
|
|
4
|
+
from typing import Any, Callable, Dict, List, Optional
|
|
5
5
|
from urllib.parse import urlparse
|
|
6
|
-
from labelbox.exceptions import LabelboxError
|
|
7
6
|
|
|
8
7
|
import requests
|
|
9
|
-
from
|
|
8
|
+
from lbox.exceptions import LabelboxError
|
|
9
|
+
from requests import Response, Session
|
|
10
10
|
|
|
11
11
|
logger = logging.getLogger(__name__)
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class AdvClient:
|
|
15
|
-
|
|
16
15
|
def __init__(self, endpoint: str, api_key: str):
|
|
17
16
|
self.endpoint = endpoint
|
|
18
17
|
self.api_key = api_key
|
|
@@ -32,8 +31,9 @@ class AdvClient:
|
|
|
32
31
|
return self._request("GET", "/adv/v1/embeddings").get("results", [])
|
|
33
32
|
|
|
34
33
|
def import_vectors_from_file(self, id: str, file_path: str, callback=None):
|
|
35
|
-
self._send_ndjson(
|
|
36
|
-
|
|
34
|
+
self._send_ndjson(
|
|
35
|
+
f"/adv/v1/embeddings/{id}/_import_ndjson", file_path, callback
|
|
36
|
+
)
|
|
37
37
|
|
|
38
38
|
def get_imported_vector_count(self, id: str) -> int:
|
|
39
39
|
data = self._request("GET", f"/adv/v1/embeddings/{id}/vectors/_count")
|
|
@@ -41,38 +41,42 @@ class AdvClient:
|
|
|
41
41
|
|
|
42
42
|
def _create_session(self) -> Session:
|
|
43
43
|
session = requests.session()
|
|
44
|
-
session.headers.update(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
session.headers.update(
|
|
45
|
+
{
|
|
46
|
+
"Authorization": f"Bearer {self.api_key}",
|
|
47
|
+
"Content-Type": "application/json",
|
|
48
|
+
}
|
|
49
|
+
)
|
|
48
50
|
return session
|
|
49
51
|
|
|
50
|
-
def _request(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
def _request(
|
|
53
|
+
self,
|
|
54
|
+
method: str,
|
|
55
|
+
path: str,
|
|
56
|
+
data: Optional[Dict[str, Any]] = None,
|
|
57
|
+
headers: Optional[Dict[str, Any]] = None,
|
|
58
|
+
) -> Dict[str, Any]:
|
|
55
59
|
url = f"{self.endpoint}{path}"
|
|
56
60
|
requests_data = None
|
|
57
61
|
if data:
|
|
58
62
|
requests_data = json.dumps(data)
|
|
59
|
-
response = self.session.request(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
headers=headers)
|
|
63
|
+
response = self.session.request(
|
|
64
|
+
method, url, data=requests_data, headers=headers
|
|
65
|
+
)
|
|
63
66
|
if response.status_code != requests.codes.ok:
|
|
64
|
-
message = response.json().get(
|
|
67
|
+
message = response.json().get("message")
|
|
65
68
|
if message:
|
|
66
69
|
raise LabelboxError(message)
|
|
67
70
|
else:
|
|
68
71
|
response.raise_for_status()
|
|
69
72
|
return response.json()
|
|
70
73
|
|
|
71
|
-
def _send_ndjson(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
def _send_ndjson(
|
|
75
|
+
self,
|
|
76
|
+
path: str,
|
|
77
|
+
file_path: str,
|
|
78
|
+
callback: Optional[Callable[[Dict[str, Any]], None]] = None,
|
|
79
|
+
):
|
|
76
80
|
"""
|
|
77
81
|
Sends an NDJson file in chunks.
|
|
78
82
|
|
|
@@ -87,7 +91,7 @@ class AdvClient:
|
|
|
87
91
|
_headers = {
|
|
88
92
|
"Content-Type": "application/x-ndjson",
|
|
89
93
|
"X-Content-Lines": str(_count),
|
|
90
|
-
"Content-Length": str(buffer.tell())
|
|
94
|
+
"Content-Length": str(buffer.tell()),
|
|
91
95
|
}
|
|
92
96
|
rsp = self._send_bytes(f"{self.endpoint}{path}", _buffer, _headers)
|
|
93
97
|
rsp.raise_for_status()
|
|
@@ -96,7 +100,7 @@ class AdvClient:
|
|
|
96
100
|
|
|
97
101
|
buffer = io.BytesIO()
|
|
98
102
|
count = 0
|
|
99
|
-
with open(file_path,
|
|
103
|
+
with open(file_path, "rb") as fp:
|
|
100
104
|
for line in fp:
|
|
101
105
|
buffer.write(line)
|
|
102
106
|
count += 1
|
|
@@ -107,10 +111,12 @@ class AdvClient:
|
|
|
107
111
|
if count:
|
|
108
112
|
upload_chunk(buffer, count)
|
|
109
113
|
|
|
110
|
-
def _send_bytes(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
+
def _send_bytes(
|
|
115
|
+
self,
|
|
116
|
+
url: str,
|
|
117
|
+
buffer: io.BytesIO,
|
|
118
|
+
headers: Optional[Dict[str, Any]] = None,
|
|
119
|
+
) -> Response:
|
|
114
120
|
buffer.seek(0)
|
|
115
121
|
return self.session.put(url, headers=headers, data=buffer)
|
|
116
122
|
|