comfy-env 0.0.10__tar.gz → 0.0.11__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 (48) hide show
  1. {comfy_env-0.0.10 → comfy_env-0.0.11}/PKG-INFO +1 -1
  2. {comfy_env-0.0.10 → comfy_env-0.0.11}/pyproject.toml +1 -1
  3. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/__init__.py +1 -1
  4. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/detection.py +25 -2
  5. {comfy_env-0.0.10 → comfy_env-0.0.11}/.github/workflows/publish.yml +0 -0
  6. {comfy_env-0.0.10 → comfy_env-0.0.11}/.gitignore +0 -0
  7. {comfy_env-0.0.10 → comfy_env-0.0.11}/CLAUDE.md +0 -0
  8. {comfy_env-0.0.10 → comfy_env-0.0.11}/CRITICISM.md +0 -0
  9. {comfy_env-0.0.10 → comfy_env-0.0.11}/LICENSE +0 -0
  10. {comfy_env-0.0.10 → comfy_env-0.0.11}/README.md +0 -0
  11. {comfy_env-0.0.10 → comfy_env-0.0.11}/examples/basic_node/__init__.py +0 -0
  12. {comfy_env-0.0.10 → comfy_env-0.0.11}/examples/basic_node/comfy-env.toml +0 -0
  13. {comfy_env-0.0.10 → comfy_env-0.0.11}/examples/basic_node/nodes.py +0 -0
  14. {comfy_env-0.0.10 → comfy_env-0.0.11}/examples/basic_node/worker.py +0 -0
  15. {comfy_env-0.0.10 → comfy_env-0.0.11}/examples/decorator_node/__init__.py +0 -0
  16. {comfy_env-0.0.10 → comfy_env-0.0.11}/examples/decorator_node/nodes.py +0 -0
  17. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/cli.py +0 -0
  18. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/decorator.py +0 -0
  19. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/__init__.py +0 -0
  20. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/config.py +0 -0
  21. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/config_file.py +0 -0
  22. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/manager.py +0 -0
  23. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/platform/__init__.py +0 -0
  24. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/platform/base.py +0 -0
  25. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/platform/darwin.py +0 -0
  26. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/platform/linux.py +0 -0
  27. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/platform/windows.py +0 -0
  28. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/env/security.py +0 -0
  29. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/errors.py +0 -0
  30. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/install.py +0 -0
  31. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/ipc/__init__.py +0 -0
  32. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/ipc/bridge.py +0 -0
  33. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/ipc/protocol.py +0 -0
  34. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/ipc/tensor.py +0 -0
  35. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/ipc/torch_bridge.py +0 -0
  36. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/ipc/transport.py +0 -0
  37. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/ipc/worker.py +0 -0
  38. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/registry.py +0 -0
  39. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/resolver.py +0 -0
  40. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/runner.py +0 -0
  41. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/stubs/__init__.py +0 -0
  42. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/stubs/folder_paths.py +0 -0
  43. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/workers/__init__.py +0 -0
  44. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/workers/base.py +0 -0
  45. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/workers/pool.py +0 -0
  46. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/workers/tensor_utils.py +0 -0
  47. {comfy_env-0.0.10 → comfy_env-0.0.11}/src/comfy_env/workers/torch_mp.py +0 -0
  48. {comfy_env-0.0.10 → comfy_env-0.0.11}/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.10
3
+ Version: 0.0.11
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.10"
3
+ version = "0.0.11"
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"}
@@ -40,7 +40,7 @@ This package provides:
40
40
  The @isolated decorator and WorkerBridge are still available.
41
41
  """
42
42
 
43
- __version__ = "0.0.8"
43
+ __version__ = "0.0.11"
44
44
 
45
45
  from .env.config import IsolatedEnv, EnvManagerConfig, LocalConfig, NodeReq
46
46
  from .env.config_file import (
@@ -7,10 +7,16 @@ vs older GPUs which use CUDA 12.4.
7
7
  This runs BEFORE PyTorch is installed, so we use nvidia-smi directly.
8
8
  """
9
9
 
10
+ import os
10
11
  import subprocess
11
12
  from typing import List, Dict, Optional
12
13
 
13
14
 
15
+ # Environment variable to override CUDA version detection
16
+ # Useful for CI environments without GPU
17
+ CUDA_VERSION_ENV_VAR = "COMFY_ENV_CUDA_VERSION"
18
+
19
+
14
20
  def detect_gpu_info() -> List[Dict[str, str]]:
15
21
  """
16
22
  Detect GPU name and compute capability using nvidia-smi.
@@ -126,7 +132,12 @@ def detect_cuda_version() -> Optional[str]:
126
132
  Returns:
127
133
  "12.4" for Pascal or older (compute < 7.5),
128
134
  "12.8" for Turing or newer (compute >= 7.5),
129
- None if no GPU detected.
135
+ None if no GPU detected and no env var override.
136
+
137
+ Environment Variable Override:
138
+ Set COMFY_ENV_CUDA_VERSION to override auto-detection.
139
+ Useful for CI environments without GPU.
140
+ Example: COMFY_ENV_CUDA_VERSION=12.8
130
141
 
131
142
  GPU Architecture Reference:
132
143
  - Pascal (GTX 10xx, P100): compute 6.0-6.1 → CUDA 12.4
@@ -138,6 +149,15 @@ def detect_cuda_version() -> Optional[str]:
138
149
  """
139
150
  gpus = detect_gpu_info()
140
151
  if not gpus:
152
+ # No GPU detected - check for env var override
153
+ override = os.environ.get(CUDA_VERSION_ENV_VAR)
154
+ if override:
155
+ # Normalize format (e.g., "12.8" or "128" -> "12.8")
156
+ override = override.strip()
157
+ if override and '.' not in override and len(override) >= 2:
158
+ # Convert "128" -> "12.8"
159
+ override = f"{override[:-1]}.{override[-1]}"
160
+ return override
141
161
  return None
142
162
 
143
163
  # Check if any GPU is legacy (Pascal or older)
@@ -159,7 +179,10 @@ def get_gpu_summary() -> str:
159
179
  gpus = detect_gpu_info()
160
180
 
161
181
  if not gpus:
162
- return "No NVIDIA GPU detected"
182
+ override = os.environ.get(CUDA_VERSION_ENV_VAR)
183
+ if override:
184
+ return f"No NVIDIA GPU detected (using {CUDA_VERSION_ENV_VAR}={override})"
185
+ return f"No NVIDIA GPU detected (set {CUDA_VERSION_ENV_VAR} to override)"
163
186
 
164
187
  lines = []
165
188
  for i, gpu in enumerate(gpus):
File without changes
File without changes
File without changes
File without changes
File without changes