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.
Files changed (49) hide show
  1. {comfy_env-0.0.57 → comfy_env-0.0.59}/PKG-INFO +1 -1
  2. {comfy_env-0.0.57 → comfy_env-0.0.59}/pyproject.toml +1 -1
  3. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/config.py +2 -0
  4. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/config_file.py +8 -0
  5. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/pixi.py +13 -4
  6. {comfy_env-0.0.57 → comfy_env-0.0.59}/.github/workflows/publish.yml +0 -0
  7. {comfy_env-0.0.57 → comfy_env-0.0.59}/.gitignore +0 -0
  8. {comfy_env-0.0.57 → comfy_env-0.0.59}/LICENSE +0 -0
  9. {comfy_env-0.0.57 → comfy_env-0.0.59}/README.md +0 -0
  10. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/__init__.py +0 -0
  11. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/cli.py +0 -0
  12. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/decorator.py +0 -0
  13. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/__init__.py +0 -0
  14. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/cuda_gpu_detection.py +0 -0
  15. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/manager.py +0 -0
  16. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/__init__.py +0 -0
  17. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/base.py +0 -0
  18. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/darwin.py +0 -0
  19. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/linux.py +0 -0
  20. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/platform/windows.py +0 -0
  21. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/env/security.py +0 -0
  22. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/errors.py +0 -0
  23. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/install.py +0 -0
  24. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/__init__.py +0 -0
  25. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/bridge.py +0 -0
  26. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/protocol.py +0 -0
  27. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/tensor.py +0 -0
  28. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/torch_bridge.py +0 -0
  29. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/transport.py +0 -0
  30. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/ipc/worker.py +0 -0
  31. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/isolation.py +0 -0
  32. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/nodes.py +0 -0
  33. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/registry.py +0 -0
  34. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/resolver.py +0 -0
  35. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stub_imports.py +0 -0
  36. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/__init__.py +0 -0
  37. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/comfy/__init__.py +0 -0
  38. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/comfy/model_management.py +0 -0
  39. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/comfy/utils.py +0 -0
  40. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/stubs/folder_paths.py +0 -0
  41. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/templates/comfy-env-instructions.txt +0 -0
  42. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/templates/comfy-env.toml +0 -0
  43. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/wheel_sources.yml +0 -0
  44. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/__init__.py +0 -0
  45. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/base.py +0 -0
  46. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/pool.py +0 -0
  47. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/tensor_utils.py +0 -0
  48. {comfy_env-0.0.57 → comfy_env-0.0.59}/src/comfy_env/workers/torch_mp.py +0 -0
  49. {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.57
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "comfy-env"
3
- version = "0.0.57"
3
+ version = "0.0.59"
4
4
  description = "Environment management for ComfyUI custom nodes - CUDA wheel resolution and process isolation"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}
@@ -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
- if platform.machine() == "arm64":
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