comfy-env 0.0.74__py3-none-any.whl → 0.0.75__py3-none-any.whl

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/pixi/core.py CHANGED
@@ -31,6 +31,12 @@ PIXI_URLS = {
31
31
  # CUDA wheels index
32
32
  CUDA_WHEELS_INDEX = "https://pozzettiandrea.github.io/cuda-wheels/"
33
33
 
34
+ # Flash attention pre-built wheels (mjun0812)
35
+ FLASH_ATTN_INDEX = "https://github.com/mjun0812/flash-attention-prebuild-wheels/releases/expanded_assets/v0.7.16"
36
+
37
+ # PyTorch Geometric wheels index
38
+ PYG_WHEELS_INDEX = "https://data.pyg.org/whl/"
39
+
34
40
  # CUDA version -> PyTorch version mapping
35
41
  CUDA_TORCH_MAP = {
36
42
  "12.8": "2.8",
@@ -39,6 +45,20 @@ CUDA_TORCH_MAP = {
39
45
  }
40
46
 
41
47
 
48
+ def get_all_find_links(package: str, torch_version: str, cuda_version: str) -> list:
49
+ """Get all find-links URLs for a CUDA package."""
50
+ cuda_short = cuda_version.replace(".", "")[:3]
51
+
52
+ return [
53
+ # cuda-wheels index (package-specific page)
54
+ f"{CUDA_WHEELS_INDEX}{package}/",
55
+ # flash-attn GitHub releases
56
+ FLASH_ATTN_INDEX,
57
+ # PyG index (torch version specific)
58
+ f"{PYG_WHEELS_INDEX}torch-{torch_version}.0+cu{cuda_short}.html",
59
+ ]
60
+
61
+
42
62
  def get_current_platform() -> str:
43
63
  """Get the current platform string for pixi."""
44
64
  if sys.platform == "linux":
@@ -310,7 +330,7 @@ def pixi_install(
310
330
  log(f"pixi install failed:\n{result.stderr}")
311
331
  raise RuntimeError(f"pixi install failed: {result.stderr}")
312
332
 
313
- # Install CUDA packages with --no-index --find-links (bypasses PyPI completely)
333
+ # Install CUDA packages with --find-links (searches all known sources)
314
334
  if cfg.cuda_packages and cuda_version:
315
335
  log(f"Installing CUDA packages: {cfg.cuda_packages}")
316
336
  python_path = get_pixi_python(node_dir)
@@ -318,18 +338,18 @@ def pixi_install(
318
338
  raise RuntimeError("Could not find Python in pixi environment")
319
339
 
320
340
  for package in cfg.cuda_packages:
321
- # Each package has its own find-links page at CUDA_WHEELS_INDEX/<package>/
322
- find_links_url = f"{CUDA_WHEELS_INDEX}{package}/"
323
- log(f" Installing {package} from {find_links_url}")
324
-
325
341
  pip_cmd = [
326
342
  str(python_path), "-m", "pip", "install",
327
- "--no-index",
328
343
  "--no-deps",
329
344
  "--no-cache-dir",
330
- "--find-links", find_links_url,
331
- package,
332
345
  ]
346
+
347
+ # Add all find-links sources
348
+ for url in get_all_find_links(package, torch_version, cuda_version):
349
+ pip_cmd.extend(["--find-links", url])
350
+
351
+ log(f" Installing {package}")
352
+ pip_cmd.append(package)
333
353
  result = subprocess.run(pip_cmd, capture_output=True, text=True)
334
354
  if result.returncode != 0:
335
355
  log(f"CUDA package install failed for {package}:\n{result.stderr}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comfy-env
3
- Version: 0.0.74
3
+ Version: 0.0.75
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
@@ -10,7 +10,7 @@ comfy_env/config/types.py,sha256=Sb8HO34xsSZu5YAc2K4M7Gb3QNevJlngf12hHiwuU0w,214
10
10
  comfy_env/isolation/__init__.py,sha256=vw9a4mpJ2CFjy-PLe_A3zQ6umBQklgqWNxwn9beNw3g,175
11
11
  comfy_env/isolation/wrap.py,sha256=9bXxK9h4FMrFL9k4EAdILWxkjXYytVCJV68MuwwufK8,11485
12
12
  comfy_env/pixi/__init__.py,sha256=BUrq7AQf3WDm0cHWh72B2xZbURNnDu2dCuELWiQCUiM,997
13
- comfy_env/pixi/core.py,sha256=Z6PEALzruOJnUvW0fH2n8BeCsCeaeDDrerY6TnhMPxs,12072
13
+ comfy_env/pixi/core.py,sha256=BAaO-6a4XmnnNXZbfMla7egBNKSqgX9cSXHVQsQP6xI,12752
14
14
  comfy_env/pixi/cuda_detection.py,sha256=sqB3LjvGNdV4eFqiARQGfyecBM3ZiUmeh6nG0YCRYQw,9751
15
15
  comfy_env/pixi/resolver.py,sha256=U_A8rBDxCj4gUlJt2YJQniP4cCKqxJEiVFgXOoH7vM8,6339
16
16
  comfy_env/pixi/platform/__init__.py,sha256=Nb5MPZIEeanSMEWwqU4p4bnEKTJn1tWcwobnhq9x9IY,614
@@ -25,8 +25,8 @@ comfy_env/workers/base.py,sha256=4ZYTaQ4J0kBHCoO_OfZnsowm4rJCoqinZUaOtgkOPbw,230
25
25
  comfy_env/workers/mp.py,sha256=d6PFVrgqp3MK7Gkt08a8LQD_VSwHtoIcGx2Lovou3vM,25972
26
26
  comfy_env/workers/subprocess.py,sha256=UMhKhaJoSjv2-FWnwQq9TeMWtaDLIs3ajAFTq1ngdJw,57844
27
27
  comfy_env/workers/tensor_utils.py,sha256=TCuOAjJymrSbkgfyvcKtQ_KbVWTqSwP9VH_bCaFLLq8,6409
28
- comfy_env-0.0.74.dist-info/METADATA,sha256=rmFALPp_CocGIiAe5vF03FMHrJvFtrSt27UhPGVmmUc,6946
29
- comfy_env-0.0.74.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
30
- comfy_env-0.0.74.dist-info/entry_points.txt,sha256=J4fXeqgxU_YenuW_Zxn_pEL7J-3R0--b6MS5t0QmAr0,49
31
- comfy_env-0.0.74.dist-info/licenses/LICENSE,sha256=E68QZMMpW4P2YKstTZ3QU54HRQO8ecew09XZ4_Vn870,1093
32
- comfy_env-0.0.74.dist-info/RECORD,,
28
+ comfy_env-0.0.75.dist-info/METADATA,sha256=UoNQP1R_ddXCEFsPIpALxZp3wGBKKnj9xmJWU8guiis,6946
29
+ comfy_env-0.0.75.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
30
+ comfy_env-0.0.75.dist-info/entry_points.txt,sha256=J4fXeqgxU_YenuW_Zxn_pEL7J-3R0--b6MS5t0QmAr0,49
31
+ comfy_env-0.0.75.dist-info/licenses/LICENSE,sha256=E68QZMMpW4P2YKstTZ3QU54HRQO8ecew09XZ4_Vn870,1093
32
+ comfy_env-0.0.75.dist-info/RECORD,,