polystore 0.2.3__tar.gz → 0.2.4__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 (91) hide show
  1. {polystore-0.2.3/src/polystore.egg-info → polystore-0.2.4}/PKG-INFO +1 -1
  2. {polystore-0.2.3 → polystore-0.2.4}/pyproject.toml +1 -1
  3. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/omero_tables.py +9 -2
  4. {polystore-0.2.3 → polystore-0.2.4/src/polystore.egg-info}/PKG-INFO +1 -1
  5. {polystore-0.2.3 → polystore-0.2.4}/tests/test_omero_tables.py +13 -0
  6. {polystore-0.2.3 → polystore-0.2.4}/LICENSE +0 -0
  7. {polystore-0.2.3 → polystore-0.2.4}/README.md +0 -0
  8. {polystore-0.2.3 → polystore-0.2.4}/setup.cfg +0 -0
  9. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/__init__.py +0 -0
  10. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/array_payload.py +0 -0
  11. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/async_init.py +0 -0
  12. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/atomic.py +0 -0
  13. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/backend_registry.py +0 -0
  14. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/base.py +0 -0
  15. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/bioformats_java.py +0 -0
  16. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/bioformats_storage.py +0 -0
  17. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/config.py +0 -0
  18. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/constants.py +0 -0
  19. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/disk.py +0 -0
  20. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/exceptions.py +0 -0
  21. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/fiji_stream.py +0 -0
  22. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/filemanager.py +0 -0
  23. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/formats.py +0 -0
  24. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/imagej_runtime.py +0 -0
  25. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/lazy_imports.py +0 -0
  26. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/memory.py +0 -0
  27. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/metadata_migration.py +0 -0
  28. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/metadata_writer.py +0 -0
  29. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/napari_stream.py +0 -0
  30. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/ome_zarr_storage.py +0 -0
  31. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/omero_local.py +0 -0
  32. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/omero_text.py +0 -0
  33. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/roi.py +0 -0
  34. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/roi_converters.py +0 -0
  35. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/__init__.py +0 -0
  36. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/_streaming_backend.py +0 -0
  37. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/base.py +0 -0
  38. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/handlers/__init__.py +0 -0
  39. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/handlers/fiji_images.py +0 -0
  40. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/handlers/fiji_rois.py +0 -0
  41. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/identity.py +0 -0
  42. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/__init__.py +0 -0
  43. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/batching/__init__.py +0 -0
  44. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/core/__init__.py +0 -0
  45. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/core/batch_engine.py +0 -0
  46. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/core/contracts.py +0 -0
  47. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/core/window_projection.py +0 -0
  48. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/fiji/__init__.py +0 -0
  49. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/fiji/fiji_batch_processor.py +0 -0
  50. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/napari/__init__.py +0 -0
  51. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/napari/layer_key.py +0 -0
  52. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/receivers/napari/napari_batch_processor.py +0 -0
  53. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming/viewer_transport.py +0 -0
  54. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/streaming_constants.py +0 -0
  55. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/utils.py +0 -0
  56. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/virtual_workspace.py +0 -0
  57. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/zarr.py +0 -0
  58. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/zarr_batch.py +0 -0
  59. {polystore-0.2.3 → polystore-0.2.4}/src/polystore/zmq_config.py +0 -0
  60. {polystore-0.2.3 → polystore-0.2.4}/src/polystore.egg-info/SOURCES.txt +0 -0
  61. {polystore-0.2.3 → polystore-0.2.4}/src/polystore.egg-info/dependency_links.txt +0 -0
  62. {polystore-0.2.3 → polystore-0.2.4}/src/polystore.egg-info/requires.txt +0 -0
  63. {polystore-0.2.3 → polystore-0.2.4}/src/polystore.egg-info/top_level.txt +0 -0
  64. {polystore-0.2.3 → polystore-0.2.4}/tests/test_array_payload.py +0 -0
  65. {polystore-0.2.3 → polystore-0.2.4}/tests/test_backend_registry.py +0 -0
  66. {polystore-0.2.3 → polystore-0.2.4}/tests/test_basic.py +0 -0
  67. {polystore-0.2.3 → polystore-0.2.4}/tests/test_bioformats_java.py +0 -0
  68. {polystore-0.2.3 → polystore-0.2.4}/tests/test_bioformats_storage.py +0 -0
  69. {polystore-0.2.3 → polystore-0.2.4}/tests/test_disk_backend.py +0 -0
  70. {polystore-0.2.3 → polystore-0.2.4}/tests/test_disk_coverage.py +0 -0
  71. {polystore-0.2.3 → polystore-0.2.4}/tests/test_disk_more.py +0 -0
  72. {polystore-0.2.3 → polystore-0.2.4}/tests/test_filemanager_backends.py +0 -0
  73. {polystore-0.2.3 → polystore-0.2.4}/tests/test_filemanager_extended.py +0 -0
  74. {polystore-0.2.3 → polystore-0.2.4}/tests/test_imagej_runtime.py +0 -0
  75. {polystore-0.2.3 → polystore-0.2.4}/tests/test_lazy_package_exports.py +0 -0
  76. {polystore-0.2.3 → polystore-0.2.4}/tests/test_memory_backend.py +0 -0
  77. {polystore-0.2.3 → polystore-0.2.4}/tests/test_memory_coverage.py +0 -0
  78. {polystore-0.2.3 → polystore-0.2.4}/tests/test_memory_type_authority.py +0 -0
  79. {polystore-0.2.3 → polystore-0.2.4}/tests/test_napari_batch_processor.py +0 -0
  80. {polystore-0.2.3 → polystore-0.2.4}/tests/test_ome_zarr_storage.py +0 -0
  81. {polystore-0.2.3 → polystore-0.2.4}/tests/test_omero_image_plane_batch.py +0 -0
  82. {polystore-0.2.3 → polystore-0.2.4}/tests/test_omero_text.py +0 -0
  83. {polystore-0.2.3 → polystore-0.2.4}/tests/test_png_format.py +0 -0
  84. {polystore-0.2.3 → polystore-0.2.4}/tests/test_roi.py +0 -0
  85. {polystore-0.2.3 → polystore-0.2.4}/tests/test_streaming_identity.py +0 -0
  86. {polystore-0.2.3 → polystore-0.2.4}/tests/test_streaming_metadata.py +0 -0
  87. {polystore-0.2.3 → polystore-0.2.4}/tests/test_streaming_receiver_core.py +0 -0
  88. {polystore-0.2.3 → polystore-0.2.4}/tests/test_streaming_shared_memory.py +0 -0
  89. {polystore-0.2.3 → polystore-0.2.4}/tests/test_viewer_transport.py +0 -0
  90. {polystore-0.2.3 → polystore-0.2.4}/tests/test_zarr_backend.py +0 -0
  91. {polystore-0.2.3 → polystore-0.2.4}/tests/test_zarr_batch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polystore
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Summary: Framework-agnostic multi-backend storage abstraction for ML and scientific computing
5
5
  Author-email: Tristan Simas <tristan.simas@mail.mcgill.ca>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "polystore"
