comfy-env 0.0.65__py3-none-any.whl → 0.0.67__py3-none-any.whl

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 (55) hide show
  1. comfy_env/__init__.py +68 -122
  2. comfy_env/cli.py +74 -204
  3. comfy_env/config/__init__.py +19 -0
  4. comfy_env/config/parser.py +151 -0
  5. comfy_env/config/types.py +64 -0
  6. comfy_env/install.py +83 -361
  7. comfy_env/isolation/__init__.py +9 -0
  8. comfy_env/isolation/wrap.py +351 -0
  9. comfy_env/nodes.py +2 -2
  10. comfy_env/pixi/__init__.py +48 -0
  11. comfy_env/pixi/core.py +356 -0
  12. comfy_env/{resolver.py → pixi/resolver.py} +1 -14
  13. comfy_env/prestartup.py +60 -0
  14. comfy_env/templates/comfy-env-instructions.txt +30 -87
  15. comfy_env/templates/comfy-env.toml +69 -128
  16. comfy_env/workers/__init__.py +21 -32
  17. comfy_env/workers/base.py +1 -1
  18. comfy_env/workers/{torch_mp.py → mp.py} +47 -14
  19. comfy_env/workers/{venv.py → subprocess.py} +397 -443
  20. {comfy_env-0.0.65.dist-info → comfy_env-0.0.67.dist-info}/METADATA +23 -92
  21. comfy_env-0.0.67.dist-info/RECORD +32 -0
  22. comfy_env/decorator.py +0 -700
  23. comfy_env/env/__init__.py +0 -46
  24. comfy_env/env/config.py +0 -191
  25. comfy_env/env/config_file.py +0 -706
  26. comfy_env/env/manager.py +0 -636
  27. comfy_env/env/security.py +0 -267
  28. comfy_env/ipc/__init__.py +0 -55
  29. comfy_env/ipc/bridge.py +0 -476
  30. comfy_env/ipc/protocol.py +0 -265
  31. comfy_env/ipc/tensor.py +0 -371
  32. comfy_env/ipc/torch_bridge.py +0 -401
  33. comfy_env/ipc/transport.py +0 -318
  34. comfy_env/ipc/worker.py +0 -221
  35. comfy_env/isolation.py +0 -310
  36. comfy_env/pixi.py +0 -760
  37. comfy_env/registry.py +0 -130
  38. comfy_env/stub_imports.py +0 -270
  39. comfy_env/stubs/__init__.py +0 -1
  40. comfy_env/stubs/comfy/__init__.py +0 -6
  41. comfy_env/stubs/comfy/model_management.py +0 -58
  42. comfy_env/stubs/comfy/utils.py +0 -29
  43. comfy_env/stubs/folder_paths.py +0 -71
  44. comfy_env/wheel_sources.yml +0 -141
  45. comfy_env/workers/pool.py +0 -241
  46. comfy_env-0.0.65.dist-info/RECORD +0 -48
  47. /comfy_env/{env/cuda_gpu_detection.py → pixi/cuda_detection.py} +0 -0
  48. /comfy_env/{env → pixi}/platform/__init__.py +0 -0
  49. /comfy_env/{env → pixi}/platform/base.py +0 -0
  50. /comfy_env/{env → pixi}/platform/darwin.py +0 -0
  51. /comfy_env/{env → pixi}/platform/linux.py +0 -0
  52. /comfy_env/{env → pixi}/platform/windows.py +0 -0
  53. {comfy_env-0.0.65.dist-info → comfy_env-0.0.67.dist-info}/WHEEL +0 -0
  54. {comfy_env-0.0.65.dist-info → comfy_env-0.0.67.dist-info}/entry_points.txt +0 -0
  55. {comfy_env-0.0.65.dist-info → comfy_env-0.0.67.dist-info}/licenses/LICENSE +0 -0
