comfy-env 0.0.60__tar.gz → 0.0.62__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.
- {comfy_env-0.0.60 → comfy_env-0.0.62}/PKG-INFO +1 -1
- {comfy_env-0.0.60 → comfy_env-0.0.62}/pyproject.toml +1 -1
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/pixi.py +50 -15
- {comfy_env-0.0.60 → comfy_env-0.0.62}/.github/workflows/publish.yml +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/.gitignore +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/LICENSE +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/README.md +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/__init__.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/cli.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/decorator.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/__init__.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/config.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/config_file.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/cuda_gpu_detection.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/manager.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/platform/__init__.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/platform/base.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/platform/darwin.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/platform/linux.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/platform/windows.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/env/security.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/errors.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/install.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/ipc/__init__.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/ipc/bridge.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/ipc/protocol.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/ipc/tensor.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/ipc/torch_bridge.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/ipc/transport.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/ipc/worker.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/isolation.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/nodes.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/registry.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/resolver.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/stub_imports.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/stubs/__init__.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/stubs/comfy/__init__.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/stubs/comfy/model_management.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/stubs/comfy/utils.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/stubs/folder_paths.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/templates/comfy-env-instructions.txt +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/templates/comfy-env.toml +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/wheel_sources.yml +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/workers/__init__.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/workers/base.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/workers/pool.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/workers/tensor_utils.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/workers/torch_mp.py +0 -0
- {comfy_env-0.0.60 → comfy_env-0.0.62}/src/comfy_env/workers/venv.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: comfy-env
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.62
|
|
4
4
|
Summary: Environment management for ComfyUI custom nodes - CUDA wheel resolution and process isolation
|
|
5
5
|
Project-URL: Homepage, https://github.com/PozzettiAndrea/comfy-env
|
|
6
6
|
Project-URL: Repository, https://github.com/PozzettiAndrea/comfy-env
|
|
@@ -188,16 +188,31 @@ def _build_cuda_vars(env_config: IsolatedEnv) -> dict:
|
|
|
188
188
|
Returns a dict with CUDA, PyTorch, Python, and platform variables
|
|
189
189
|
for template substitution.
|
|
190
190
|
"""
|
|
191
|
-
#
|
|
191
|
+
# Get CUDA/PyTorch versions from env_config (resolved from "auto" based on GPU arch)
|
|
192
|
+
# Pascal or below: CUDA 12.4, PyTorch 2.4.0
|
|
193
|
+
# Turing+: CUDA 12.8, PyTorch 2.8.0
|
|
194
|
+
cuda_version = env_config.cuda or "12.8"
|
|
195
|
+
torch_version = env_config.pytorch_version or "2.8.0"
|
|
196
|
+
|
|
197
|
+
# Parse CUDA version
|
|
198
|
+
cuda_parts = cuda_version.split(".")
|
|
199
|
+
cuda_short = "".join(cuda_parts[:2]) # "12.8" -> "128"
|
|
200
|
+
|
|
201
|
+
# Parse PyTorch version
|
|
202
|
+
torch_parts = torch_version.split(".")
|
|
203
|
+
torch_short = "".join(torch_parts) # "2.8.0" -> "280"
|
|
204
|
+
torch_mm = "".join(torch_parts[:2]) # "2.8.0" -> "28"
|
|
205
|
+
torch_dotted_mm = ".".join(torch_parts[:2]) # "2.8.0" -> "2.8"
|
|
206
|
+
|
|
192
207
|
vars_dict = {
|
|
193
|
-
"cuda_version":
|
|
194
|
-
"cuda_short":
|
|
195
|
-
"cuda_short2":
|
|
196
|
-
"cuda_major":
|
|
197
|
-
"torch_version":
|
|
198
|
-
"torch_short":
|
|
199
|
-
"torch_mm":
|
|
200
|
-
"torch_dotted_mm":
|
|
208
|
+
"cuda_version": cuda_version,
|
|
209
|
+
"cuda_short": cuda_short,
|
|
210
|
+
"cuda_short2": cuda_short,
|
|
211
|
+
"cuda_major": cuda_parts[0],
|
|
212
|
+
"torch_version": torch_version,
|
|
213
|
+
"torch_short": torch_short,
|
|
214
|
+
"torch_mm": torch_mm,
|
|
215
|
+
"torch_dotted_mm": torch_dotted_mm,
|
|
201
216
|
}
|
|
202
217
|
|
|
203
218
|
# Platform detection
|
|
@@ -314,19 +329,25 @@ def create_pixi_toml(
|
|
|
314
329
|
lines.append(f'name = "{env_config.name}"')
|
|
315
330
|
lines.append('version = "0.1.0"')
|
|
316
331
|
|
|
317
|
-
# Channels
|
|
318
|
-
|
|
332
|
+
# Channels - add pytorch channel, and nvidia if CUDA GPU detected
|
|
333
|
+
base_channels = conda.channels or ["conda-forge"]
|
|
334
|
+
if env_config.cuda:
|
|
335
|
+
# GPU detected - add pytorch and nvidia channels for CUDA support
|
|
336
|
+
channels = ["pytorch", "nvidia"] + [ch for ch in base_channels if ch not in ["pytorch", "nvidia"]]
|
|
337
|
+
else:
|
|
338
|
+
# No GPU - just add pytorch channel for CPU-only pytorch
|
|
339
|
+
channels = ["pytorch"] + [ch for ch in base_channels if ch != "pytorch"]
|
|
319
340
|
channels_str = ", ".join(f'"{ch}"' for ch in channels)
|
|
320
341
|
lines.append(f"channels = [{channels_str}]")
|
|
321
342
|
|
|
322
343
|
# Platforms
|
|
323
|
-
# Note: On macOS we always use osx-64 (x86_64) even on ARM64 Macs.
|
|
324
|
-
# This runs under Rosetta 2 but ensures compatibility with packages
|
|
325
|
-
# that only have x86_64 wheels (e.g., embreex for trimesh raytracing).
|
|
326
344
|
if sys.platform == "linux":
|
|
327
345
|
lines.append('platforms = ["linux-64"]')
|
|
328
346
|
elif sys.platform == "darwin":
|
|
329
|
-
|
|
347
|
+
if platform.machine() == "arm64":
|
|
348
|
+
lines.append('platforms = ["osx-arm64"]')
|
|
349
|
+
else:
|
|
350
|
+
lines.append('platforms = ["osx-64"]')
|
|
330
351
|
elif sys.platform == "win32":
|
|
331
352
|
lines.append('platforms = ["win-64"]')
|
|
332
353
|
|
|
@@ -344,6 +365,20 @@ def create_pixi_toml(
|
|
|
344
365
|
lines.append(f'python = "{env_config.python}.*"')
|
|
345
366
|
lines.append('pip = "*"') # Required for installing CUDA packages with --no-deps
|
|
346
367
|
|
|
368
|
+
# Add PyTorch via conda
|
|
369
|
+
# - With GPU: pytorch + pytorch-cuda for CUDA support
|
|
370
|
+
# - No GPU: pytorch 2.8.0 CPU-only (default)
|
|
371
|
+
torch_version = env_config.pytorch_version or "2.8.0"
|
|
372
|
+
torch_parts = torch_version.split(".")
|
|
373
|
+
torch_mm = ".".join(torch_parts[:2]) # "2.8.0" -> "2.8"
|
|
374
|
+
lines.append(f'pytorch = "{torch_mm}.*"')
|
|
375
|
+
|
|
376
|
+
if env_config.cuda:
|
|
377
|
+
# GPU detected - add pytorch-cuda for CUDA runtime
|
|
378
|
+
cuda_parts = env_config.cuda.split(".")
|
|
379
|
+
cuda_mm = ".".join(cuda_parts[:2]) # "12.8" -> "12.8"
|
|
380
|
+
lines.append(f'pytorch-cuda = "{cuda_mm}"')
|
|
381
|
+
|
|
347
382
|
# On Windows, use MKL BLAS to avoid OpenBLAS crashes (numpy blas_fpe_check issue)
|
|
348
383
|
if sys.platform == "win32":
|
|
349
384
|
lines.append('libblas = { version = "*", build = "*mkl" }')
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|