comfy-env 0.0.25__py3-none-any.whl → 0.0.27__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.
- comfy_env/install.py +61 -1
- comfy_env/wheel_sources.yml +29 -25
- {comfy_env-0.0.25.dist-info → comfy_env-0.0.27.dist-info}/METADATA +1 -1
- {comfy_env-0.0.25.dist-info → comfy_env-0.0.27.dist-info}/RECORD +7 -7
- {comfy_env-0.0.25.dist-info → comfy_env-0.0.27.dist-info}/WHEEL +0 -0
- {comfy_env-0.0.25.dist-info → comfy_env-0.0.27.dist-info}/entry_points.txt +0 -0
- {comfy_env-0.0.25.dist-info → comfy_env-0.0.27.dist-info}/licenses/LICENSE +0 -0
comfy_env/install.py
CHANGED
|
@@ -24,7 +24,7 @@ import sys
|
|
|
24
24
|
from pathlib import Path
|
|
25
25
|
from typing import Any, Callable, Dict, List, Optional, Set, Union
|
|
26
26
|
|
|
27
|
-
from .env.config import IsolatedEnv, NodeReq, SystemConfig
|
|
27
|
+
from .env.config import IsolatedEnv, LocalConfig, NodeReq, SystemConfig
|
|
28
28
|
from .env.config_file import load_config, discover_config
|
|
29
29
|
from .env.manager import IsolatedEnvManager
|
|
30
30
|
from .errors import CUDANotFoundError, DependencyError, InstallError, WheelNotFoundError
|
|
@@ -254,6 +254,9 @@ def install(
|
|
|
254
254
|
return _install_isolated(env_config, node_dir, log, dry_run)
|
|
255
255
|
elif env_config:
|
|
256
256
|
return _install_inplace(env_config, node_dir, log, dry_run, verify_wheels)
|
|
257
|
+
elif full_config.has_local:
|
|
258
|
+
# Handle [local.cuda] and [local.packages] without isolated env
|
|
259
|
+
return _install_local(full_config.local, node_dir, log, dry_run)
|
|
257
260
|
else:
|
|
258
261
|
return True
|
|
259
262
|
|
|
@@ -353,6 +356,63 @@ def _install_inplace(
|
|
|
353
356
|
return True
|
|
354
357
|
|
|
355
358
|
|
|
359
|
+
def _install_local(
|
|
360
|
+
local_config: LocalConfig,
|
|
361
|
+
node_dir: Path,
|
|
362
|
+
log: Callable[[str], None],
|
|
363
|
+
dry_run: bool,
|
|
364
|
+
) -> bool:
|
|
365
|
+
"""Install local packages into current environment (no isolated venv)."""
|
|
366
|
+
log("Installing local packages into host environment")
|
|
367
|
+
|
|
368
|
+
# Install MSVC runtime on Windows (required for CUDA/PyTorch native extensions)
|
|
369
|
+
if sys.platform == "win32":
|
|
370
|
+
log("Installing MSVC runtime for Windows...")
|
|
371
|
+
if not dry_run:
|
|
372
|
+
_pip_install(["msvc-runtime"], no_deps=False, log=log)
|
|
373
|
+
|
|
374
|
+
# Detect runtime environment
|
|
375
|
+
env = RuntimeEnv.detect()
|
|
376
|
+
log(f"Detected environment: {env}")
|
|
377
|
+
|
|
378
|
+
# Check CUDA requirement
|
|
379
|
+
if not env.cuda_version and local_config.cuda_packages:
|
|
380
|
+
raise CUDANotFoundError(package=", ".join(local_config.cuda_packages.keys()))
|
|
381
|
+
|
|
382
|
+
# Convert cuda_packages dict to list of specs
|
|
383
|
+
cuda_packages = []
|
|
384
|
+
for pkg, ver in local_config.cuda_packages.items():
|
|
385
|
+
if ver:
|
|
386
|
+
cuda_packages.append(f"{pkg}=={ver}")
|
|
387
|
+
else:
|
|
388
|
+
cuda_packages.append(pkg)
|
|
389
|
+
|
|
390
|
+
if dry_run:
|
|
391
|
+
log("\nDry run - would install:")
|
|
392
|
+
for pkg in cuda_packages:
|
|
393
|
+
log(f" {pkg}")
|
|
394
|
+
if local_config.requirements:
|
|
395
|
+
log(" Regular packages:")
|
|
396
|
+
for pkg in local_config.requirements:
|
|
397
|
+
log(f" {pkg}")
|
|
398
|
+
return True
|
|
399
|
+
|
|
400
|
+
# Install CUDA packages
|
|
401
|
+
if cuda_packages:
|
|
402
|
+
log(f"\nInstalling {len(cuda_packages)} CUDA packages...")
|
|
403
|
+
for req in cuda_packages:
|
|
404
|
+
package, version = parse_wheel_requirement(req)
|
|
405
|
+
_install_cuda_package(package, version, env, [], log)
|
|
406
|
+
|
|
407
|
+
# Install regular packages
|
|
408
|
+
if local_config.requirements:
|
|
409
|
+
log(f"\nInstalling {len(local_config.requirements)} regular packages...")
|
|
410
|
+
_pip_install(local_config.requirements, no_deps=False, log=log)
|
|
411
|
+
|
|
412
|
+
log("\nLocal installation complete!")
|
|
413
|
+
return True
|
|
414
|
+
|
|
415
|
+
|
|
356
416
|
def _get_install_info(
|
|
357
417
|
package: str,
|
|
358
418
|
version: Optional[str],
|
comfy_env/wheel_sources.yml
CHANGED
|
@@ -58,38 +58,48 @@ packages:
|
|
|
58
58
|
description: PyTorch3D - 3D deep learning library
|
|
59
59
|
|
|
60
60
|
# ===========================================================================
|
|
61
|
-
# PozzettiAndrea
|
|
61
|
+
# PozzettiAndrea cuda-wheels (unified PEP 503 index)
|
|
62
|
+
# https://pozzettiandrea.github.io/cuda-wheels
|
|
62
63
|
# ===========================================================================
|
|
63
64
|
nvdiffrast:
|
|
64
|
-
method:
|
|
65
|
-
index_url: "https://pozzettiandrea.github.io/
|
|
65
|
+
method: index
|
|
66
|
+
index_url: "https://pozzettiandrea.github.io/cuda-wheels"
|
|
66
67
|
description: NVIDIA differentiable rasterizer
|
|
67
68
|
|
|
68
69
|
cumesh:
|
|
69
|
-
method:
|
|
70
|
-
index_url: "https://pozzettiandrea.github.io/
|
|
70
|
+
method: index
|
|
71
|
+
index_url: "https://pozzettiandrea.github.io/cuda-wheels"
|
|
71
72
|
description: CUDA-accelerated mesh utilities
|
|
72
73
|
|
|
73
74
|
o_voxel:
|
|
74
|
-
method:
|
|
75
|
-
index_url: "https://pozzettiandrea.github.io/
|
|
75
|
+
method: index
|
|
76
|
+
index_url: "https://pozzettiandrea.github.io/cuda-wheels"
|
|
76
77
|
description: O-Voxel CUDA extension for TRELLIS
|
|
77
78
|
|
|
78
79
|
flex_gemm:
|
|
79
|
-
method:
|
|
80
|
-
index_url: "https://pozzettiandrea.github.io/
|
|
80
|
+
method: index
|
|
81
|
+
index_url: "https://pozzettiandrea.github.io/cuda-wheels"
|
|
81
82
|
description: Flexible GEMM operations
|
|
82
83
|
|
|
83
84
|
nvdiffrec_render:
|
|
84
|
-
method:
|
|
85
|
+
method: index
|
|
86
|
+
index_url: "https://pozzettiandrea.github.io/cuda-wheels"
|
|
85
87
|
description: NVDiffRec rendering utilities
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
|
|
89
|
+
gsplat:
|
|
90
|
+
method: index
|
|
91
|
+
index_url: "https://pozzettiandrea.github.io/cuda-wheels"
|
|
92
|
+
description: Gaussian splatting rasterization
|
|
93
|
+
|
|
94
|
+
cc_torch:
|
|
95
|
+
method: index
|
|
96
|
+
index_url: "https://pozzettiandrea.github.io/cuda-wheels"
|
|
97
|
+
description: GPU-accelerated connected components
|
|
98
|
+
|
|
99
|
+
torch_generic_nms:
|
|
100
|
+
method: index
|
|
101
|
+
index_url: "https://pozzettiandrea.github.io/cuda-wheels"
|
|
102
|
+
description: GPU-accelerated Non-Maximum Suppression
|
|
93
103
|
|
|
94
104
|
# ===========================================================================
|
|
95
105
|
# spconv - PyPI with CUDA-versioned package names
|
|
@@ -103,15 +113,9 @@ packages:
|
|
|
103
113
|
# sageattention - Fast quantized attention
|
|
104
114
|
# ===========================================================================
|
|
105
115
|
sageattention:
|
|
106
|
-
method:
|
|
116
|
+
method: index
|
|
117
|
+
index_url: "https://pozzettiandrea.github.io/cuda-wheels"
|
|
107
118
|
description: SageAttention - 2-5x faster than FlashAttention with quantized kernels
|
|
108
|
-
sources:
|
|
109
|
-
- name: kijai-hf
|
|
110
|
-
url_template: "https://huggingface.co/Kijai/PrecompiledWheels/resolve/main/sageattention-{version}-cp312-cp312-linux_x86_64.whl"
|
|
111
|
-
platforms: [linux_x86_64]
|
|
112
|
-
- name: woct0rdho
|
|
113
|
-
url_template: "https://github.com/woct0rdho/SageAttention/releases/download/v2.2.0-windows.post3/sageattention-2.2.0%2Bcu{cuda_short}torch{torch_version}.post3-cp39-abi3-win_amd64.whl"
|
|
114
|
-
platforms: [win_amd64]
|
|
115
119
|
|
|
116
120
|
# ===========================================================================
|
|
117
121
|
# triton - Required for sageattention on Linux
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: comfy-env
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.27
|
|
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
|
|
@@ -2,7 +2,7 @@ comfy_env/__init__.py,sha256=u2uTyoysPQyNMcRp5U4VTMJF11FBW6Goqu0DN-BdUuY,3678
|
|
|
2
2
|
comfy_env/cli.py,sha256=X-GCQMP0mtMcE3ZgkT-VLQ4Gq3UUvcb_Ux_NClEFhgI,15975
|
|
3
3
|
comfy_env/decorator.py,sha256=6JCKwLHaZtOLVDexs_gh_-NtS2ZK0V7nGCPqkyeYEAA,16688
|
|
4
4
|
comfy_env/errors.py,sha256=8hN8NDlo8oBUdapc-eT3ZluigI5VBzfqsSBvQdfWlz4,9943
|
|
5
|
-
comfy_env/install.py,sha256=
|
|
5
|
+
comfy_env/install.py,sha256=VuIPPqcERIi_ZNHfQqduKUt5bKhsnKxymkmEZ2YG0Hk,28008
|
|
6
6
|
comfy_env/nodes.py,sha256=CWUe35jU5SKk4ur-SddZePdqWgxJDlxGhpcJiu5pAK4,4354
|
|
7
7
|
comfy_env/pixi.py,sha256=Oj9Z9bBg8IpsPF3usAx9v4w6OhpNk4LQjUuAP5ohnQY,13324
|
|
8
8
|
comfy_env/registry.py,sha256=uFCtGmWYvwGCqObXgzmArX7o5JsFNsHXxayofk3m6no,2569
|
|
@@ -33,9 +33,9 @@ comfy_env/workers/pool.py,sha256=MtjeOWfvHSCockq8j1gfnxIl-t01GSB79T5N4YB82Lg,695
|
|
|
33
33
|
comfy_env/workers/tensor_utils.py,sha256=TCuOAjJymrSbkgfyvcKtQ_KbVWTqSwP9VH_bCaFLLq8,6409
|
|
34
34
|
comfy_env/workers/torch_mp.py,sha256=4YSNPn7hALrvMVbkO4RkTeFTcc0lhfLMk5QTWjY4PHw,22134
|
|
35
35
|
comfy_env/workers/venv.py,sha256=_ekHfZPqBIPY08DjqiXm6cTBQH4DrbxRWR3AAv3mit8,31589
|
|
36
|
-
comfy_env/wheel_sources.yml,sha256=
|
|
37
|
-
comfy_env-0.0.
|
|
38
|
-
comfy_env-0.0.
|
|
39
|
-
comfy_env-0.0.
|
|
40
|
-
comfy_env-0.0.
|
|
41
|
-
comfy_env-0.0.
|
|
36
|
+
comfy_env/wheel_sources.yml,sha256=O9DJhhZnaTbV9A3Kidq8T4VntxyGAod0epT2dK-43N8,7139
|
|
37
|
+
comfy_env-0.0.27.dist-info/METADATA,sha256=xvvoXEbukww7s5g7dRCYtxOf72QDnPGQvm7xohLiV5E,5400
|
|
38
|
+
comfy_env-0.0.27.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
39
|
+
comfy_env-0.0.27.dist-info/entry_points.txt,sha256=J4fXeqgxU_YenuW_Zxn_pEL7J-3R0--b6MS5t0QmAr0,49
|
|
40
|
+
comfy_env-0.0.27.dist-info/licenses/LICENSE,sha256=E68QZMMpW4P2YKstTZ3QU54HRQO8ecew09XZ4_Vn870,1093
|
|
41
|
+
comfy_env-0.0.27.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|