large-image-source-multi 1.29.3.dev22__tar.gz → 1.29.3.dev24__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 (16) hide show
  1. {large-image-source-multi-1.29.3.dev22/large_image_source_multi.egg-info → large-image-source-multi-1.29.3.dev24}/PKG-INFO +3 -3
  2. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/large_image_source_multi/__init__.py +22 -3
  3. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24/large_image_source_multi.egg-info}/PKG-INFO +3 -3
  4. large-image-source-multi-1.29.3.dev24/large_image_source_multi.egg-info/requires.txt +9 -0
  5. large-image-source-multi-1.29.3.dev22/large_image_source_multi.egg-info/requires.txt +0 -9
  6. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/LICENSE +0 -0
  7. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/README.rst +0 -0
  8. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/docs/specification.rst +0 -0
  9. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/large_image_source_multi/girder_source.py +0 -0
  10. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/large_image_source_multi.egg-info/SOURCES.txt +0 -0
  11. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/large_image_source_multi.egg-info/dependency_links.txt +0 -0
  12. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/large_image_source_multi.egg-info/entry_points.txt +0 -0
  13. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/large_image_source_multi.egg-info/top_level.txt +0 -0
  14. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/pyproject.toml +0 -0
  15. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/setup.cfg +0 -0
  16. {large-image-source-multi-1.29.3.dev22 → large-image-source-multi-1.29.3.dev24}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image-source-multi
3
- Version: 1.29.3.dev22
3
+ Version: 1.29.3.dev24
4
4
  Summary: A tilesource for large_image to composite other tile sources
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -18,12 +18,12 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Requires-Python: >=3.6
19
19
  License-File: LICENSE
20
20
  Requires-Dist: jsonschema
21
- Requires-Dist: large-image>=1.29.3.dev22
21
+ Requires-Dist: large-image>=1.29.3.dev24
22
22
  Requires-Dist: pyyaml
23
23
  Provides-Extra: all
24
24
  Requires-Dist: scikit-image; extra == "all"
25
25
  Provides-Extra: girder
26
- Requires-Dist: girder-large-image>=1.29.3.dev22; extra == "girder"
26
+ Requires-Dist: girder-large-image>=1.29.3.dev24; extra == "girder"
27
27
 
28
28
  A tilesource for large_image to composite other tile sources
29
29
 
@@ -10,7 +10,6 @@ from importlib.metadata import PackageNotFoundError
10
10
  from importlib.metadata import version as _importlib_version
11
11
  from pathlib import Path
12
12
 
13
- import jsonschema
14
13
  import numpy as np
15
14
  import yaml
16
15
 
@@ -27,6 +26,26 @@ except PackageNotFoundError:
27
26
  # package is not installed
28
27
  pass
29
28
 
29
+ jsonschema = None
30
+ _validator = None
31
+
32
+
33
+ def _lazyImport():
34
+ """
35
+ Import the jsonschema module. This is done when needed rather than in the
36
+ module initialization because it is slow.
37
+ """
38
+ global jsonschema, _validator
39
+
40
+ if jsonschema is None:
41
+ try:
42
+ import jsonschema
43
+
44
+ _validator = jsonschema.Draft6Validator(MultiSourceSchema)
45
+ except ImportError:
46
+ msg = 'jsonschema module not found.'
47
+ raise TileSourceError(msg)
48
+
30
49
 
31
50
  SourceEntrySchema = {
32
51
  'type': 'object',
@@ -387,8 +406,6 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
387
406
  _defaultTileSize = 256
388
407
  _maxOpenHandles = 6
389
408
 
390
- _validator = jsonschema.Draft6Validator(MultiSourceSchema)
391
-
392
409
  def __init__(self, path, **kwargs):
393
410
  """
394
411
  Initialize the tile class. See the base class for other available
@@ -398,6 +415,8 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
398
415
  """
399
416
  super().__init__(path, **kwargs)
400
417
 
418
+ _lazyImport()
419
+ self._validator = _validator
401
420
  self._largeImagePath = self._getLargeImagePath()
402
421
  self._lastOpenSourceLock = threading.RLock()
403
422
  # 'c' must be first as channels are special because they can have names
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image-source-multi
3
- Version: 1.29.3.dev22
3
+ Version: 1.29.3.dev24
4
4
  Summary: A tilesource for large_image to composite other tile sources
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -18,12 +18,12 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Requires-Python: >=3.6
19
19
  License-File: LICENSE
20
20
  Requires-Dist: jsonschema
21
- Requires-Dist: large-image>=1.29.3.dev22
21
+ Requires-Dist: large-image>=1.29.3.dev24
22
22
  Requires-Dist: pyyaml
23
23
  Provides-Extra: all
24
24
  Requires-Dist: scikit-image; extra == "all"
25
25
  Provides-Extra: girder
26
- Requires-Dist: girder-large-image>=1.29.3.dev22; extra == "girder"
26
+ Requires-Dist: girder-large-image>=1.29.3.dev24; extra == "girder"
27
27
 
28
28
  A tilesource for large_image to composite other tile sources
29
29
 
@@ -0,0 +1,9 @@
1
+ jsonschema
2
+ large-image>=1.29.3.dev24
3
+ pyyaml
4
+
5
+ [all]
6
+ scikit-image
7
+
8
+ [girder]
9
+ girder-large-image>=1.29.3.dev24
@@ -1,9 +0,0 @@
1
- jsonschema
2
- large-image>=1.29.3.dev22
3
- pyyaml
4
-
5
- [all]
6
- scikit-image
7
-
8
- [girder]
9
- girder-large-image>=1.29.3.dev22