comfy-env 0.0.43__tar.gz → 0.0.44__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.43 → comfy_env-0.0.44}/PKG-INFO +1 -1
- {comfy_env-0.0.43 → comfy_env-0.0.44}/pyproject.toml +1 -1
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/manager.py +27 -8
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/install.py +23 -4
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/wheel_sources.yml +9 -3
- {comfy_env-0.0.43 → comfy_env-0.0.44}/.github/workflows/publish.yml +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/.gitignore +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/LICENSE +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/README.md +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/__init__.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/cli.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/decorator.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/__init__.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/config.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/config_file.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/cuda_gpu_detection.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/platform/__init__.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/platform/base.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/platform/darwin.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/platform/linux.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/platform/windows.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/env/security.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/errors.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/ipc/__init__.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/ipc/bridge.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/ipc/protocol.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/ipc/tensor.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/ipc/torch_bridge.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/ipc/transport.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/ipc/worker.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/nodes.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/pixi.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/registry.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/resolver.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/stubs/__init__.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/stubs/comfy/__init__.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/stubs/comfy/model_management.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/stubs/comfy/utils.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/stubs/folder_paths.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/workers/__init__.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/workers/base.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/workers/pool.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/workers/tensor_utils.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/src/comfy_env/workers/torch_mp.py +0 -0
- {comfy_env-0.0.43 → comfy_env-0.0.44}/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.44
|
|
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
|
|
@@ -383,13 +383,19 @@ class IsolatedEnvManager:
|
|
|
383
383
|
|
|
384
384
|
if "wheel_template" in config:
|
|
385
385
|
# Direct wheel URL from template
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
386
|
+
template = config["wheel_template"]
|
|
387
|
+
|
|
388
|
+
# Only require version if template uses {version}
|
|
389
|
+
effective_version = None
|
|
390
|
+
if "{version}" in template:
|
|
391
|
+
effective_version = version or config.get("default_version")
|
|
392
|
+
if not effective_version:
|
|
393
|
+
raise RuntimeError(f"Package {package} requires version (no default in registry)")
|
|
394
|
+
vars_dict["version"] = effective_version
|
|
395
|
+
|
|
396
|
+
wheel_url = self._substitute_template(template, vars_dict)
|
|
397
|
+
version_str = f"=={effective_version}" if effective_version else ""
|
|
398
|
+
self.log(f" Installing {package}{version_str}...")
|
|
393
399
|
self.log(f" URL: {wheel_url}")
|
|
394
400
|
result = subprocess.run(
|
|
395
401
|
pip_args + ["--no-deps", wheel_url],
|
|
@@ -398,6 +404,19 @@ class IsolatedEnvManager:
|
|
|
398
404
|
if result.returncode != 0:
|
|
399
405
|
raise RuntimeError(f"Failed to install {package}: {result.stderr}")
|
|
400
406
|
|
|
407
|
+
elif "find_links" in config:
|
|
408
|
+
# find_links: pip resolves wheel from index URL
|
|
409
|
+
find_links_url = config["find_links"]
|
|
410
|
+
effective_version = version or config.get("default_version")
|
|
411
|
+
pkg_spec = f"{package}=={effective_version}" if effective_version else package
|
|
412
|
+
self.log(f" Installing {pkg_spec} from {find_links_url}...")
|
|
413
|
+
result = subprocess.run(
|
|
414
|
+
pip_args + ["--no-deps", "--find-links", find_links_url, pkg_spec],
|
|
415
|
+
capture_output=True, text=True,
|
|
416
|
+
)
|
|
417
|
+
if result.returncode != 0:
|
|
418
|
+
raise RuntimeError(f"Failed to install {package}: {result.stderr}")
|
|
419
|
+
|
|
401
420
|
elif "package_name" in config:
|
|
402
421
|
# PyPI variant (e.g., spconv-cu124)
|
|
403
422
|
pkg_name = self._substitute_template(config["package_name"], vars_dict)
|
|
@@ -411,7 +430,7 @@ class IsolatedEnvManager:
|
|
|
411
430
|
raise RuntimeError(f"Failed to install {package}: {result.stderr}")
|
|
412
431
|
|
|
413
432
|
else:
|
|
414
|
-
raise RuntimeError(f"Package {package} in registry but missing wheel_template or package_name")
|
|
433
|
+
raise RuntimeError(f"Package {package} in registry but missing wheel_template, find_links, or package_name")
|
|
415
434
|
|
|
416
435
|
else:
|
|
417
436
|
# Not in registry - error
|
|
@@ -367,11 +367,25 @@ def _resolve_wheel_url(
|
|
|
367
367
|
|
|
368
368
|
# wheel_template: direct URL
|
|
369
369
|
if "wheel_template" in config:
|
|
370
|
+
template = config["wheel_template"]
|
|
371
|
+
|
|
372
|
+
# Only require version if template uses {version}
|
|
373
|
+
if "{version}" in template:
|
|
374
|
+
effective_version = version or config.get("default_version")
|
|
375
|
+
if not effective_version:
|
|
376
|
+
raise InstallError(f"Package {package} requires version (no default in registry)")
|
|
377
|
+
vars_dict["version"] = effective_version
|
|
378
|
+
|
|
379
|
+
return _substitute_template(template, vars_dict)
|
|
380
|
+
|
|
381
|
+
# find_links: pip resolves wheel from index (e.g., miropsota's detectron2)
|
|
382
|
+
if "find_links" in config:
|
|
383
|
+
find_links_url = config["find_links"]
|
|
370
384
|
effective_version = version or config.get("default_version")
|
|
371
|
-
if
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
385
|
+
if effective_version:
|
|
386
|
+
return f"find_links:{find_links_url}:{package}=={effective_version}"
|
|
387
|
+
else:
|
|
388
|
+
return f"find_links:{find_links_url}:{package}"
|
|
375
389
|
|
|
376
390
|
# package_name: PyPI variant (e.g., spconv-cu124)
|
|
377
391
|
if "package_name" in config:
|
|
@@ -406,6 +420,11 @@ def _install_cuda_package(
|
|
|
406
420
|
pkg_spec = f"{pkg_name}=={version}" if version else pkg_name
|
|
407
421
|
log(f" Installing {package} as {pkg_spec} from PyPI...")
|
|
408
422
|
_pip_install([pkg_spec], no_deps=False, log=log)
|
|
423
|
+
elif url_or_marker.startswith("find_links:"):
|
|
424
|
+
# find_links: pip resolves from index URL
|
|
425
|
+
_, find_links_url, pkg_spec = url_or_marker.split(":", 2)
|
|
426
|
+
log(f" Installing {pkg_spec} from {find_links_url}...")
|
|
427
|
+
_pip_install([pkg_spec, "--find-links", find_links_url], no_deps=True, log=log)
|
|
409
428
|
else:
|
|
410
429
|
# Direct wheel URL
|
|
411
430
|
log(f" Installing {package}...")
|
|
@@ -25,18 +25,22 @@ packages:
|
|
|
25
25
|
# ===========================================================================
|
|
26
26
|
torch-scatter:
|
|
27
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"
|
|
28
29
|
description: Scatter operations for PyTorch
|
|
29
30
|
|
|
30
31
|
torch-cluster:
|
|
31
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"
|
|
32
34
|
description: Clustering algorithms for PyTorch
|
|
33
35
|
|
|
34
36
|
torch-sparse:
|
|
35
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"
|
|
36
39
|
description: Sparse tensor operations for PyTorch
|
|
37
40
|
|
|
38
41
|
torch-spline-conv:
|
|
39
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"
|
|
40
44
|
description: Spline convolutions for PyTorch
|
|
41
45
|
|
|
42
46
|
# ===========================================================================
|
|
@@ -114,7 +118,8 @@ packages:
|
|
|
114
118
|
# Prebuilt wheels from miropsota's torch_packages_builder
|
|
115
119
|
# ===========================================================================
|
|
116
120
|
detectron2:
|
|
117
|
-
|
|
121
|
+
find_links: "https://miropsota.github.io/torch_packages_builder/detectron2/"
|
|
122
|
+
default_version: "0.6"
|
|
118
123
|
description: Detectron2 - Facebook's detection and segmentation library
|
|
119
124
|
|
|
120
125
|
# ===========================================================================
|
|
@@ -131,5 +136,6 @@ packages:
|
|
|
131
136
|
# Note: This uses a special package_name field, not wheel_template
|
|
132
137
|
# ===========================================================================
|
|
133
138
|
spconv:
|
|
134
|
-
|
|
135
|
-
|
|
139
|
+
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/spconv_cu{cuda_short}-latest/spconv-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
140
|
+
default_version: "2.3.8"
|
|
141
|
+
description: Sparse convolution library
|
|
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
|