7
- version = "0.2.3"
7
+ version = "0.2.4"
8
8
  description = "Framework-agnostic multi-backend storage abstraction for ML and scientific computing"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -122,8 +122,8 @@ class OMEROTableService:
122
122
 
123
123
  return bool(connection.c.sf.sharedResources().areTablesEnabled())
124
124
 
125
- def create_table(self, connection: Any, path: str) -> Any:
126
- """Create one table through a ready service and repository declaration."""
125
+ def wait_until_available(self, connection: Any) -> Any:
126
+ """Return shared resources after the declared table capability is ready."""
127
127
 
128
128
  resources = connection.c.sf.sharedResources()
129
129
  retry_delays = iter(self.readiness_retry_delays_seconds)
@@ -139,6 +139,13 @@ class OMEROTableService:
139
139
  )
140
140
  time.sleep(retry_delay)
141
141
 
142
+ return resources
143
+
144
+ def create_table(self, connection: Any, path: str) -> Any:
145
+ """Create one table through a ready service and repository declaration."""
146
+
147
+ resources = self.wait_until_available(connection)
148
+
142
149
  repository_map = resources.repositories()
143
150
  descriptions = repository_map.descriptions
144
151
  if not descriptions:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polystore
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Summary: Framework-agnostic multi-backend storage abstraction for ML and scientific computing
5
5
  Author-email: Tristan Simas <tristan.simas@mail.mcgill.ca>
6
6
  License-Expression: MIT
@@ -142,6 +142,19 @@ def test_table_service_waits_on_capability_instead_of_exception_text(
142
142
  assert resources.created_tables == [(7, "measurements.h5")]
143
143
 
144
144
 
145
+ def test_table_service_exposes_declared_readiness_wait(monkeypatch) -> None:
146
+ observed_delays: list[float] = []
147
+ monkeypatch.setattr("polystore.omero_tables.time.sleep", observed_delays.append)
148
+ resources = _Resources([False, True])
149
+
150
+ ready_resources = OMEROTableService(
151
+ readiness_retry_delays_seconds=(0.1,),
152
+ ).wait_until_available(_connection(resources))
153
+
154
+ assert ready_resources is resources
155
+ assert observed_delays == [0.1]
156
+
157
+
145
158
  def test_table_service_fails_before_create_when_capability_stays_unavailable() -> None:
146
159
  resources = _Resources([False])
147
160
 
File without changes
File without changes
File without changes
File without changes
File without changes