scale-nucleus 0.16.1__tar.gz → 0.16.2__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.
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/PKG-INFO +1 -1
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/async_job.py +28 -2
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/pyproject.toml +1 -1
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/LICENSE +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/README.md +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/client.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/datasets.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/helpers/__init__.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/helpers/nucleus_url.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/helpers/web_helper.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/install_completion.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/jobs.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/models.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/nu.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/reference.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/slices.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/cli/tests.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/__init__.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/annotation.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/annotation_uploader.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/async_utils.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/autocurate.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/camera_params.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/connection.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/constants.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/data_transfer_object/__init__.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/data_transfer_object/dataset_details.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/data_transfer_object/dataset_info.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/data_transfer_object/dataset_size.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/data_transfer_object/job_status.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/data_transfer_object/scenes_list.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/dataset.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/dataset_item.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/dataset_item_uploader.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/deprecation_warning.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/errors.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/job.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/logger.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metadata_manager.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/__init__.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/base.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/categorization_metrics.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/cuboid_metrics.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/cuboid_utils.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/custom_types.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/errors.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/filtering.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/filters.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/metric_utils.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/polygon_metrics.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/polygon_utils.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/segmentation_loader.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/segmentation_metrics.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/segmentation_to_poly_metrics.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/segmentation_utils.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/model.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/model_run.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/package_not_installed.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/payload_constructor.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/prediction.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/pydantic_base.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/quaternion.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/retry_strategy.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/scene.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/slice.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/test_launch_integration.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/track.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/upload_response.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/url_utils.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/utils.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/__init__.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/client.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/constants.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/data_transfer_objects/__init__.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/data_transfer_objects/eval_function.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/data_transfer_objects/scenario_test.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/data_transfer_objects/scenario_test_evaluations.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/data_transfer_objects/scenario_test_metric.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/errors.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/eval_functions/__init__.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/eval_functions/available_eval_functions.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/eval_functions/base_eval_function.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/eval_functions/config_classes/__init__.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/eval_functions/config_classes/segmentation.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/scenario_test.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/scenario_test_evaluation.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/scenario_test_metric.py +0 -0
- {scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/utils.py +0 -0
@@ -1,6 +1,7 @@
|
|
1
1
|
import time
|
2
2
|
from dataclasses import dataclass
|
3
|
-
from
|
3
|
+
from enum import Enum
|
4
|
+
from typing import Dict, List, Set
|
4
5
|
|
5
6
|
import requests
|
6
7
|
|
@@ -16,6 +17,29 @@ from nucleus.utils import replace_double_slashes
|
|
16
17
|
JOB_POLLING_INTERVAL = 5
|
17
18
|
|
18
19
|
|
20
|
+
class JobStatus(str, Enum):
|
21
|
+
QUEUED = "Queued"
|
22
|
+
RUNNING = "Running"
|
23
|
+
COMPLETED = "Completed"
|
24
|
+
ERRORED_DEPRECATED = "Errored"
|
25
|
+
ERRORED_SERVER = "Errored_Server" # Server Error
|
26
|
+
ERRORED_USER = "Errored_User" # User Error
|
27
|
+
ERRORED_PARTIAL = "Errored_Partial" # Partially Completed
|
28
|
+
ERRORED_HANGING = "Errored_Hanging" # Hanging
|
29
|
+
CANCELLED = "Cancelled"
|
30
|
+
RETRIED = "Retried"
|
31
|
+
|
32
|
+
|
33
|
+
JOB_ERROR_PREFIX = JobStatus.ERRORED_DEPRECATED
|
34
|
+
JOB_ERROR_STATES: Set[JobStatus] = {
|
35
|
+
JobStatus.ERRORED_DEPRECATED,
|
36
|
+
JobStatus.ERRORED_SERVER,
|
37
|
+
JobStatus.ERRORED_USER,
|
38
|
+
JobStatus.ERRORED_PARTIAL,
|
39
|
+
JobStatus.ERRORED_HANGING,
|
40
|
+
}
|
41
|
+
|
42
|
+
|
19
43
|
@dataclass
|
20
44
|
class AsyncJob:
|
21
45
|
"""Object used to check the status or errors of a long running asynchronous operation.
|
@@ -116,7 +140,9 @@ class AsyncJob:
|
|
116
140
|
f"Finished at {time.perf_counter() - start_time} s: {status}"
|
117
141
|
)
|
118
142
|
final_status = status
|
119
|
-
if final_status["status"]
|
143
|
+
if final_status["status"] in JOB_ERROR_STATES or final_status[
|
144
|
+
"status"
|
145
|
+
].startswith(JOB_ERROR_PREFIX):
|
120
146
|
raise JobError(final_status, self)
|
121
147
|
|
122
148
|
@classmethod
|
@@ -25,7 +25,7 @@ ignore = ["E501", "E741", "E731", "F401"] # Easy ignore for getting it running
|
|
25
25
|
|
26
26
|
[tool.poetry]
|
27
27
|
name = "scale-nucleus"
|
28
|
-
version = "0.16.
|
28
|
+
version = "0.16.2"
|
29
29
|
description = "The official Python client library for Nucleus, the Data Platform for AI"
|
30
30
|
license = "MIT"
|
31
31
|
authors = ["Scale AI Nucleus Team <nucleusapi@scaleapi.com>"]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/data_transfer_object/dataset_details.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/metrics/segmentation_to_poly_metrics.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/data_transfer_objects/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{scale_nucleus-0.16.1 → scale_nucleus-0.16.2}/nucleus/validate/eval_functions/base_eval_function.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|