comfy-env 0.0.35__tar.gz → 0.0.37__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.35 → comfy_env-0.0.37}/PKG-INFO +1 -1
- {comfy_env-0.0.35 → comfy_env-0.0.37}/pyproject.toml +1 -1
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/install.py +22 -10
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/stubs/folder_paths.py +12 -2
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/wheel_sources.yml +1 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/workers/venv.py +10 -1
- {comfy_env-0.0.35 → comfy_env-0.0.37}/.github/workflows/publish.yml +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/.gitignore +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/LICENSE +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/README.md +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/__init__.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/cli.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/decorator.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/__init__.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/config.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/config_file.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/cuda_gpu_detection.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/manager.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/platform/__init__.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/platform/base.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/platform/darwin.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/platform/linux.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/platform/windows.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/env/security.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/errors.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/index_resolver.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/ipc/__init__.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/ipc/bridge.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/ipc/protocol.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/ipc/tensor.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/ipc/torch_bridge.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/ipc/transport.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/ipc/worker.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/nodes.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/pixi.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/registry.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/resolver.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/stubs/__init__.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/workers/__init__.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/workers/base.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/workers/pool.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/workers/tensor_utils.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/src/comfy_env/workers/torch_mp.py +0 -0
- {comfy_env-0.0.35 → comfy_env-0.0.37}/untitled.txt +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.37
|
|
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
|
|
@@ -484,19 +484,31 @@ def _install_cuda_package(
|
|
|
484
484
|
else:
|
|
485
485
|
pkg_spec = f"{package}=={version}" if version else package
|
|
486
486
|
log(f" Installing {package} (index)...")
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
487
|
+
|
|
488
|
+
# Resolve version: use provided version, default_version, or None
|
|
489
|
+
effective_version = version if version and version != "*" else config.get("default_version")
|
|
490
|
+
|
|
491
|
+
# Check for wheel_template first (direct URL construction, no index parsing)
|
|
492
|
+
if "wheel_template" in config and effective_version:
|
|
493
|
+
vars_dict = env.as_dict()
|
|
494
|
+
vars_dict["version"] = effective_version
|
|
495
|
+
wheel_url = _substitute_template(config["wheel_template"], vars_dict)
|
|
493
496
|
log(f" Wheel: {wheel_url}")
|
|
494
497
|
_pip_install([wheel_url], no_deps=True, log=log)
|
|
495
498
|
else:
|
|
496
|
-
#
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
499
|
+
# Try to resolve exact wheel URL from index
|
|
500
|
+
actual_version = resolved_version if "version_template" in config else version
|
|
501
|
+
vars_dict = env.as_dict()
|
|
502
|
+
wheel_url = resolve_wheel_from_index(index_url, package, vars_dict, actual_version)
|
|
503
|
+
if wheel_url:
|
|
504
|
+
# Install from resolved URL directly (guarantees we get what we resolved)
|
|
505
|
+
log(f" Wheel: {wheel_url}")
|
|
506
|
+
_pip_install([wheel_url], no_deps=True, log=log)
|
|
507
|
+
else:
|
|
508
|
+
raise InstallError(
|
|
509
|
+
f"Failed to resolve wheel URL for {package} from index {index_url}. "
|
|
510
|
+
"No matching wheel found and PyPI fallback is disabled.",
|
|
511
|
+
)
|
|
500
512
|
|
|
501
513
|
elif method == "github_index":
|
|
502
514
|
# GitHub Pages index - try to resolve exact wheel URL first
|
|
@@ -11,7 +11,7 @@ from pathlib import Path
|
|
|
11
11
|
_comfyui_base = None
|
|
12
12
|
|
|
13
13
|
def _find_comfyui_base():
|
|
14
|
-
"""Find ComfyUI base from COMFYUI_BASE env var or by walking up."""
|
|
14
|
+
"""Find ComfyUI base from COMFYUI_BASE env var, child dirs, or by walking up."""
|
|
15
15
|
global _comfyui_base
|
|
16
16
|
if _comfyui_base:
|
|
17
17
|
return _comfyui_base
|
|
@@ -21,8 +21,18 @@ def _find_comfyui_base():
|
|
|
21
21
|
_comfyui_base = Path(os.environ["COMFYUI_BASE"])
|
|
22
22
|
return _comfyui_base
|
|
23
23
|
|
|
24
|
+
# Check common child directories (for test environments)
|
|
25
|
+
# Also check parent's children (isolated venv is sibling to .comfy-test-env)
|
|
26
|
+
cwd = Path.cwd().resolve()
|
|
27
|
+
for base in [cwd, cwd.parent]:
|
|
28
|
+
for child in [".comfy-test-env/ComfyUI", "ComfyUI"]:
|
|
29
|
+
candidate = base / child
|
|
30
|
+
if (candidate / "main.py").exists() and (candidate / "comfy").exists():
|
|
31
|
+
_comfyui_base = candidate
|
|
32
|
+
return _comfyui_base
|
|
33
|
+
|
|
24
34
|
# Walk up from cwd looking for ComfyUI
|
|
25
|
-
current =
|
|
35
|
+
current = cwd
|
|
26
36
|
for _ in range(10):
|
|
27
37
|
if (current / "main.py").exists() and (current / "comfy").exists():
|
|
28
38
|
_comfyui_base = current
|
|
@@ -56,6 +56,7 @@ packages:
|
|
|
56
56
|
method: index
|
|
57
57
|
index_url: "https://miropsota.github.io/torch_packages_builder/pytorch3d/"
|
|
58
58
|
wheel_template: "https://miropsota.github.io/torch_packages_builder/pytorch3d/pytorch3d-{version}%2Bpt{torch_version}cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl"
|
|
59
|
+
default_version: "0.7.9"
|
|
59
60
|
description: PyTorch3D - 3D deep learning library
|
|
60
61
|
|
|
61
62
|
# ===========================================================================
|
|
@@ -594,7 +594,16 @@ class PersistentVenvWorker(Worker):
|
|
|
594
594
|
self._worker_script.write_text(_PERSISTENT_WORKER_SCRIPT)
|
|
595
595
|
|
|
596
596
|
def _find_comfyui_base(self) -> Optional[Path]:
|
|
597
|
-
"""Find ComfyUI base directory
|
|
597
|
+
"""Find ComfyUI base directory."""
|
|
598
|
+
# Check common child directories (for test environments)
|
|
599
|
+
# Also check parent's children (isolated venv is sibling to .comfy-test-env)
|
|
600
|
+
for base in [self.working_dir, self.working_dir.parent]:
|
|
601
|
+
for child in [".comfy-test-env/ComfyUI", "ComfyUI"]:
|
|
602
|
+
candidate = base / child
|
|
603
|
+
if (candidate / "main.py").exists() and (candidate / "comfy").exists():
|
|
604
|
+
return candidate
|
|
605
|
+
|
|
606
|
+
# Walk up from working_dir (standard ComfyUI custom_nodes layout)
|
|
598
607
|
current = self.working_dir.resolve()
|
|
599
608
|
for _ in range(10):
|
|
600
609
|
if (current / "main.py").exists() and (current / "comfy").exists():
|
|
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
|