comfy-env 0.0.15__tar.gz → 0.0.17__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 (50) hide show
  1. {comfy_env-0.0.15 → comfy_env-0.0.17}/PKG-INFO +1 -1
  2. {comfy_env-0.0.15 → comfy_env-0.0.17}/pyproject.toml +1 -1
  3. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/install.py +15 -4
  4. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/wheel_sources.yml +12 -0
  5. {comfy_env-0.0.15 → comfy_env-0.0.17}/.github/workflows/publish.yml +0 -0
  6. {comfy_env-0.0.15 → comfy_env-0.0.17}/.gitignore +0 -0
  7. {comfy_env-0.0.15 → comfy_env-0.0.17}/CLAUDE.md +0 -0
  8. {comfy_env-0.0.15 → comfy_env-0.0.17}/CRITICISM.md +0 -0
  9. {comfy_env-0.0.15 → comfy_env-0.0.17}/LICENSE +0 -0
  10. {comfy_env-0.0.15 → comfy_env-0.0.17}/README.md +0 -0
  11. {comfy_env-0.0.15 → comfy_env-0.0.17}/examples/basic_node/__init__.py +0 -0
  12. {comfy_env-0.0.15 → comfy_env-0.0.17}/examples/basic_node/comfy-env.toml +0 -0
  13. {comfy_env-0.0.15 → comfy_env-0.0.17}/examples/basic_node/nodes.py +0 -0
  14. {comfy_env-0.0.15 → comfy_env-0.0.17}/examples/basic_node/worker.py +0 -0
  15. {comfy_env-0.0.15 → comfy_env-0.0.17}/examples/decorator_node/__init__.py +0 -0
  16. {comfy_env-0.0.15 → comfy_env-0.0.17}/examples/decorator_node/nodes.py +0 -0
  17. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/__init__.py +0 -0
  18. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/cli.py +0 -0
  19. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/decorator.py +0 -0
  20. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/__init__.py +0 -0
  21. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/config.py +0 -0
  22. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/config_file.py +0 -0
  23. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/cuda_gpu_detection.py +0 -0
  24. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/manager.py +0 -0
  25. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/platform/__init__.py +0 -0
  26. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/platform/base.py +0 -0
  27. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/platform/darwin.py +0 -0
  28. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/platform/linux.py +0 -0
  29. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/platform/windows.py +0 -0
  30. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/env/security.py +0 -0
  31. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/errors.py +0 -0
  32. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/ipc/__init__.py +0 -0
  33. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/ipc/bridge.py +0 -0
  34. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/ipc/protocol.py +0 -0
  35. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/ipc/tensor.py +0 -0
  36. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/ipc/torch_bridge.py +0 -0
  37. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/ipc/transport.py +0 -0
  38. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/ipc/worker.py +0 -0
  39. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/registry.py +0 -0
  40. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/resolver.py +0 -0
  41. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/stubs/__init__.py +0 -0
  42. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/stubs/folder_paths.py +0 -0
  43. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/tools.py +0 -0
  44. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/workers/__init__.py +0 -0
  45. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/workers/base.py +0 -0
  46. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/workers/pool.py +0 -0
  47. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/workers/tensor_utils.py +0 -0
  48. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/workers/torch_mp.py +0 -0
  49. {comfy_env-0.0.15 → comfy_env-0.0.17}/src/comfy_env/workers/venv.py +0 -0
  50. {comfy_env-0.0.15 → comfy_env-0.0.17}/untitled.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comfy-env
3
- Version: 0.0.15
3
+ Version: 0.0.17
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.15"
3
+ version = "0.0.17"
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"}
@@ -87,13 +87,15 @@ def install(
87
87
  )
88
88
 
89
89
  # Install tools first (e.g., Blender)
90
+ # Tools are installed to ComfyUI root (shared across all nodes)
90
91
  if full_config.tools:
91
92
  log(f"Installing {len(full_config.tools)} tool(s)...")
93
+ comfyui_root = node_dir.parent.parent # custom_nodes/../.. = ComfyUI/
92
94
  for name, tool_config in full_config.tools.items():
93
95
  if dry_run:
94
96
  log(f" Would install {name} {tool_config.version}")
95
97
  else:
96
- install_tool(tool_config, log, node_dir)
98
+ install_tool(tool_config, log, comfyui_root)
97
99
 
98
100
  # Get environment config
99
101
  env_config = full_config.default_env
@@ -236,7 +238,11 @@ def _get_install_info(
236
238
  index_url = _substitute_template(config.get("index_url", ""), env)
237
239
 
238
240
  if method == "index":
239
- return {"method": method, "description": f"from index {index_url}"}
241
+ version_info = ""
242
+ if "version_template" in config:
243
+ resolved_version = _substitute_template(config["version_template"], env)
244
+ version_info = f" (version {resolved_version})"
245
+ return {"method": method, "description": f"from index {index_url}{version_info}"}
240
246
  elif method == "github_index":
241
247
  return {"method": method, "description": f"from {index_url}"}
242
248
  elif method == "find_links":
@@ -275,8 +281,13 @@ def _install_cuda_package(
275
281
  if method == "index":
276
282
  # PEP 503 index - use pip --extra-index-url
277
283
  index_url = _substitute_template(config["index_url"], env)
278
- pkg_spec = f"{package}=={version}" if version else package
279
- log(f" Installing {package} from PyG index...")
284
+ # Check for version_template (e.g., detectron2 with embedded torch/cuda version)
285
+ if "version_template" in config:
286
+ resolved_version = _substitute_template(config["version_template"], env)
287
+ pkg_spec = f"{package}=={resolved_version}"
288
+ else:
289
+ pkg_spec = f"{package}=={version}" if version else package
290
+ log(f" Installing {package} from index...")
280
291
  _pip_install_with_index(pkg_spec, index_url, log)
281
292
 
282
293
  elif method == "github_index":
@@ -120,6 +120,18 @@ packages:
120
120
  method: pypi
121
121
  description: Triton compiler for custom CUDA kernels
122
122
 
123
+ # ===========================================================================
124
+ # detectron2 - Facebook's detection library
125
+ # https://github.com/facebookresearch/detectron2
126
+ # Prebuilt wheels from miropsota's torch_packages_builder
127
+ # Version format: 0.6+<commit>pt<torch_version>cu<cuda_short>
128
+ # ===========================================================================
129
+ detectron2:
130
+ method: index
131
+ index_url: "https://miropsota.github.io/torch_packages_builder"
132
+ version_template: "0.6+2a420edpt{torch_version}cu{cuda_short}"
133
+ description: Detectron2 - Facebook's detection and segmentation library
134
+
123
135
  # ===========================================================================
124
136
  # flash-attn - Multi-source prebuilt wheels
125
137
  # ===========================================================================
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes