comfy-env 0.0.57__tar.gz → 0.0.59__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.57 → comfy_env-0.0.59}/PKG-INFO +1 -1
- {comfy_env-0.0.57 → comfy_env-0.0.59}/pyproject.toml +1 -1
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/config.py +2 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/config_file.py +8 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/pixi.py +13 -4
- {comfy_env-0.0.57 → comfy_env-0.0.59}/.github/workflows/publish.yml +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/.gitignore +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/LICENSE +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/README.md +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/__init__.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/cli.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/decorator.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/__init__.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/cuda_gpu_detection.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/manager.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/__init__.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/base.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/darwin.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/linux.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/windows.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/security.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/errors.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/install.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/__init__.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/bridge.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/protocol.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/tensor.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/torch_bridge.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/transport.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/worker.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/isolation.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/nodes.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/registry.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/resolver.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stub_imports.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/__init__.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/comfy/__init__.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/comfy/model_management.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/comfy/utils.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/folder_paths.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/templates/comfy-env-instructions.txt +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/templates/comfy-env.toml +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/wheel_sources.yml +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/__init__.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/base.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/pool.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/tensor_utils.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/torch_mp.py +0 -0
- {comfy_env-0.0.57 → comfy_env-0.0.59}/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.59
|
|
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
|
|
@@ -156,6 +156,8 @@ class IsolatedEnv:
|
|
|
156
156
|
conda: Optional["CondaConfig"] = None
|
|
157
157
|
# Runtime isolation - run node FUNCTION methods in isolated subprocess
|
|
158
158
|
isolated: bool = False
|
|
159
|
+
# Environment variables for install (e.g., CMAKE_ARGS for build flags)
|
|
160
|
+
env_vars: Dict[str, str] = field(default_factory=dict)
|
|
159
161
|
|
|
160
162
|
def __post_init__(self):
|
|
161
163
|
"""Validate and normalize configuration."""
|
|
@@ -575,6 +575,13 @@ def _parse_single_env(name: str, env_data: Dict[str, Any], base_dir: Path) -> Is
|
|
|
575
575
|
# Parse isolated flag for runtime process isolation
|
|
576
576
|
isolated = env_data.get("isolated", False)
|
|
577
577
|
|
|
578
|
+
# Parse environment variables section [envname.env]
|
|
579
|
+
env_vars = {}
|
|
580
|
+
env_section = env_data.get("env", {})
|
|
581
|
+
if isinstance(env_section, dict):
|
|
582
|
+
# Filter to only string/numeric values (avoid nested tables like cuda/packages)
|
|
583
|
+
env_vars = {k: str(v) for k, v in env_section.items() if isinstance(v, (str, int, float))}
|
|
584
|
+
|
|
578
585
|
return IsolatedEnv(
|
|
579
586
|
name=name,
|
|
580
587
|
python=python,
|
|
@@ -587,6 +594,7 @@ def _parse_single_env(name: str, env_data: Dict[str, Any], base_dir: Path) -> Is
|
|
|
587
594
|
darwin_requirements=darwin_reqs,
|
|
588
595
|
conda=conda_config,
|
|
589
596
|
isolated=isolated,
|
|
597
|
+
env_vars=env_vars,
|
|
590
598
|
)
|
|
591
599
|
|
|
592
600
|
|
|
@@ -320,13 +320,13 @@ def create_pixi_toml(
|
|
|
320
320
|
lines.append(f"channels = [{channels_str}]")
|
|
321
321
|
|
|
322
322
|
# 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).
|
|
323
326
|
if sys.platform == "linux":
|
|
324
327
|
lines.append('platforms = ["linux-64"]')
|
|
325
328
|
elif sys.platform == "darwin":
|
|
326
|
-
|
|
327
|
-
lines.append('platforms = ["osx-arm64"]')
|
|
328
|
-
else:
|
|
329
|
-
lines.append('platforms = ["osx-64"]')
|
|
329
|
+
lines.append('platforms = ["osx-64"]')
|
|
330
330
|
elif sys.platform == "win32":
|
|
331
331
|
lines.append('platforms = ["win-64"]')
|
|
332
332
|
|
|
@@ -342,6 +342,7 @@ def create_pixi_toml(
|
|
|
342
342
|
# Dependencies section (conda packages)
|
|
343
343
|
lines.append("[dependencies]")
|
|
344
344
|
lines.append(f'python = "{env_config.python}.*"')
|
|
345
|
+
lines.append('pip = "*"') # Required for installing CUDA packages with --no-deps
|
|
345
346
|
|
|
346
347
|
# On Windows, use MKL BLAS to avoid OpenBLAS crashes (numpy blas_fpe_check issue)
|
|
347
348
|
if sys.platform == "win32":
|
|
@@ -574,11 +575,19 @@ def pixi_install(
|
|
|
574
575
|
|
|
575
576
|
# Run pixi install
|
|
576
577
|
log("Running pixi install...")
|
|
578
|
+
|
|
579
|
+
# Build environment with custom vars from config
|
|
580
|
+
install_env = os.environ.copy()
|
|
581
|
+
if env_config.env_vars:
|
|
582
|
+
install_env.update(env_config.env_vars)
|
|
583
|
+
log(f" Using custom env vars: {list(env_config.env_vars.keys())}")
|
|
584
|
+
|
|
577
585
|
result = subprocess.run(
|
|
578
586
|
[str(pixi_path), "install"],
|
|
579
587
|
cwd=node_dir,
|
|
580
588
|
capture_output=True,
|
|
581
589
|
text=True,
|
|
590
|
+
env=install_env,
|
|
582
591
|
)
|
|
583
592
|
|
|
584
593
|
if result.returncode != 0:
|
|
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
|