comfy-env 0.1.1__tar.gz → 0.1.2__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 (34) hide show
  1. {comfy_env-0.1.1 → comfy_env-0.1.2}/PKG-INFO +1 -1
  2. {comfy_env-0.1.1 → comfy_env-0.1.2}/pyproject.toml +1 -1
  3. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/workers/mp.py +31 -8
  4. {comfy_env-0.1.1 → comfy_env-0.1.2}/.github/workflows/ci.yml +0 -0
  5. {comfy_env-0.1.1 → comfy_env-0.1.2}/.github/workflows/publish.yml +0 -0
  6. {comfy_env-0.1.1 → comfy_env-0.1.2}/.gitignore +0 -0
  7. {comfy_env-0.1.1 → comfy_env-0.1.2}/LICENSE +0 -0
  8. {comfy_env-0.1.1 → comfy_env-0.1.2}/README.md +0 -0
  9. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/__init__.py +0 -0
  10. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/cli.py +0 -0
  11. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/config/__init__.py +0 -0
  12. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/config/parser.py +0 -0
  13. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/config/types.py +0 -0
  14. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/errors.py +0 -0
  15. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/install.py +0 -0
  16. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/isolation/__init__.py +0 -0
  17. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/isolation/wrap.py +0 -0
  18. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/nodes.py +0 -0
  19. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/pixi/__init__.py +0 -0
  20. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/pixi/core.py +0 -0
  21. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/pixi/cuda_detection.py +0 -0
  22. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/pixi/platform/__init__.py +0 -0
  23. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/pixi/platform/base.py +0 -0
  24. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/pixi/platform/darwin.py +0 -0
  25. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/pixi/platform/linux.py +0 -0
  26. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/pixi/platform/windows.py +0 -0
  27. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/pixi/resolver.py +0 -0
  28. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/prestartup.py +0 -0
  29. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/templates/comfy-env-instructions.txt +0 -0
  30. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/templates/comfy-env.toml +0 -0
  31. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/workers/__init__.py +0 -0
  32. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/workers/base.py +0 -0
  33. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/workers/subprocess.py +0 -0
  34. {comfy_env-0.1.1 → comfy_env-0.1.2}/src/comfy_env/workers/tensor_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comfy-env
3
- Version: 0.1.1
3
+ Version: 0.1.2
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.1.1"
3
+ version = "0.1.2"
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"}
@@ -64,14 +64,37 @@ def _worker_loop(queue_in, queue_out, sys_path_additions=None, lib_path=None):
64
64
  # Set worker mode env var
65
65
  os.environ["COMFYUI_ISOLATION_WORKER"] = "1"
66
66
 
67
- # Set LD_LIBRARY_PATH for conda libraries (must be done before imports)
68
- if lib_path:
69
- if sys.platform == "win32":
70
- # Windows: add to PATH for DLL loading
71
- os.environ["PATH"] = lib_path + ";" + os.environ.get("PATH", "")
72
- else:
73
- # Linux/Mac: LD_LIBRARY_PATH
74
- os.environ["LD_LIBRARY_PATH"] = lib_path + ":" + os.environ.get("LD_LIBRARY_PATH", "")
67
+ # DLL/library isolation - match SubprocessWorker's isolation level
68
+ # Filter out conflicting paths from conda/mamba/etc and use proper DLL registration
69
+ path_sep = ";" if sys.platform == "win32" else ":"
70
+
71
+ if sys.platform == "win32":
72
+ # Use os.add_dll_directory() for explicit DLL registration (Python 3.8+)
73
+ if lib_path and hasattr(os, "add_dll_directory"):
74
+ try:
75
+ os.add_dll_directory(lib_path)
76
+ except Exception:
77
+ pass
78
+
79
+ # Filter conflicting paths from PATH (matches subprocess.py:1203-1212)
80
+ current_path = os.environ.get("PATH", "")
81
+ clean_parts = [
82
+ p for p in current_path.split(path_sep)
83
+ if not any(x in p.lower() for x in (".ct-envs", "conda", "mamba", "miniforge", "miniconda", "anaconda", "mingw"))
84
+ ]
85
+ if lib_path:
86
+ clean_parts.insert(0, lib_path)
87
+ os.environ["PATH"] = path_sep.join(clean_parts)
88
+ else:
89
+ # Linux/Mac: Filter LD_LIBRARY_PATH with same patterns
90
+ current = os.environ.get("LD_LIBRARY_PATH", "")
91
+ clean_parts = [
92
+ p for p in current.split(path_sep) if p
93
+ and not any(x in p.lower() for x in (".ct-envs", "conda", "mamba", "miniforge", "miniconda", "anaconda"))
94
+ ]
95
+ if lib_path:
96
+ clean_parts.insert(0, lib_path)
97
+ os.environ["LD_LIBRARY_PATH"] = path_sep.join(clean_parts)
75
98
 
76
99
  # Find ComfyUI base and add to sys.path for real folder_paths/comfy modules
77
100
  # This works because comfy.options.args_parsing=False by default, so folder_paths
File without changes
File without changes
File without changes