unifiedefficientloader 0.5.3__tar.gz → 0.5.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 (35) hide show
  1. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/PKG-INFO +2 -2
  2. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/pyproject.toml +2 -2
  3. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/tests/test_mmap.py +23 -0
  4. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/uel/model_mmap.py +6 -0
  5. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader.egg-info/PKG-INFO +2 -2
  6. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader.egg-info/requires.txt +1 -1
  7. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/LICENSE +0 -0
  8. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/README.md +0 -0
  9. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/setup.cfg +0 -0
  10. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/setup.py +0 -0
  11. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/tests/test_direct_gpu.py +0 -0
  12. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/tests/test_incremental_writer.py +0 -0
  13. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/tests/test_logging.py +0 -0
  14. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/tests/test_low_bit_dtypes.py +0 -0
  15. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/tests/test_mmap_diagnostics.py +0 -0
  16. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/tests/test_unified_data_loader.py +0 -0
  17. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/tests/test_utils.py +0 -0
  18. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/__init__.py +0 -0
  19. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/gpu_buffer_pool.py +0 -0
  20. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/incremental_writer.py +0 -0
  21. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/logging_utils.py +0 -0
  22. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/memory_efficient_loader.py +0 -0
  23. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/pinned_buffer_pool.py +0 -0
  24. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/pinned_transfer.py +0 -0
  25. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/tensor_utils.py +0 -0
  26. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/uel/__init__.py +0 -0
  27. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/uel/control.py +0 -0
  28. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/uel/host_buffer.py +0 -0
  29. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/uel/model_vbar.py +0 -0
  30. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/uel/torch.py +0 -0
  31. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/uel/vram_buffer.py +0 -0
  32. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader/unified_data_loader.py +0 -0
  33. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader.egg-info/SOURCES.txt +0 -0
  34. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader.egg-info/dependency_links.txt +0 -0
  35. {unifiedefficientloader-0.5.3 → unifiedefficientloader-0.5.4}/unifiedefficientloader.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unifiedefficientloader
3
- Version: 0.5.3
3
+ Version: 0.5.4
4
4
  Summary: A unified interface for memory efficient per tensor loading of safetensors files as raw bytes from offset, handling CPU/GPU pinned transfers, and converting between tensors and dicts.
5
5
  Author: silveroxides
6
6
  License: MIT License
@@ -33,7 +33,7 @@ Classifier: Operating System :: POSIX :: Linux
33
33
  Requires-Python: >=3.9
34
34
  Description-Content-Type: text/markdown
35
35
  License-File: LICENSE
36
- Requires-Dist: comfy-aimdo>=0.4.5
36
+ Requires-Dist: comfy-aimdo>=0.5.1
37
37
  Provides-Extra: torch
38
38
  Requires-Dist: torch; extra == "torch"
39
39
  Provides-Extra: safetensors
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "unifiedefficientloader"
7
- version = "0.5.3"
7
+ version = "0.5.4"
8
8
  description = "A unified interface for memory efficient per tensor loading of safetensors files as raw bytes from offset, handling CPU/GPU pinned transfers, and converting between tensors and dicts."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -19,7 +19,7 @@ classifiers = [
19
19
  "Operating System :: POSIX :: Linux",
20
20
  ]
21
21
  requires-python = ">=3.9"
22
- dependencies = ["comfy-aimdo>=0.4.5"]
22
+ dependencies = ["comfy-aimdo>=0.5.1"]
23
23
 
24
24
  [project.optional-dependencies]
25
25
  torch = ["torch"]
@@ -106,6 +106,29 @@ def test_mmap_get_tensor_values(sample_file):
106
106
  assert torch.equal(t.clone(), expected), f"{key}: value mismatch"
107
107
 
108
108
 
109
+ @uel_required
110
+ def test_mmap_exposes_file_handle(sample_file):
111
+ """The compatibility wrapper exposes comfy-aimdo's file handle API."""
112
+ path, _ = sample_file
113
+
114
+ with UnifiedSafetensorsLoader(path, low_memory=True, use_mmap=True) as loader:
115
+ file_handle = loader._mmap.get_file_handle()
116
+
117
+ assert isinstance(file_handle, int)
118
+ assert file_handle > 0
119
+
120
+
121
+ def test_control_init_accepts_aimdo_051_options():
122
+ """The control wrapper forwards comfy-aimdo 0.5.1 init options."""
123
+ from unifiedefficientloader.uel import control
124
+
125
+ assert control.init(
126
+ implementation=None,
127
+ simple_vram_headroom=None,
128
+ nvml_pressure=False,
129
+ )
130
+
131
+
109
132
  @uel_required
110
133
  def test_mmap_get_tensor_mmap_ref_attached(sample_file):
111
134
  """
@@ -23,6 +23,9 @@ def _setup_argtypes(lib):
23
23
  lib.model_mmap_get.argtypes = [ctypes.c_void_p]
24
24
  lib.model_mmap_get.restype = ctypes.c_void_p
25
25
 
26
+ lib.model_mmap_get_file_handle.argtypes = [ctypes.c_void_p]
27
+ lib.model_mmap_get_file_handle.restype = ctypes.c_uint64
28
+
26
29
  lib.model_mmap_bounce.argtypes = [ctypes.c_void_p]
27
30
  lib.model_mmap_bounce.restype = ctypes.c_bool
28
31
 
@@ -53,6 +56,9 @@ class ModelMMAP:
53
56
  def get(self):
54
57
  return _ctrl.lib.model_mmap_get(self.state)
55
58
 
59
+ def get_file_handle(self):
60
+ return int(_ctrl.lib.model_mmap_get_file_handle(self.state))
61
+
56
62
  def bounce(self):
57
63
  return bool(_ctrl.lib.model_mmap_bounce(self.state))
58
64
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unifiedefficientloader
3
- Version: 0.5.3
3
+ Version: 0.5.4
4
4
  Summary: A unified interface for memory efficient per tensor loading of safetensors files as raw bytes from offset, handling CPU/GPU pinned transfers, and converting between tensors and dicts.
5
5
  Author: silveroxides
6
6
  License: MIT License
@@ -33,7 +33,7 @@ Classifier: Operating System :: POSIX :: Linux
33
33
  Requires-Python: >=3.9
34
34
  Description-Content-Type: text/markdown
35
35
  License-File: LICENSE
36
- Requires-Dist: comfy-aimdo>=0.4.5
36
+ Requires-Dist: comfy-aimdo>=0.5.1
37
37
  Provides-Extra: torch
38
38
  Requires-Dist: torch; extra == "torch"
39
39
  Provides-Extra: safetensors
@@ -1,4 +1,4 @@
1
- comfy-aimdo>=0.4.5
1
+ comfy-aimdo>=0.5.1
2
2
 
3
3
  [all]
4
4
  torch