@@ -1,141 +0,0 @@
1
- # Wheel sources registry for CUDA packages
2
- #
3
- # Each package has a single wheel_template that resolves to a direct .whl URL.
4
- # Users can override these in their comfy-env.toml [wheel_sources] section.
5
- #
6
- # Template variables:
7
- # {version} - Package version (e.g., "0.4.0")
8
- # {cuda_version} - Full CUDA version (e.g., "12.8")
9
- # {cuda_short} - CUDA without dot (e.g., "128")
10
- # {cuda_major} - CUDA major version (e.g., "12")
11
- # {torch_version} - Full PyTorch version (e.g., "2.8.0")
12
- # {torch_short} - PyTorch without dots (e.g., "280")
13
- # {torch_mm} - PyTorch major.minor no dot (e.g., "28")
14
- # {torch_dotted_mm}- PyTorch major.minor with dot (e.g., "2.8")
15
- # {py_version} - Python version (e.g., "3.10")
16
- # {py_short} - Python without dot (e.g., "310")
17
- # {py_minor} - Python minor version only (e.g., "10")
18
- # {py_tag} - Python tag (e.g., "cp310")
19
- # {platform} - Platform tag (e.g., "linux_x86_64")
20
-
21
- packages:
22
- # ===========================================================================
23
- # PyTorch Geometric (PyG) - official wheels
24
- # https://pytorch-geometric.readthedocs.io/en/latest/install/installation.html
25
- # ===========================================================================
26
- torch-scatter:
27
- wheel_template: "https://data.pyg.org/whl/torch-{torch_version}%2Bcu{cuda_short}/torch_scatter-{version}%2Bpt{torch_mm}cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl"
28
- default_version: "2.1.2"
29
- description: Scatter operations for PyTorch
30
-
31
- torch-cluster:
32
- wheel_template: "https://data.pyg.org/whl/torch-{torch_version}%2Bcu{cuda_short}/torch_cluster-{version}%2Bpt{torch_mm}cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl"
33
- default_version: "1.6.3"
34
- description: Clustering algorithms for PyTorch
35
-
36
- torch-sparse:
37
- wheel_template: "https://data.pyg.org/whl/torch-{torch_version}%2Bcu{cuda_short}/torch_sparse-{version}%2Bpt{torch_mm}cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl"
38
- default_version: "0.6.18"
39
- description: Sparse tensor operations for PyTorch
40
-
41
- torch-spline-conv:
42
- wheel_template: "https://data.pyg.org/whl/torch-{torch_version}%2Bcu{cuda_short}/torch_spline_conv-{version}%2Bpt{torch_mm}cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl"
43
- default_version: "1.2.2"
44
- description: Spline convolutions for PyTorch
45
-
46
- # ===========================================================================
47
- # PozzettiAndrea cuda-wheels (GitHub releases)
48
- # https://github.com/PozzettiAndrea/cuda-wheels/releases
49
- # ===========================================================================
50
- pytorch3d:
51
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/pytorch3d-latest/pytorch3d-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
52
- default_version: "0.7.9"
53
- description: PyTorch3D - 3D deep learning library
54
-
55
- nvdiffrast:
56
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/nvdiffrast-latest/nvdiffrast-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
57
- default_version: "0.4.0"
58
- description: NVIDIA differentiable rasterizer
59
-
60
- cumesh:
61
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/cumesh-latest/cumesh-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
62
- default_version: "0.0.1"
63
- description: CUDA-accelerated mesh utilities
64
-
65
- cubvh:
66
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/cubvh-latest/cubvh-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
67
- default_version: "0.1.2"
68
- description: CUDA BVH acceleration for mesh operations and marching cubes
69
-
70
- o_voxel:
71
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/o_voxel-latest/o_voxel-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
72
- default_version: "0.0.1"
73
- description: O-Voxel CUDA extension for TRELLIS
74
-
75
- flex_gemm:
76
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/flex_gemm-latest/flex_gemm-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
77
- default_version: "1.0.0"
78
- description: Flexible GEMM operations
79
-
80
- nvdiffrec_render:
81
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/nvdiffrec_render-latest/nvdiffrec_render-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
82
- default_version: "0.0.1"
83
- description: NVDiffRec rendering utilities
84
-
85
- gsplat:
86
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/gsplat-latest/gsplat-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
87
- default_version: "1.5.3"
88
- description: Gaussian splatting rasterization
89
-
90
- cc_torch:
91
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/cc_torch-latest/cc_torch-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
92
- default_version: "0.2"
93
- description: GPU-accelerated connected components
94
-
95
- torch_generic_nms:
96
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/torch_generic_nms-latest/torch_generic_nms-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
97
- default_version: "0.1"
98
- description: GPU-accelerated Non-Maximum Suppression
99
-
100
- lietorch:
101
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/lietorch-latest/lietorch-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
102
- default_version: "0.3"
103
- description: Lie group operations for PyTorch (DPVO dependency)
104
-
105
- sageattention:
106
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/sageattention-latest/sageattention-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
107
- default_version: "2.2.0"
108
- description: SageAttention - 2-5x faster than FlashAttention with quantized kernels
109
-
110
- dpvo-cuda:
111
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/dpvo_cuda-latest/dpvo_cuda-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
112
- default_version: "0.0.0"
113
- description: DPVO CUDA extensions (cuda_corr, cuda_ba, lietorch_backends) - torch 2.4 only
114
-
115
- # ===========================================================================
116
- # detectron2 - Facebook's detection library
117
- # https://github.com/facebookresearch/detectron2
118
- # Prebuilt wheels from miropsota's torch_packages_builder
119
- # ===========================================================================
120
- detectron2:
121
- find_links: "https://miropsota.github.io/torch_packages_builder/detectron2/"
122
- default_version: "0.6"
123
- description: Detectron2 - Facebook's detection and segmentation library
124
-
125
- # ===========================================================================
126
- # flash-attn - Dao-AILab (Linux x86_64)
127
- # For other platforms, users should add custom wheel_source in their config
128
- # ===========================================================================
129
- flash-attn:
130
- wheel_template: "https://github.com/Dao-AILab/flash-attention/releases/download/v{version}/flash_attn-{version}%2Bcu{cuda_major}torch{torch_dotted_mm}cxx11abiTRUE-{py_tag}-{py_tag}-linux_x86_64.whl"
131
- description: Flash Attention for fast transformer inference (Linux x86_64)
132
-
133
- # ===========================================================================
134
- # spconv - Sparse convolution library
135
- # PyPI with CUDA-versioned package names (spconv-cu124, spconv-cu126, etc.)
136
- # Note: This uses a special package_name field, not wheel_template
137
- # ===========================================================================
138
- spconv:
139
- wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/spconv_cu{cuda_short}-latest/spconv_cu{cuda_short}-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
140
- default_version: "2.3.8"
141
- description: Sparse convolution library
comfy_env/workers/pool.py DELETED
@@ -1,241 +0,0 @@
1
- """
2
- WorkerPool - Global registry and management of named workers.
3
-
4
- Provides a simple API for getting workers by name:
5
-
6
- from comfy_env.workers import get_worker
7
-
8
- worker = get_worker("sam3d")
9
- result = worker.call_module("my_module", "my_func", image=tensor)
10
-
11
- Workers are registered at startup and reused across calls:
12
-
13
- from comfy_env.workers import register_worker, TorchMPWorker
14
-
15
- register_worker("default", TorchMPWorker())
16
- register_worker("sam3d", PersistentVenvWorker(
17
- python="/path/to/venv/bin/python",
18
- working_dir="/path/to/nodes",
19
- ))
20
- """
21
-
22
- import atexit
23
- import threading
24
- from typing import Dict, Optional, Union
25
- from pathlib import Path
26
-
27
- from .base import Worker
28
-
29
-
30
- class WorkerPool:
31
- """
32
- Singleton pool of named workers.
33
-
34
- Manages worker lifecycle, provides access by name, handles cleanup.
35
- """
36
-
37
- _instance: Optional["WorkerPool"] = None
38
- _lock = threading.Lock()
39
-
40
- def __new__(cls):
41
- if cls._instance is None:
42
- with cls._lock:
43
- if cls._instance is None:
44
- cls._instance = super().__new__(cls)
45
- cls._instance._initialized = False
46
- return cls._instance
47
-
48
- def __init__(self):
49
- if self._initialized:
50
- return
51
- self._initialized = True
52
- self._workers: Dict[str, Worker] = {}
53
- self._factories: Dict[str, callable] = {}
54
- self._worker_lock = threading.Lock()
55
-
56
- def register(
57
- self,
58
- name: str,
59
- worker: Optional[Worker] = None,
60
- factory: Optional[callable] = None,
61
- ) -> None:
62
- """
63
- Register a worker or worker factory.
64
-
65
- Args:
66
- name: Name to register under.
67
- worker: Pre-created worker instance.
68
- factory: Callable that creates worker on first use (lazy).
69
-
70
- Only one of worker or factory should be provided.
71
- """
72
- if worker is not None and factory is not None:
73
- raise ValueError("Provide either worker or factory, not both")
74
- if worker is None and factory is None:
75
- raise ValueError("Must provide worker or factory")
76
-
77
- with self._worker_lock:
78
- # Shutdown existing worker if replacing
79
- if name in self._workers:
80
- try:
81
- self._workers[name].shutdown()
82
- except:
83
- pass
84
-
85
- if worker is not None:
86
- self._workers[name] = worker
87
- self._factories.pop(name, None)
88
- else:
89
- self._factories[name] = factory
90
- self._workers.pop(name, None)
91
-
92
- def get(self, name: str) -> Worker:
93
- """
94
- Get a worker by name.
95
-
96
- Args:
97
- name: Registered worker name.
98
-
99
- Returns:
100
- The worker instance.
101
-
102
- Raises:
103
- KeyError: If no worker registered with that name.
104
- """
105
- with self._worker_lock:
106
- # Check for existing worker
107
- if name in self._workers:
108
- worker = self._workers[name]
109
- if worker.is_alive():
110
- return worker
111
- # Worker died, try to recreate from factory
112
- if name not in self._factories:
113
- raise RuntimeError(f"Worker '{name}' died and no factory to recreate")
114
-
115
- # Create from factory
116
- if name in self._factories:
117
- worker = self._factories[name]()
118
- self._workers[name] = worker
119
- return worker
120
-
121
- raise KeyError(f"No worker registered with name: {name}")
122
-
123
- def shutdown(self, name: Optional[str] = None) -> None:
124
- """
125
- Shutdown workers.
126
-
127
- Args:
128
- name: If provided, shutdown only this worker.
129
- If None, shutdown all workers.
130
- """
131
- with self._worker_lock:
132
- if name is not None:
133
- if name in self._workers:
134
- try:
135
- self._workers[name].shutdown()
136
- except:
137
- pass
138
- del self._workers[name]
139
- else:
140
- for worker in self._workers.values():
141
- try:
142
- worker.shutdown()
143
- except:
144
- pass
145
- self._workers.clear()
146
-
147
- def list_workers(self) -> Dict[str, str]:
148
- """
149
- List all registered workers.
150
-
151
- Returns:
152
- Dict of name -> status string.
153
- """
154
- with self._worker_lock:
155
- result = {}
156
- for name, worker in self._workers.items():
157
- status = "alive" if worker.is_alive() else "dead"
158
- result[name] = f"{type(worker).__name__} ({status})"
159
- for name in self._factories:
160
- if name not in result:
161
- result[name] = f"factory (not started)"
162
- return result
163
-
164
-
165
- # Global pool instance
166
- _pool = WorkerPool()
167
-
168
-
169
- def get_worker(name: str) -> Worker:
170
- """
171
- Get a worker by name from the global pool.
172
-
173
- Args:
174
- name: Registered worker name.
175
-
176
- Returns:
177
- Worker instance.
178
-
179
- Example:
180
- worker = get_worker("sam3d")
181
- result = worker.call_module("my_module", "my_func", image=tensor)
182
- """
183
- return _pool.get(name)
184
-
185
-
186
- def register_worker(
187
- name: str,
188
- worker: Optional[Worker] = None,
189
- factory: Optional[callable] = None,
190
- ) -> None:
191
- """
192
- Register a worker in the global pool.
193
-
194
- Args:
195
- name: Name to register under.
196
- worker: Pre-created worker instance.
197
- factory: Callable that creates worker on demand.
198
-
199
- Example:
200
- # Register pre-created worker
201
- register_worker("default", TorchMPWorker())
202
-
203
- # Register factory for lazy creation
204
- register_worker("sam3d", factory=lambda: PersistentVenvWorker(
205
- python="/path/to/venv/bin/python",
206
- ))
207
- """
208
- _pool.register(name, worker=worker, factory=factory)
209
-
210
-
211
- def shutdown_workers(name: Optional[str] = None) -> None:
212
- """
213
- Shutdown workers in the global pool.
214
-
215
- Args:
216
- name: If provided, shutdown only this worker.
217
- If None, shutdown all workers.
218
- """
219
- _pool.shutdown(name)
220
-
221
-
222
- def list_workers() -> Dict[str, str]:
223
- """
224
- List all registered workers.
225
-
226
- Returns:
227
- Dict of name -> status description.
228
- """
229
- return _pool.list_workers()
230
-
231
-
232
- # Register default worker (TorchMPWorker) on import
233
- def _register_default():
234
- from .torch_mp import TorchMPWorker
235
- register_worker("default", factory=lambda: TorchMPWorker(name="default"))
236
-
237
-
238
- _register_default()
239
-
240
- # Cleanup on exit
241
- atexit.register(lambda: shutdown_workers())
@@ -1,48 +0,0 @@
1
- comfy_env/__init__.py,sha256=DvOCFCq-EuXZ_e6vsPCObgTPYSRLZqiG3w35SOD-e4E,4101
2
- comfy_env/cli.py,sha256=Pjzb-jsoH67lyHxmBFOWvasWX01eHFE_BEjUk1l-uEo,14509
3
- comfy_env/decorator.py,sha256=SL2duhj8EpQuK-TuEgNA9anTgQI9gWza5ikPlLXESjA,27018
4
- comfy_env/errors.py,sha256=q-C3vyrPa_kk_Ao8l17mIGfJiG2IR0hCFV0GFcNLmcI,9924
5
- comfy_env/install.py,sha256=nfzGifXVd87a6dnwY3GtktrXpS7fjWuWF-QV9hh2e94,15657
6
- comfy_env/isolation.py,sha256=a-q6mA9tzD27kZSZCTioSKlK-3kpRFKYA23V_75OmaI,9286
7
- comfy_env/nodes.py,sha256=CWUe35jU5SKk4ur-SddZePdqWgxJDlxGhpcJiu5pAK4,4354
8
- comfy_env/pixi.py,sha256=DnDvX3aMtwbo8XPJUt4JYADUyWcXGJ72PqcpN7Fkg_A,27440
9
- comfy_env/registry.py,sha256=w-QwvAPFlCrBYRAv4cXkp2zujQPZn8Fk5DUxKCtox8o,3430
10
- comfy_env/resolver.py,sha256=WoNIo2IfTR2RlEf_HQl66eAeMa2R2pmLof_UdK-0RNE,6714
11
- comfy_env/stub_imports.py,sha256=qOYxCJ8BbIfMHGBfqC5KGZSK6AK-iqmSjWi8ZCP8SAM,8425
12
- comfy_env/env/__init__.py,sha256=o8-k213v2dnK1t2qsZW1z-zl5tLX65aWcEj7AFdrHwk,1126
13
- comfy_env/env/config.py,sha256=-hrGRU4Q7rRV55Q73KkkfKe6dLLRLTtuOE7triAbYEk,7572
14
- comfy_env/env/config_file.py,sha256=MXear-3a2wjagRVpP869XIiFHwFrM_PNIH27SRPQbbU,24103
15
- comfy_env/env/cuda_gpu_detection.py,sha256=sqB3LjvGNdV4eFqiARQGfyecBM3ZiUmeh6nG0YCRYQw,9751
16
- comfy_env/env/manager.py,sha256=-qdbZDsbNfs70onVbC7mhKCzNsxYx3WmG7ttlBinhGI,23659
17
- comfy_env/env/security.py,sha256=dNSitAnfBNVdvxgBBntYw33AJaCs_S1MHb7KJhAVYzM,8171
18
- comfy_env/env/platform/__init__.py,sha256=Nb5MPZIEeanSMEWwqU4p4bnEKTJn1tWcwobnhq9x9IY,614
19
- comfy_env/env/platform/base.py,sha256=iS0ptTTVjXRwPU4qWUdvHI7jteuzxGSjWr5BUQ7hGiU,2453
20
- comfy_env/env/platform/darwin.py,sha256=HK3VkLT6DfesAnIXwx2IaUFHTBclF0xTQnC7azWY6Kc,1552
21
- comfy_env/env/platform/linux.py,sha256=xLp8FEbFqZLQrzIZBI9z3C4g23Ab1ASTHLsXDzsdCoA,2062
22
- comfy_env/env/platform/windows.py,sha256=FCOCgpzGzorY9-HueMlJUR8DxM2eH-cj9iZk6K026Is,10891
23
- comfy_env/ipc/__init__.py,sha256=pTjgJn5YJxLXmEvuKh3lkCEJQs-6W6_F01jfkFMUi0c,1375
24
- comfy_env/ipc/bridge.py,sha256=zcyN3xzV4WWBrBFNwCniPBR58dLCg46-k9TtyW5U000,16437
25
- comfy_env/ipc/protocol.py,sha256=gfWe5yEDUn4QWhcdWFcxn40GqxlW1Uf23j0edOzPPng,7951
26
- comfy_env/ipc/tensor.py,sha256=DyU28GymKkLPVwzZyKdm2Av222hdaycMgv3KdL5mtO0,12009
27
- comfy_env/ipc/torch_bridge.py,sha256=WzdwDJa3N_1fEl9OeZxikvMbwryO5P63o0WmEDpS18A,13206
28
- comfy_env/ipc/transport.py,sha256=XQlRcfQsd4nd909KIYnZKvsS3ksGpGjyVucn8jvmLIU,9698
29
- comfy_env/ipc/worker.py,sha256=oxTLF9xXrl8CRx_JVNBdkxZh35NuzfkdxhaUtUuXogs,6661
30
- comfy_env/stubs/__init__.py,sha256=jMeWEKY30y8QqYX9AUyuZbmm607erQTc4N7YaDoAH00,38
31
- comfy_env/stubs/folder_paths.py,sha256=K90J34EG6LD4eZP8YG-xMeBmqwpp_wA8E92DKMXd1GQ,2189
32
- comfy_env/stubs/comfy/__init__.py,sha256=-y4L6gX21vrI2V8MvNaMeHOcAn5kUNK3jUyLvtXRmJQ,173
33
- comfy_env/stubs/comfy/model_management.py,sha256=Khx8Qa3NutKPLTn9oSM3VLeATUOg1fe4QCjxdxXd6eE,1462
34
- comfy_env/stubs/comfy/utils.py,sha256=s3t_KLj_-w1Uj3A3iAy69wIk4Ggklojw5hsDNb69Pcc,776
35
- comfy_env/templates/comfy-env-instructions.txt,sha256=Q38Hb_YdN0a8rTxn7l5ON4JDPba7XgVftDqfEy-8I2I,3004
36
- comfy_env/templates/comfy-env.toml,sha256=AcvPtlPlpqmwbz7vYy6SZCZOm3pL0HHXhsZwpAYXRAU,6466
37
- comfy_env/workers/__init__.py,sha256=IKZwOvrWOGqBLDUIFAalg4CdqzJ_YnAdxo2Ha7gZTJ0,1467
38
- comfy_env/workers/base.py,sha256=ZILYXlvGCWuCZXmjKqfG8VeD19ihdYaASdlbasl2BMo,2312
39
- comfy_env/workers/pool.py,sha256=MtjeOWfvHSCockq8j1gfnxIl-t01GSB79T5N4YB82Lg,6956
40
- comfy_env/workers/tensor_utils.py,sha256=TCuOAjJymrSbkgfyvcKtQ_KbVWTqSwP9VH_bCaFLLq8,6409
41
- comfy_env/workers/torch_mp.py,sha256=TnsCoBHEJBXEoBkx7WiCd9tBAlzFtMOw1dk_7_zGJZY,22288
42
- comfy_env/workers/venv.py,sha256=WdK8GZkLXyzkCI0Xdber_BJhJRP5eXMF0M2yd8GU-Zk,59809
43
- comfy_env/wheel_sources.yml,sha256=uU0YJmWaiLAicQNN9VYS8PZevlP2NOH6mBUE294dvAo,8156
44
- comfy_env-0.0.65.dist-info/METADATA,sha256=PGpxA6Rue44EzyH8WRMmwbpOW0OFZJVwT3cnPcDvKjc,8735
45
- comfy_env-0.0.65.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
46
- comfy_env-0.0.65.dist-info/entry_points.txt,sha256=J4fXeqgxU_YenuW_Zxn_pEL7J-3R0--b6MS5t0QmAr0,49
47
- comfy_env-0.0.65.dist-info/licenses/LICENSE,sha256=E68QZMMpW4P2YKstTZ3QU54HRQO8ecew09XZ4_Vn870,1093
48
- comfy_env-0.0.65.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes
File without changes