scale-nucleus 0.16.2__tar.gz → 0.16.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/PKG-INFO +1 -1
  2. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/constants.py +1 -0
  3. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/dataset.py +22 -1
  4. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/pyproject.toml +1 -1
  5. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/LICENSE +0 -0
  6. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/README.md +0 -0
  7. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/client.py +0 -0
  8. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/datasets.py +0 -0
  9. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/helpers/__init__.py +0 -0
  10. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/helpers/nucleus_url.py +0 -0
  11. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/helpers/web_helper.py +0 -0
  12. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/install_completion.py +0 -0
  13. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/jobs.py +0 -0
  14. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/models.py +0 -0
  15. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/nu.py +0 -0
  16. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/reference.py +0 -0
  17. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/slices.py +0 -0
  18. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/cli/tests.py +0 -0
  19. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/__init__.py +0 -0
  20. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/annotation.py +0 -0
  21. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/annotation_uploader.py +0 -0
  22. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/async_job.py +0 -0
  23. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/async_utils.py +0 -0
  24. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/autocurate.py +0 -0
  25. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/camera_params.py +0 -0
  26. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/connection.py +0 -0
  27. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/data_transfer_object/__init__.py +0 -0
  28. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/data_transfer_object/dataset_details.py +0 -0
  29. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/data_transfer_object/dataset_info.py +0 -0
  30. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/data_transfer_object/dataset_size.py +0 -0
  31. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/data_transfer_object/job_status.py +0 -0
  32. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/data_transfer_object/scenes_list.py +0 -0
  33. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/dataset_item.py +0 -0
  34. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/dataset_item_uploader.py +0 -0
  35. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/deprecation_warning.py +0 -0
  36. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/errors.py +0 -0
  37. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/job.py +0 -0
  38. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/logger.py +0 -0
  39. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metadata_manager.py +0 -0
  40. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/__init__.py +0 -0
  41. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/base.py +0 -0
  42. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/categorization_metrics.py +0 -0
  43. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/cuboid_metrics.py +0 -0
  44. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/cuboid_utils.py +0 -0
  45. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/custom_types.py +0 -0
  46. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/errors.py +0 -0
  47. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/filtering.py +0 -0
  48. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/filters.py +0 -0
  49. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/metric_utils.py +0 -0
  50. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/polygon_metrics.py +0 -0
  51. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/polygon_utils.py +0 -0
  52. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/segmentation_loader.py +0 -0
  53. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/segmentation_metrics.py +0 -0
  54. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/segmentation_to_poly_metrics.py +0 -0
  55. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/metrics/segmentation_utils.py +0 -0
  56. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/model.py +0 -0
  57. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/model_run.py +0 -0
  58. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/package_not_installed.py +0 -0
  59. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/payload_constructor.py +0 -0
  60. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/prediction.py +0 -0
  61. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/pydantic_base.py +0 -0
  62. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/quaternion.py +0 -0
  63. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/retry_strategy.py +0 -0
  64. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/scene.py +0 -0
  65. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/slice.py +0 -0
  66. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/test_launch_integration.py +0 -0
  67. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/track.py +0 -0
  68. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/upload_response.py +0 -0
  69. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/url_utils.py +0 -0
  70. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/utils.py +0 -0
  71. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/__init__.py +0 -0
  72. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/client.py +0 -0
  73. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/constants.py +0 -0
  74. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/data_transfer_objects/__init__.py +0 -0
  75. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/data_transfer_objects/eval_function.py +0 -0
  76. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/data_transfer_objects/scenario_test.py +0 -0
  77. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/data_transfer_objects/scenario_test_evaluations.py +0 -0
  78. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/data_transfer_objects/scenario_test_metric.py +0 -0
  79. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/errors.py +0 -0
  80. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/eval_functions/__init__.py +0 -0
  81. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/eval_functions/available_eval_functions.py +0 -0
  82. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/eval_functions/base_eval_function.py +0 -0
  83. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/eval_functions/config_classes/__init__.py +0 -0
  84. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/eval_functions/config_classes/segmentation.py +0 -0
  85. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/scenario_test.py +0 -0
  86. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/scenario_test_evaluation.py +0 -0
  87. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/scenario_test_metric.py +0 -0
  88. {scale_nucleus-0.16.2 → scale_nucleus-0.16.3}/nucleus/validate/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scale-nucleus
3
- Version: 0.16.2
3
+ Version: 0.16.3
4
4
  Summary: The official Python client library for Nucleus, the Data Platform for AI
5
5
  Home-page: https://scale.com/nucleus
6
6
  License: MIT
@@ -89,6 +89,7 @@ KEYPOINTS_SKELETON_KEY = "skeleton"
89
89
  LABEL_KEY = "label"
90
90
  LABELS_KEY = "labels"
91
91
  MASK_URL_KEY = "mask_url"
92
+ MAX_ES_PAGE_SIZE = 10000 # Max number of document fetches allowed per ES page
92
93
  MAX_PAYLOAD_SIZE = 0x1FFFFFE8 # Set to max string size since we currently convert payloads to strings for processing on the server-side
93
94
  MESSAGE_KEY = "message"
94
95
  METADATA_KEY = "metadata"
@@ -46,6 +46,7 @@ from .constants import (
46
46
  ITEMS_KEY,
47
47
  JOB_REQ_LIMIT,
48
48
  KEEP_HISTORY_KEY,
49
+ MAX_ES_PAGE_SIZE,
49
50
  MESSAGE_KEY,
50
51
  NAME_KEY,
51
52
  OBJECT_IDS_KEY,
@@ -1972,12 +1973,32 @@ class Dataset:
1972
1973
  client=self._client,
1973
1974
  endpoint=f"dataset/{self.id}/queryItemsPage",
1974
1975
  result_key=ITEMS_KEY,
1975
- page_size=10000, # max ES page size
1976
+ page_size=MAX_ES_PAGE_SIZE,
1976
1977
  query=query,
1977
1978
  )
1978
1979
  for item_json in json_generator:
1979
1980
  yield DatasetItem.from_json(item_json)
1980
1981
 
1982
+ def query_scenes(self, query: str) -> Iterable[Scene]:
1983
+ """
1984
+ Fetches all Scenes that pertain to a given structured query.
1985
+
1986
+ Args:
1987
+ query: Structured query compatible with the `Nucleus query language <https://nucleus.scale.com/docs/query-language-reference>`_.
1988
+
1989
+ Returns:
1990
+ A list of Scene query results.
1991
+ """
1992
+ json_generator = paginate_generator(
1993
+ client=self._client,
1994
+ endpoint=f"dataset/{self.id}/queryScenesPage",
1995
+ result_key=ITEMS_KEY,
1996
+ page_size=MAX_ES_PAGE_SIZE,
1997
+ query=query,
1998
+ )
1999
+ for item_json in json_generator:
2000
+ yield Scene.from_json(item_json, None, True)
2001
+
1981
2002
  @property
1982
2003
  def tracks(self) -> List[Track]:
1983
2004
  """Tracks unique to this dataset.
@@ -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.2"
28
+ version = "0.16.3"
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