large-image-source-zarr 1.35.1.dev2__tar.gz → 1.35.2.dev6__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 (14) hide show
  1. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/PKG-INFO +4 -3
  2. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/large_image_source_zarr/__init__.py +10 -5
  3. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/large_image_source_zarr.egg-info/PKG-INFO +4 -3
  4. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/large_image_source_zarr.egg-info/requires.txt +3 -2
  5. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/setup.py +1 -0
  6. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/LICENSE +0 -0
  7. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/README.rst +0 -0
  8. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/large_image_source_zarr/girder_source.py +0 -0
  9. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/large_image_source_zarr.egg-info/SOURCES.txt +0 -0
  10. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/large_image_source_zarr.egg-info/dependency_links.txt +0 -0
  11. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/large_image_source_zarr.egg-info/entry_points.txt +0 -0
  12. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/large_image_source_zarr.egg-info/top_level.txt +0 -0
  13. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/pyproject.toml +0 -0
  14. {large_image_source_zarr-1.35.1.dev2 → large_image_source_zarr-1.35.2.dev6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: large-image-source-zarr
3
- Version: 1.35.1.dev2
3
+ Version: 1.35.2.dev6
4
4
  Summary: A OME Zarr tilesource for large_image.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -17,12 +17,13 @@ Classifier: Programming Language :: Python :: 3.14
17
17
  Requires-Python: >=3.10
18
18
  Description-Content-Type: text/x-rst
19
19
  License-File: LICENSE
20
- Requires-Dist: large-image>=1.35.1.dev2
20
+ Requires-Dist: large-image>=1.35.2.dev6
21
21
  Requires-Dist: zarr<3
22
22
  Requires-Dist: numcodecs<0.16
23
23
  Requires-Dist: imagecodecs-numcodecs!=2024.9.22
24
+ Requires-Dist: filelock
24
25
  Provides-Extra: girder
25
- Requires-Dist: girder-large-image>=1.35.1.dev2; extra == "girder"
26
+ Requires-Dist: girder-large-image>=1.35.2.dev6; extra == "girder"
26
27
  Provides-Extra: all
27
28
  Requires-Dist: large-image-converter; extra == "all"
28
29
  Dynamic: author
@@ -2,7 +2,6 @@ import contextlib
2
2
  import importlib.metadata
3
3
  import json
4
4
  import math
5
- import multiprocessing
6
5
  import os
7
6
  import shutil
8
7
  import tempfile
@@ -11,6 +10,7 @@ import uuid
11
10
  import warnings
12
11
  from pathlib import Path
13
12
 
13
+ import filelock
14
14
  import numpy as np
15
15
  import packaging.version
16
16
 
@@ -146,7 +146,6 @@ class ZarrFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
146
146
  self._editable = True
147
147
  self._bandRanges = None
148
148
  self._threadLock = threading.RLock()
149
- self._processLock = multiprocessing.Lock()
150
149
  self._framecount = 0
151
150
  self._minWidth = None
152
151
  self._minHeight = None
@@ -166,6 +165,12 @@ class ZarrFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
166
165
  with contextlib.suppress(Exception):
167
166
  self._validateZarr()
168
167
 
168
+ def _processLock(self):
169
+ """
170
+ This is a function to avoid pickling issues.
171
+ """
172
+ return filelock.FileLock(os.path.join(str(self._tempdir), '.zarr_flock'))
173
+
169
174
  def __del__(self):
170
175
  if not hasattr(self, '_derivedSource'):
171
176
  with contextlib.suppress(Exception):
@@ -739,7 +744,7 @@ class ZarrFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
739
744
  }
740
745
  tile, mask, placement, axes = self._validateNewTile(tile, mask, placement, axes)
741
746
 
742
- with self._threadLock and self._processLock:
747
+ with self._threadLock and self._processLock():
743
748
  old_axes = self._axes if hasattr(self, '_axes') else {}
744
749
  self._axes = {k: i for i, k in enumerate(axes)}
745
750
  new_axes = {k: i for k, i in self._axes.items() if k not in old_axes}
@@ -841,7 +846,7 @@ class ZarrFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
841
846
  with an image. The numpy array can have 2 or 3 dimensions.
842
847
  """
843
848
  data, _ = _imageToNumpy(image)
844
- with self._threadLock and self._processLock:
849
+ with self._threadLock and self._processLock():
845
850
  if imageKey is None:
846
851
  # Each associated image should be in its own group
847
852
  num_existing = len(self.getAssociatedImagesList())
@@ -897,7 +902,7 @@ class ZarrFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
897
902
  Metadata structure adheres to OME schema from https://ngff.openmicroscopy.org/latest/
898
903
  """
899
904
  self._checkEditable()
900
- with self._threadLock and self._processLock:
905
+ with self._threadLock and self._processLock():
901
906
  name = str(self._tempdir.name).split('/')[-1]
902
907
  arrays = dict(self._zarr.arrays())
903
908
  datasets = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: large-image-source-zarr
3
- Version: 1.35.1.dev2
3
+ Version: 1.35.2.dev6
4
4
  Summary: A OME Zarr tilesource for large_image.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -17,12 +17,13 @@ Classifier: Programming Language :: Python :: 3.14
17
17
  Requires-Python: >=3.10
18
18
  Description-Content-Type: text/x-rst
19
19
  License-File: LICENSE
20
- Requires-Dist: large-image>=1.35.1.dev2
20
+ Requires-Dist: large-image>=1.35.2.dev6
21
21
  Requires-Dist: zarr<3
22
22
  Requires-Dist: numcodecs<0.16
23
23
  Requires-Dist: imagecodecs-numcodecs!=2024.9.22
24
+ Requires-Dist: filelock
24
25
  Provides-Extra: girder
25
- Requires-Dist: girder-large-image>=1.35.1.dev2; extra == "girder"
26
+ Requires-Dist: girder-large-image>=1.35.2.dev6; extra == "girder"
26
27
  Provides-Extra: all
27
28
  Requires-Dist: large-image-converter; extra == "all"
28
29
  Dynamic: author
@@ -1,10 +1,11 @@
1
- large-image>=1.35.1.dev2
1
+ large-image>=1.35.2.dev6
2
2
  zarr<3
3
3
  numcodecs<0.16
4
4
  imagecodecs-numcodecs!=2024.9.22
5
+ filelock
5
6
 
6
7
  [all]
7
8
  large-image-converter
8
9
 
9
10
  [girder]
10
- girder-large-image>=1.35.1.dev2
11
+ girder-large-image>=1.35.2.dev6
@@ -41,6 +41,7 @@ setup(
41
41
  'numcodecs<0.16',
42
42
  # Without imagecodecs-numcodecs, some jpeg encoded data cannot be read
43
43
  'imagecodecs-numcodecs!=2024.9.22',
44
+ 'filelock',
44
45
  ],
45
46
  extras_require={
46
47
  'girder': f'girder-large-image{limit_version}',