comfy-env 0.0.66__py3-none-any.whl → 0.0.67__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/__init__.py +0 -2
- comfy_env/cli.py +1 -202
- comfy_env/pixi/__init__.py +3 -3
- comfy_env/pixi/core.py +1 -1
- {comfy_env-0.0.66.dist-info → comfy_env-0.0.67.dist-info}/METADATA +22 -92
- {comfy_env-0.0.66.dist-info → comfy_env-0.0.67.dist-info}/RECORD +9 -11
- comfy_env/pixi/registry.py +0 -130
- comfy_env/pixi/wheel_sources.yml +0 -141
- {comfy_env-0.0.66.dist-info → comfy_env-0.0.67.dist-info}/WHEEL +0 -0
- {comfy_env-0.0.66.dist-info → comfy_env-0.0.67.dist-info}/entry_points.txt +0 -0
- {comfy_env-0.0.66.dist-info → comfy_env-0.0.67.dist-info}/licenses/LICENSE +0 -0
comfy_env/__init__.py
CHANGED
|
@@ -32,7 +32,6 @@ from .pixi import (
|
|
|
32
32
|
pixi_run,
|
|
33
33
|
pixi_install,
|
|
34
34
|
CUDA_WHEELS_INDEX,
|
|
35
|
-
PACKAGE_REGISTRY,
|
|
36
35
|
detect_cuda_version,
|
|
37
36
|
detect_cuda_environment,
|
|
38
37
|
get_recommended_cuda_version,
|
|
@@ -88,7 +87,6 @@ __all__ = [
|
|
|
88
87
|
"pixi_run",
|
|
89
88
|
"pixi_install",
|
|
90
89
|
"CUDA_WHEELS_INDEX",
|
|
91
|
-
"PACKAGE_REGISTRY",
|
|
92
90
|
# CUDA detection
|
|
93
91
|
"detect_cuda_version",
|
|
94
92
|
"detect_cuda_environment",
|
comfy_env/cli.py
CHANGED
|
@@ -6,9 +6,7 @@ Provides the `comfy-env` command with subcommands:
|
|
|
6
6
|
- generate: Generate pixi.toml from comfy-env.toml
|
|
7
7
|
- install: Install dependencies from config
|
|
8
8
|
- info: Show runtime environment information
|
|
9
|
-
- resolve: Show resolved wheel URLs
|
|
10
9
|
- doctor: Verify installation
|
|
11
|
-
- list-packages: Show all packages in the built-in registry
|
|
12
10
|
|
|
13
11
|
Usage:
|
|
14
12
|
comfy-env init ---> creates template comfy-env.toml
|
|
@@ -18,12 +16,7 @@ Usage:
|
|
|
18
16
|
|
|
19
17
|
comfy-env info
|
|
20
18
|
|
|
21
|
-
comfy-env resolve nvdiffrast==0.4.0
|
|
22
|
-
comfy-env resolve --all
|
|
23
|
-
|
|
24
19
|
comfy-env doctor
|
|
25
|
-
|
|
26
|
-
comfy-env list-packages
|
|
27
20
|
"""
|
|
28
21
|
|
|
29
22
|
import argparse
|
|
@@ -109,28 +102,6 @@ def main(args: Optional[List[str]] = None) -> int:
|
|
|
109
102
|
help="Output as JSON",
|
|
110
103
|
)
|
|
111
104
|
|
|
112
|
-
# resolve command
|
|
113
|
-
resolve_parser = subparsers.add_parser(
|
|
114
|
-
"resolve",
|
|
115
|
-
help="Resolve wheel URLs for packages",
|
|
116
|
-
description="Show resolved wheel URLs without installing",
|
|
117
|
-
)
|
|
118
|
-
resolve_parser.add_argument(
|
|
119
|
-
"packages",
|
|
120
|
-
nargs="*",
|
|
121
|
-
help="Package specs (e.g., nvdiffrast==0.4.0)",
|
|
122
|
-
)
|
|
123
|
-
resolve_parser.add_argument(
|
|
124
|
-
"--all", "-a",
|
|
125
|
-
action="store_true",
|
|
126
|
-
help="Resolve all packages from config",
|
|
127
|
-
)
|
|
128
|
-
resolve_parser.add_argument(
|
|
129
|
-
"--config", "-c",
|
|
130
|
-
type=str,
|
|
131
|
-
help="Path to config file",
|
|
132
|
-
)
|
|
133
|
-
|
|
134
105
|
# doctor command
|
|
135
106
|
doctor_parser = subparsers.add_parser(
|
|
136
107
|
"doctor",
|
|
@@ -148,18 +119,6 @@ def main(args: Optional[List[str]] = None) -> int:
|
|
|
148
119
|
help="Path to config file",
|
|
149
120
|
)
|
|
150
121
|
|
|
151
|
-
# list-packages command
|
|
152
|
-
list_parser = subparsers.add_parser(
|
|
153
|
-
"list-packages",
|
|
154
|
-
help="Show all packages in the built-in registry",
|
|
155
|
-
description="List CUDA packages that comfy-env knows how to install",
|
|
156
|
-
)
|
|
157
|
-
list_parser.add_argument(
|
|
158
|
-
"--json",
|
|
159
|
-
action="store_true",
|
|
160
|
-
help="Output as JSON",
|
|
161
|
-
)
|
|
162
|
-
|
|
163
122
|
parsed = parser.parse_args(args)
|
|
164
123
|
|
|
165
124
|
if parsed.command is None:
|
|
@@ -175,12 +134,8 @@ def main(args: Optional[List[str]] = None) -> int:
|
|
|
175
134
|
return cmd_install(parsed)
|
|
176
135
|
elif parsed.command == "info":
|
|
177
136
|
return cmd_info(parsed)
|
|
178
|
-
elif parsed.command == "resolve":
|
|
179
|
-
return cmd_resolve(parsed)
|
|
180
137
|
elif parsed.command == "doctor":
|
|
181
138
|
return cmd_doctor(parsed)
|
|
182
|
-
elif parsed.command == "list-packages":
|
|
183
|
-
return cmd_list_packages(parsed)
|
|
184
139
|
else:
|
|
185
140
|
parser.print_help()
|
|
186
141
|
return 1
|
|
@@ -206,7 +161,7 @@ cuda_version = "auto"
|
|
|
206
161
|
pytorch_version = "auto"
|
|
207
162
|
|
|
208
163
|
[environment.cuda]
|
|
209
|
-
# CUDA packages from
|
|
164
|
+
# CUDA packages from https://pozzettiandrea.github.io/cuda-wheels/
|
|
210
165
|
# Example: nvdiffrast = "0.4.0"
|
|
211
166
|
|
|
212
167
|
[environment.packages]
|
|
@@ -332,95 +287,6 @@ def cmd_info(args) -> int:
|
|
|
332
287
|
return 0
|
|
333
288
|
|
|
334
289
|
|
|
335
|
-
def cmd_resolve(args) -> int:
|
|
336
|
-
"""Handle resolve command."""
|
|
337
|
-
from .pixi import RuntimeEnv, parse_wheel_requirement
|
|
338
|
-
from .pixi import PACKAGE_REGISTRY
|
|
339
|
-
from .pixi.registry import get_cuda_short2
|
|
340
|
-
from .config.parser import discover_env_config, load_env_from_file
|
|
341
|
-
|
|
342
|
-
env = RuntimeEnv.detect()
|
|
343
|
-
packages = []
|
|
344
|
-
|
|
345
|
-
# Get packages from args or config
|
|
346
|
-
if args.all or (not args.packages and args.config):
|
|
347
|
-
if args.config:
|
|
348
|
-
config = load_env_from_file(Path(args.config))
|
|
349
|
-
else:
|
|
350
|
-
config = discover_env_config(Path.cwd())
|
|
351
|
-
|
|
352
|
-
if config and config.no_deps_requirements:
|
|
353
|
-
packages = config.no_deps_requirements
|
|
354
|
-
else:
|
|
355
|
-
print("No CUDA packages found in config", file=sys.stderr)
|
|
356
|
-
return 1
|
|
357
|
-
elif args.packages:
|
|
358
|
-
packages = args.packages
|
|
359
|
-
else:
|
|
360
|
-
print("Specify packages or use --all with a config file", file=sys.stderr)
|
|
361
|
-
return 1
|
|
362
|
-
|
|
363
|
-
print(f"Resolving wheels for: {env}")
|
|
364
|
-
print("=" * 60)
|
|
365
|
-
|
|
366
|
-
# Build template variables
|
|
367
|
-
vars_dict = env.as_dict()
|
|
368
|
-
if env.cuda_version:
|
|
369
|
-
vars_dict["cuda_short2"] = get_cuda_short2(env.cuda_version)
|
|
370
|
-
|
|
371
|
-
all_ok = True
|
|
372
|
-
for pkg_spec in packages:
|
|
373
|
-
package, version = parse_wheel_requirement(pkg_spec)
|
|
374
|
-
pkg_lower = package.lower()
|
|
375
|
-
|
|
376
|
-
try:
|
|
377
|
-
if pkg_lower in PACKAGE_REGISTRY:
|
|
378
|
-
config = PACKAGE_REGISTRY[pkg_lower]
|
|
379
|
-
|
|
380
|
-
if "wheel_template" in config:
|
|
381
|
-
# Direct wheel URL template
|
|
382
|
-
effective_version = version or config.get("default_version")
|
|
383
|
-
if not effective_version:
|
|
384
|
-
print(f" {package}: No version specified (no default in registry)")
|
|
385
|
-
all_ok = False
|
|
386
|
-
continue
|
|
387
|
-
|
|
388
|
-
vars_dict["version"] = effective_version
|
|
389
|
-
url = _substitute_template(config["wheel_template"], vars_dict)
|
|
390
|
-
print(f" {package}=={effective_version}: resolved")
|
|
391
|
-
print(f" {url}")
|
|
392
|
-
|
|
393
|
-
elif "package_name" in config:
|
|
394
|
-
# PyPI variant (e.g., spconv-cu124)
|
|
395
|
-
pkg_name = _substitute_template(config["package_name"], vars_dict)
|
|
396
|
-
pkg_spec = f"{pkg_name}=={version}" if version else pkg_name
|
|
397
|
-
print(f" {package}: installs as {pkg_spec} from PyPI")
|
|
398
|
-
|
|
399
|
-
else:
|
|
400
|
-
print(f" {package}: no wheel_template or package_name in registry")
|
|
401
|
-
all_ok = False
|
|
402
|
-
else:
|
|
403
|
-
print(f" {package}: NOT in registry")
|
|
404
|
-
print(f" Add to [wheel_sources] in comfy-env.toml:")
|
|
405
|
-
print(f' {package} = "https://example.com/{package}-{{version}}+cu{{cuda_short}}-{{py_tag}}-{{platform}}.whl"')
|
|
406
|
-
all_ok = False
|
|
407
|
-
|
|
408
|
-
except Exception as e:
|
|
409
|
-
print(f" {package}: FAILED - {e}")
|
|
410
|
-
all_ok = False
|
|
411
|
-
|
|
412
|
-
return 0 if all_ok else 1
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
def _substitute_template(template: str, vars_dict: dict) -> str:
|
|
416
|
-
"""Substitute {var} placeholders in template."""
|
|
417
|
-
result = template
|
|
418
|
-
for key, value in vars_dict.items():
|
|
419
|
-
if value is not None:
|
|
420
|
-
result = result.replace(f"{{{key}}}", str(value))
|
|
421
|
-
return result
|
|
422
|
-
|
|
423
|
-
|
|
424
290
|
def cmd_doctor(args) -> int:
|
|
425
291
|
"""Handle doctor command."""
|
|
426
292
|
from .install import verify_installation
|
|
@@ -466,72 +332,5 @@ def cmd_doctor(args) -> int:
|
|
|
466
332
|
return 0
|
|
467
333
|
|
|
468
334
|
|
|
469
|
-
def cmd_list_packages(args) -> int:
|
|
470
|
-
"""Handle list-packages command."""
|
|
471
|
-
from .pixi import PACKAGE_REGISTRY
|
|
472
|
-
|
|
473
|
-
if args.json:
|
|
474
|
-
import json
|
|
475
|
-
result = {}
|
|
476
|
-
for name, config in PACKAGE_REGISTRY.items():
|
|
477
|
-
result[name] = {
|
|
478
|
-
"description": config.get("description", ""),
|
|
479
|
-
}
|
|
480
|
-
if "wheel_template" in config:
|
|
481
|
-
result[name]["wheel_template"] = config["wheel_template"]
|
|
482
|
-
if "package_name" in config:
|
|
483
|
-
result[name]["package_name"] = config["package_name"]
|
|
484
|
-
if "default_version" in config:
|
|
485
|
-
result[name]["default_version"] = config["default_version"]
|
|
486
|
-
print(json.dumps(result, indent=2))
|
|
487
|
-
return 0
|
|
488
|
-
|
|
489
|
-
print("Built-in CUDA Package Registry")
|
|
490
|
-
print("=" * 60)
|
|
491
|
-
print()
|
|
492
|
-
print("These packages can be installed by adding them to comfy-env.toml:")
|
|
493
|
-
print()
|
|
494
|
-
print(" [cuda]")
|
|
495
|
-
print(' nvdiffrast = "0.4.0"')
|
|
496
|
-
print(' torch-scatter = "2.1.2"')
|
|
497
|
-
print()
|
|
498
|
-
print("Or override with custom wheel source:")
|
|
499
|
-
print()
|
|
500
|
-
print(" [wheel_sources]")
|
|
501
|
-
print(' nvdiffrast = "https://my-mirror.com/nvdiffrast-{version}+cu{cuda_short}-{py_tag}-{platform}.whl"')
|
|
502
|
-
print()
|
|
503
|
-
print("-" * 60)
|
|
504
|
-
|
|
505
|
-
# Group by type
|
|
506
|
-
wheel_template_packages = []
|
|
507
|
-
package_name_packages = []
|
|
508
|
-
|
|
509
|
-
for name, config in PACKAGE_REGISTRY.items():
|
|
510
|
-
desc = config.get("description", "")
|
|
511
|
-
default = config.get("default_version", "")
|
|
512
|
-
if "wheel_template" in config:
|
|
513
|
-
wheel_template_packages.append((name, desc, default))
|
|
514
|
-
elif "package_name" in config:
|
|
515
|
-
package_name_packages.append((name, desc, config["package_name"]))
|
|
516
|
-
|
|
517
|
-
if wheel_template_packages:
|
|
518
|
-
print("\nDirect wheel URL packages:")
|
|
519
|
-
for name, desc, default in sorted(wheel_template_packages):
|
|
520
|
-
version_info = f" (default: {default})" if default else ""
|
|
521
|
-
print(f" {name:20} - {desc}{version_info}")
|
|
522
|
-
|
|
523
|
-
if package_name_packages:
|
|
524
|
-
print("\nPyPI variant packages:")
|
|
525
|
-
for name, desc, pkg_template in sorted(package_name_packages):
|
|
526
|
-
print(f" {name:20} - {desc}")
|
|
527
|
-
print(f" installs as: {pkg_template}")
|
|
528
|
-
|
|
529
|
-
print()
|
|
530
|
-
print("Template variables: {version}, {cuda_short}, {torch_mm}, {py_tag}, {platform}")
|
|
531
|
-
print("See README for full documentation on writing wheel templates.")
|
|
532
|
-
print()
|
|
533
|
-
return 0
|
|
534
|
-
|
|
535
|
-
|
|
536
335
|
if __name__ == "__main__":
|
|
537
336
|
sys.exit(main())
|
comfy_env/pixi/__init__.py
CHANGED
|
@@ -13,7 +13,6 @@ from .core import (
|
|
|
13
13
|
clean_pixi_artifacts,
|
|
14
14
|
CUDA_WHEELS_INDEX,
|
|
15
15
|
)
|
|
16
|
-
from .registry import PACKAGE_REGISTRY
|
|
17
16
|
from .cuda_detection import (
|
|
18
17
|
detect_cuda_version,
|
|
19
18
|
detect_cuda_environment,
|
|
@@ -24,6 +23,7 @@ from .cuda_detection import (
|
|
|
24
23
|
GPUInfo,
|
|
25
24
|
CUDAEnvironment,
|
|
26
25
|
)
|
|
26
|
+
from .resolver import RuntimeEnv
|
|
27
27
|
|
|
28
28
|
__all__ = [
|
|
29
29
|
# Core pixi functions
|
|
@@ -34,8 +34,6 @@ __all__ = [
|
|
|
34
34
|
"pixi_install",
|
|
35
35
|
"clean_pixi_artifacts",
|
|
36
36
|
"CUDA_WHEELS_INDEX",
|
|
37
|
-
# Registry
|
|
38
|
-
"PACKAGE_REGISTRY",
|
|
39
37
|
# CUDA detection
|
|
40
38
|
"detect_cuda_version",
|
|
41
39
|
"detect_cuda_environment",
|
|
@@ -45,4 +43,6 @@ __all__ = [
|
|
|
45
43
|
"get_recommended_cuda_version",
|
|
46
44
|
"GPUInfo",
|
|
47
45
|
"CUDAEnvironment",
|
|
46
|
+
# Resolver
|
|
47
|
+
"RuntimeEnv",
|
|
48
48
|
]
|
comfy_env/pixi/core.py
CHANGED
|
@@ -321,7 +321,7 @@ def pixi_install(
|
|
|
321
321
|
pip_cmd = [
|
|
322
322
|
str(python_path), "-m", "pip", "install",
|
|
323
323
|
"--no-deps",
|
|
324
|
-
"--
|
|
324
|
+
"--index-url", CUDA_WHEELS_INDEX,
|
|
325
325
|
] + cfg.cuda_packages
|
|
326
326
|
|
|
327
327
|
result = subprocess.run(pip_cmd, capture_output=True, text=True)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: comfy-env
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.67
|
|
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
|
|
@@ -17,7 +17,6 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
19
|
Requires-Python: >=3.10
|
|
20
|
-
Requires-Dist: pyyaml>=6.0
|
|
21
20
|
Requires-Dist: tomli-w>=1.0.0
|
|
22
21
|
Requires-Dist: tomli>=2.0.0; python_version < '3.11'
|
|
23
22
|
Requires-Dist: uv>=0.4.0
|
|
@@ -69,8 +68,7 @@ Create a `comfy-env.toml` in your node directory:
|
|
|
69
68
|
|
|
70
69
|
```toml
|
|
71
70
|
[cuda]
|
|
72
|
-
|
|
73
|
-
pytorch3d = "0.7.9"
|
|
71
|
+
packages = ["nvdiffrast", "pytorch3d"]
|
|
74
72
|
|
|
75
73
|
[packages]
|
|
76
74
|
requirements = ["transformers>=4.56", "pillow"]
|
|
@@ -153,12 +151,6 @@ comfy-env install
|
|
|
153
151
|
# Dry run (show what would be installed)
|
|
154
152
|
comfy-env install --dry-run
|
|
155
153
|
|
|
156
|
-
# Resolve wheel URLs without installing
|
|
157
|
-
comfy-env resolve nvdiffrast==0.4.0
|
|
158
|
-
|
|
159
|
-
# List all packages in the built-in registry
|
|
160
|
-
comfy-env list-packages
|
|
161
|
-
|
|
162
154
|
# Verify installation
|
|
163
155
|
comfy-env doctor
|
|
164
156
|
```
|
|
@@ -168,11 +160,9 @@ comfy-env doctor
|
|
|
168
160
|
### Simple Format (comfy-env.toml)
|
|
169
161
|
|
|
170
162
|
```toml
|
|
171
|
-
# CUDA packages
|
|
163
|
+
# CUDA packages from https://pozzettiandrea.github.io/cuda-wheels/
|
|
172
164
|
[cuda]
|
|
173
|
-
|
|
174
|
-
pytorch3d = "0.7.9"
|
|
175
|
-
torch-scatter = "2.1.2"
|
|
165
|
+
packages = ["nvdiffrast", "pytorch3d", "torch-scatter"]
|
|
176
166
|
|
|
177
167
|
# Regular pip packages
|
|
178
168
|
[packages]
|
|
@@ -186,7 +176,7 @@ requirements = ["transformers>=4.56", "pillow"]
|
|
|
186
176
|
linux = ["libgl1", "libopengl0"] # apt packages
|
|
187
177
|
|
|
188
178
|
[local.cuda]
|
|
189
|
-
|
|
179
|
+
packages = ["nvdiffrast"]
|
|
190
180
|
|
|
191
181
|
[local.packages]
|
|
192
182
|
requirements = ["pillow", "numpy"]
|
|
@@ -197,82 +187,32 @@ python = "3.10"
|
|
|
197
187
|
cuda = "12.8"
|
|
198
188
|
|
|
199
189
|
[myenv.cuda]
|
|
200
|
-
|
|
190
|
+
packages = ["torch-scatter"]
|
|
201
191
|
|
|
202
192
|
[myenv.packages]
|
|
203
193
|
requirements = ["transformers>=4.56"]
|
|
204
|
-
|
|
205
|
-
# Custom wheel templates (override built-in registry)
|
|
206
|
-
[wheel_sources]
|
|
207
|
-
my-custom-pkg = "https://my-server.com/my-pkg-{version}+cu{cuda_short}-{py_tag}-{platform}.whl"
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
## Writing Wheel Templates
|
|
211
|
-
|
|
212
|
-
### Template Variables
|
|
213
|
-
|
|
214
|
-
| Variable | Example | Description |
|
|
215
|
-
|----------|---------|-------------|
|
|
216
|
-
| `{version}` | `0.4.0` | Package version |
|
|
217
|
-
| `{cuda_version}` | `12.8` | Full CUDA version |
|
|
218
|
-
| `{cuda_short}` | `128` | CUDA without dot |
|
|
219
|
-
| `{cuda_major}` | `12` | CUDA major only |
|
|
220
|
-
| `{torch_version}` | `2.8.0` | Full PyTorch version |
|
|
221
|
-
| `{torch_mm}` | `28` | PyTorch major.minor no dot |
|
|
222
|
-
| `{torch_dotted_mm}` | `2.8` | PyTorch major.minor with dot |
|
|
223
|
-
| `{py_version}` | `3.10` | Python version |
|
|
224
|
-
| `{py_short}` | `310` | Python without dot |
|
|
225
|
-
| `{py_tag}` | `cp310` | Python wheel tag |
|
|
226
|
-
| `{platform}` | `linux_x86_64` | Platform tag |
|
|
227
|
-
|
|
228
|
-
### Common Wheel URL Patterns
|
|
229
|
-
|
|
230
|
-
**Pattern 1: Simple CUDA + Python**
|
|
231
|
-
```
|
|
232
|
-
https://example.com/{package}-{version}+cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
**Pattern 2: CUDA + PyTorch**
|
|
236
|
-
```
|
|
237
|
-
https://example.com/{package}-{version}+cu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
**Pattern 3: GitHub Releases**
|
|
241
|
-
```
|
|
242
|
-
https://github.com/org/repo/releases/download/v{version}/{package}-{version}+cu{cuda_short}-{py_tag}-{platform}.whl
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
### How to Find the Right Template
|
|
246
|
-
|
|
247
|
-
1. Download a wheel manually from the source
|
|
248
|
-
2. Look at the filename pattern: `nvdiffrast-0.4.0+cu128torch28-cp310-cp310-linux_x86_64.whl`
|
|
249
|
-
3. Replace values with variables: `nvdiffrast-{version}+cu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl`
|
|
250
|
-
4. Prepend the base URL
|
|
251
|
-
|
|
252
|
-
### Testing Your Template
|
|
253
|
-
|
|
254
|
-
```bash
|
|
255
|
-
comfy-env resolve my-package==1.0.0
|
|
256
194
|
```
|
|
257
195
|
|
|
258
|
-
|
|
196
|
+
## CUDA Wheels Index
|
|
259
197
|
|
|
260
|
-
|
|
198
|
+
CUDA packages are installed from the [cuda-wheels](https://pozzettiandrea.github.io/cuda-wheels/) index, which provides pre-built wheels for:
|
|
261
199
|
|
|
262
|
-
|
|
200
|
+
- **PyTorch Geometric**: torch-scatter, torch-cluster, torch-sparse, torch-spline-conv
|
|
201
|
+
- **NVIDIA**: nvdiffrast, pytorch3d, gsplat
|
|
202
|
+
- **Attention**: flash-attn, sageattention
|
|
203
|
+
- **Mesh Processing**: cumesh, cubvh
|
|
204
|
+
- **Others**: spconv, detectron2, lietorch, and more
|
|
263
205
|
|
|
264
|
-
|
|
265
|
-
[cuda]
|
|
266
|
-
my-custom-pkg = "1.0.0"
|
|
206
|
+
Wheels are automatically selected based on your GPU, CUDA version, PyTorch version, and Python version.
|
|
267
207
|
|
|
268
|
-
|
|
269
|
-
my-custom-pkg = "https://my-server.com/my-custom-pkg-{version}+cu{cuda_short}-{py_tag}-{platform}.whl"
|
|
270
|
-
```
|
|
208
|
+
### Supported Configurations
|
|
271
209
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
210
|
+
| GPU Architecture | CUDA | PyTorch |
|
|
211
|
+
|-----------------|------|---------|
|
|
212
|
+
| Blackwell (sm_100+) | 12.8 | 2.8+ |
|
|
213
|
+
| Ada/Hopper/Ampere (sm_80+) | 12.8 | 2.8 |
|
|
214
|
+
| Turing (sm_75) | 12.8 | 2.8 |
|
|
215
|
+
| Pascal (sm_60) | 12.4 | 2.4 |
|
|
276
216
|
|
|
277
217
|
## API Reference
|
|
278
218
|
|
|
@@ -300,7 +240,7 @@ env = RuntimeEnv.detect()
|
|
|
300
240
|
print(env)
|
|
301
241
|
# Python 3.10, CUDA 12.8, PyTorch 2.8.0, GPU: NVIDIA GeForce RTX 4090
|
|
302
242
|
|
|
303
|
-
# Get
|
|
243
|
+
# Get environment variables
|
|
304
244
|
vars_dict = env.as_dict()
|
|
305
245
|
# {'cuda_version': '12.8', 'cuda_short': '128', 'torch_mm': '28', ...}
|
|
306
246
|
```
|
|
@@ -345,16 +285,6 @@ print(get_gpu_summary())
|
|
|
345
285
|
# GPU 0: NVIDIA GeForce RTX 5090 (sm_120) [Blackwell - CUDA 12.8]
|
|
346
286
|
```
|
|
347
287
|
|
|
348
|
-
## Built-in Package Registry
|
|
349
|
-
|
|
350
|
-
Run `comfy-env list-packages` to see all packages in the built-in registry.
|
|
351
|
-
|
|
352
|
-
The registry includes:
|
|
353
|
-
- PyTorch Geometric packages (torch-scatter, torch-cluster, torch-sparse)
|
|
354
|
-
- NVIDIA packages (nvdiffrast, pytorch3d, gsplat)
|
|
355
|
-
- Flash Attention (flash-attn)
|
|
356
|
-
- And more
|
|
357
|
-
|
|
358
288
|
## License
|
|
359
289
|
|
|
360
290
|
MIT - see LICENSE file.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
comfy_env/__init__.py,sha256=
|
|
2
|
-
comfy_env/cli.py,sha256=
|
|
1
|
+
comfy_env/__init__.py,sha256=s0RkyKsBlDiSI4ZSwivtWLvYhc8DS0CUEWgFLVJbtLA,2176
|
|
2
|
+
comfy_env/cli.py,sha256=ky7jC8eArKbjgYw9Uy52MKajmtLb16wYblrbEOoiy2U,9599
|
|
3
3
|
comfy_env/errors.py,sha256=q-C3vyrPa_kk_Ao8l17mIGfJiG2IR0hCFV0GFcNLmcI,9924
|
|
4
4
|
comfy_env/install.py,sha256=BO8qbrXKOmNnjjabnYouRUn7vecGxE5Z136Vl0eHNGs,5120
|
|
5
5
|
comfy_env/nodes.py,sha256=nBkG2pESeOt5kXSgTDIHAHaVdHK8-rEueR3BxXWn6TE,4354
|
|
@@ -9,10 +9,9 @@ comfy_env/config/parser.py,sha256=l1RncyvyvO_ySeiKO13knpfqI5Fb1ShCNQEQQ2lW23g,39
|
|
|
9
9
|
comfy_env/config/types.py,sha256=H0m_L4nURv-9M-JZvTcyG9VEcbWzBlppA3Xin26B0jM,1883
|
|
10
10
|
comfy_env/isolation/__init__.py,sha256=vw9a4mpJ2CFjy-PLe_A3zQ6umBQklgqWNxwn9beNw3g,175
|
|
11
11
|
comfy_env/isolation/wrap.py,sha256=9bXxK9h4FMrFL9k4EAdILWxkjXYytVCJV68MuwwufK8,11485
|
|
12
|
-
comfy_env/pixi/__init__.py,sha256=
|
|
13
|
-
comfy_env/pixi/core.py,sha256
|
|
12
|
+
comfy_env/pixi/__init__.py,sha256=BUrq7AQf3WDm0cHWh72B2xZbURNnDu2dCuELWiQCUiM,997
|
|
13
|
+
comfy_env/pixi/core.py,sha256=iYTvCxmf2M9fxK9cM9RyKQyOSJVkpHyR7GXPm45ZFRI,12656
|
|
14
14
|
comfy_env/pixi/cuda_detection.py,sha256=sqB3LjvGNdV4eFqiARQGfyecBM3ZiUmeh6nG0YCRYQw,9751
|
|
15
|
-
comfy_env/pixi/registry.py,sha256=w-QwvAPFlCrBYRAv4cXkp2zujQPZn8Fk5DUxKCtox8o,3430
|
|
16
15
|
comfy_env/pixi/resolver.py,sha256=U_A8rBDxCj4gUlJt2YJQniP4cCKqxJEiVFgXOoH7vM8,6339
|
|
17
16
|
comfy_env/pixi/platform/__init__.py,sha256=Nb5MPZIEeanSMEWwqU4p4bnEKTJn1tWcwobnhq9x9IY,614
|
|
18
17
|
comfy_env/pixi/platform/base.py,sha256=iS0ptTTVjXRwPU4qWUdvHI7jteuzxGSjWr5BUQ7hGiU,2453
|
|
@@ -26,9 +25,8 @@ comfy_env/workers/base.py,sha256=4ZYTaQ4J0kBHCoO_OfZnsowm4rJCoqinZUaOtgkOPbw,230
|
|
|
26
25
|
comfy_env/workers/mp.py,sha256=E_SUvvCd11uCW5dIURET8EVHcgRtu36MPOEjCFDq4Ok,23920
|
|
27
26
|
comfy_env/workers/subprocess.py,sha256=UMhKhaJoSjv2-FWnwQq9TeMWtaDLIs3ajAFTq1ngdJw,57844
|
|
28
27
|
comfy_env/workers/tensor_utils.py,sha256=TCuOAjJymrSbkgfyvcKtQ_KbVWTqSwP9VH_bCaFLLq8,6409
|
|
29
|
-
comfy_env/
|
|
30
|
-
comfy_env-0.0.
|
|
31
|
-
comfy_env-0.0.
|
|
32
|
-
comfy_env-0.0.
|
|
33
|
-
comfy_env-0.0.
|
|
34
|
-
comfy_env-0.0.66.dist-info/RECORD,,
|
|
28
|
+
comfy_env-0.0.67.dist-info/METADATA,sha256=J0u--ky-c7j_vt0j8vu2F3tqZrYS8mi_wTqXjMJkx1M,6946
|
|
29
|
+
comfy_env-0.0.67.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
30
|
+
comfy_env-0.0.67.dist-info/entry_points.txt,sha256=J4fXeqgxU_YenuW_Zxn_pEL7J-3R0--b6MS5t0QmAr0,49
|
|
31
|
+
comfy_env-0.0.67.dist-info/licenses/LICENSE,sha256=E68QZMMpW4P2YKstTZ3QU54HRQO8ecew09XZ4_Vn870,1093
|
|
32
|
+
comfy_env-0.0.67.dist-info/RECORD,,
|
comfy_env/pixi/registry.py
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"""Built-in registry of CUDA packages and their wheel sources.
|
|
2
|
-
|
|
3
|
-
This module loads package configurations from wheel_sources.yml and provides
|
|
4
|
-
lookup functions for the install module.
|
|
5
|
-
|
|
6
|
-
Each package has either:
|
|
7
|
-
- wheel_template: Direct URL template for .whl file
|
|
8
|
-
- package_name: PyPI package name template (for packages like spconv-cu124)
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
from pathlib import Path
|
|
12
|
-
from typing import Any, Dict, Optional
|
|
13
|
-
|
|
14
|
-
import yaml
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def get_cuda_short2(cuda_version: str) -> str:
|
|
18
|
-
"""Convert CUDA version to 2-3 digit format for spconv.
|
|
19
|
-
|
|
20
|
-
spconv uses "cu124" not "cu1240" for CUDA 12.4.
|
|
21
|
-
|
|
22
|
-
Args:
|
|
23
|
-
cuda_version: CUDA version string (e.g., "12.4", "12.8")
|
|
24
|
-
|
|
25
|
-
Returns:
|
|
26
|
-
Short format string (e.g., "124", "128")
|
|
27
|
-
|
|
28
|
-
Examples:
|
|
29
|
-
>>> get_cuda_short2("12.4")
|
|
30
|
-
'124'
|
|
31
|
-
>>> get_cuda_short2("12.8")
|
|
32
|
-
'128'
|
|
33
|
-
"""
|
|
34
|
-
parts = cuda_version.split(".")
|
|
35
|
-
major = parts[0]
|
|
36
|
-
minor = parts[1] if len(parts) > 1 else "0"
|
|
37
|
-
return f"{major}{minor}"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
def _load_wheel_sources() -> Dict[str, Dict[str, Any]]:
|
|
41
|
-
"""Load package registry from wheel_sources.yml."""
|
|
42
|
-
yml_path = Path(__file__).parent / "wheel_sources.yml"
|
|
43
|
-
with open(yml_path, "r") as f:
|
|
44
|
-
data = yaml.safe_load(f)
|
|
45
|
-
return data.get("packages", {})
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
# Load registry at module import time
|
|
49
|
-
PACKAGE_REGISTRY: Dict[str, Dict[str, Any]] = _load_wheel_sources()
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
def get_package_info(package: str) -> Optional[Dict[str, Any]]:
|
|
53
|
-
"""Get registry info for a package.
|
|
54
|
-
|
|
55
|
-
Args:
|
|
56
|
-
package: Package name (case-insensitive)
|
|
57
|
-
|
|
58
|
-
Returns:
|
|
59
|
-
Registry entry dict or None if not found
|
|
60
|
-
"""
|
|
61
|
-
return PACKAGE_REGISTRY.get(package.lower())
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
def list_packages() -> Dict[str, str]:
|
|
65
|
-
"""List all registered packages with their descriptions.
|
|
66
|
-
|
|
67
|
-
Returns:
|
|
68
|
-
Dict mapping package name to description
|
|
69
|
-
"""
|
|
70
|
-
return {
|
|
71
|
-
name: info.get("description", "No description")
|
|
72
|
-
for name, info in PACKAGE_REGISTRY.items()
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
def is_registered(package: str) -> bool:
|
|
77
|
-
"""Check if a package is in the registry.
|
|
78
|
-
|
|
79
|
-
Args:
|
|
80
|
-
package: Package name (case-insensitive)
|
|
81
|
-
|
|
82
|
-
Returns:
|
|
83
|
-
True if package is registered
|
|
84
|
-
"""
|
|
85
|
-
return package.lower() in PACKAGE_REGISTRY
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
def get_wheel_template(package: str) -> Optional[str]:
|
|
89
|
-
"""Get wheel_template for a package.
|
|
90
|
-
|
|
91
|
-
Args:
|
|
92
|
-
package: Package name (case-insensitive)
|
|
93
|
-
|
|
94
|
-
Returns:
|
|
95
|
-
wheel_template string or None if not found/not available
|
|
96
|
-
"""
|
|
97
|
-
info = get_package_info(package)
|
|
98
|
-
if info:
|
|
99
|
-
return info.get("wheel_template")
|
|
100
|
-
return None
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
def get_package_name_template(package: str) -> Optional[str]:
|
|
104
|
-
"""Get package_name template for PyPI variant packages (like spconv).
|
|
105
|
-
|
|
106
|
-
Args:
|
|
107
|
-
package: Package name (case-insensitive)
|
|
108
|
-
|
|
109
|
-
Returns:
|
|
110
|
-
package_name template string or None if not found/not available
|
|
111
|
-
"""
|
|
112
|
-
info = get_package_info(package)
|
|
113
|
-
if info:
|
|
114
|
-
return info.get("package_name")
|
|
115
|
-
return None
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
def get_default_version(package: str) -> Optional[str]:
|
|
119
|
-
"""Get default_version for a package.
|
|
120
|
-
|
|
121
|
-
Args:
|
|
122
|
-
package: Package name (case-insensitive)
|
|
123
|
-
|
|
124
|
-
Returns:
|
|
125
|
-
default_version string or None if not specified
|
|
126
|
-
"""
|
|
127
|
-
info = get_package_info(package)
|
|
128
|
-
if info:
|
|
129
|
-
return info.get("default_version")
|
|
130
|
-
return None
|
comfy_env/pixi/wheel_sources.yml
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
# Wheel sources registry for CUDA packages
|
|
2
|
-
#
|
|
3
|
-
# Each package has a single wheel_template that resolves to a direct .whl URL.
|
|
4
|
-
# Users can override these in their comfy-env.toml [wheel_sources] section.
|
|
5
|
-
#
|
|
6
|
-
# Template variables:
|
|
7
|
-
# {version} - Package version (e.g., "0.4.0")
|
|
8
|
-
# {cuda_version} - Full CUDA version (e.g., "12.8")
|
|
9
|
-
# {cuda_short} - CUDA without dot (e.g., "128")
|
|
10
|
-
# {cuda_major} - CUDA major version (e.g., "12")
|
|
11
|
-
# {torch_version} - Full PyTorch version (e.g., "2.8.0")
|
|
12
|
-
# {torch_short} - PyTorch without dots (e.g., "280")
|
|
13
|
-
# {torch_mm} - PyTorch major.minor no dot (e.g., "28")
|
|
14
|
-
# {torch_dotted_mm}- PyTorch major.minor with dot (e.g., "2.8")
|
|
15
|
-
# {py_version} - Python version (e.g., "3.10")
|
|
16
|
-
# {py_short} - Python without dot (e.g., "310")
|
|
17
|
-
# {py_minor} - Python minor version only (e.g., "10")
|
|
18
|
-
# {py_tag} - Python tag (e.g., "cp310")
|
|
19
|
-
# {platform} - Platform tag (e.g., "linux_x86_64")
|
|
20
|
-
|
|
21
|
-
packages:
|
|
22
|
-
# ===========================================================================
|
|
23
|
-
# PyTorch Geometric (PyG) - official wheels
|
|
24
|
-
# https://pytorch-geometric.readthedocs.io/en/latest/install/installation.html
|
|
25
|
-
# ===========================================================================
|
|
26
|
-
torch-scatter:
|
|
27
|
-
wheel_template: "https://data.pyg.org/whl/torch-{torch_version}%2Bcu{cuda_short}/torch_scatter-{version}%2Bpt{torch_mm}cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl"
|
|
28
|
-
default_version: "2.1.2"
|
|
29
|
-
description: Scatter operations for PyTorch
|
|
30
|
-
|
|
31
|
-
torch-cluster:
|
|
32
|
-
wheel_template: "https://data.pyg.org/whl/torch-{torch_version}%2Bcu{cuda_short}/torch_cluster-{version}%2Bpt{torch_mm}cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl"
|
|
33
|
-
default_version: "1.6.3"
|
|
34
|
-
description: Clustering algorithms for PyTorch
|
|
35
|
-
|
|
36
|
-
torch-sparse:
|
|
37
|
-
wheel_template: "https://data.pyg.org/whl/torch-{torch_version}%2Bcu{cuda_short}/torch_sparse-{version}%2Bpt{torch_mm}cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl"
|
|
38
|
-
default_version: "0.6.18"
|
|
39
|
-
description: Sparse tensor operations for PyTorch
|
|
40
|
-
|
|
41
|
-
torch-spline-conv:
|
|
42
|
-
wheel_template: "https://data.pyg.org/whl/torch-{torch_version}%2Bcu{cuda_short}/torch_spline_conv-{version}%2Bpt{torch_mm}cu{cuda_short}-{py_tag}-{py_tag}-{platform}.whl"
|
|
43
|
-
default_version: "1.2.2"
|
|
44
|
-
description: Spline convolutions for PyTorch
|
|
45
|
-
|
|
46
|
-
# ===========================================================================
|
|
47
|
-
# PozzettiAndrea cuda-wheels (GitHub releases)
|
|
48
|
-
# https://github.com/PozzettiAndrea/cuda-wheels/releases
|
|
49
|
-
# ===========================================================================
|
|
50
|
-
pytorch3d:
|
|
51
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/pytorch3d-latest/pytorch3d-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
52
|
-
default_version: "0.7.9"
|
|
53
|
-
description: PyTorch3D - 3D deep learning library
|
|
54
|
-
|
|
55
|
-
nvdiffrast:
|
|
56
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/nvdiffrast-latest/nvdiffrast-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
57
|
-
default_version: "0.4.0"
|
|
58
|
-
description: NVIDIA differentiable rasterizer
|
|
59
|
-
|
|
60
|
-
cumesh:
|
|
61
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/cumesh-latest/cumesh-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
62
|
-
default_version: "0.0.1"
|
|
63
|
-
description: CUDA-accelerated mesh utilities
|
|
64
|
-
|
|
65
|
-
cubvh:
|
|
66
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/cubvh-latest/cubvh-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
67
|
-
default_version: "0.1.2"
|
|
68
|
-
description: CUDA BVH acceleration for mesh operations and marching cubes
|
|
69
|
-
|
|
70
|
-
o_voxel:
|
|
71
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/o_voxel-latest/o_voxel-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
72
|
-
default_version: "0.0.1"
|
|
73
|
-
description: O-Voxel CUDA extension for TRELLIS
|
|
74
|
-
|
|
75
|
-
flex_gemm:
|
|
76
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/flex_gemm-latest/flex_gemm-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
77
|
-
default_version: "1.0.0"
|
|
78
|
-
description: Flexible GEMM operations
|
|
79
|
-
|
|
80
|
-
nvdiffrec_render:
|
|
81
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/nvdiffrec_render-latest/nvdiffrec_render-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
82
|
-
default_version: "0.0.1"
|
|
83
|
-
description: NVDiffRec rendering utilities
|
|
84
|
-
|
|
85
|
-
gsplat:
|
|
86
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/gsplat-latest/gsplat-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
87
|
-
default_version: "1.5.3"
|
|
88
|
-
description: Gaussian splatting rasterization
|
|
89
|
-
|
|
90
|
-
cc_torch:
|
|
91
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/cc_torch-latest/cc_torch-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
92
|
-
default_version: "0.2"
|
|
93
|
-
description: GPU-accelerated connected components
|
|
94
|
-
|
|
95
|
-
torch_generic_nms:
|
|
96
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/torch_generic_nms-latest/torch_generic_nms-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
97
|
-
default_version: "0.1"
|
|
98
|
-
description: GPU-accelerated Non-Maximum Suppression
|
|
99
|
-
|
|
100
|
-
lietorch:
|
|
101
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/lietorch-latest/lietorch-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
102
|
-
default_version: "0.3"
|
|
103
|
-
description: Lie group operations for PyTorch (DPVO dependency)
|
|
104
|
-
|
|
105
|
-
sageattention:
|
|
106
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/sageattention-latest/sageattention-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
107
|
-
default_version: "2.2.0"
|
|
108
|
-
description: SageAttention - 2-5x faster than FlashAttention with quantized kernels
|
|
109
|
-
|
|
110
|
-
dpvo-cuda:
|
|
111
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/dpvo_cuda-latest/dpvo_cuda-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
112
|
-
default_version: "0.0.0"
|
|
113
|
-
description: DPVO CUDA extensions (cuda_corr, cuda_ba, lietorch_backends) - torch 2.4 only
|
|
114
|
-
|
|
115
|
-
# ===========================================================================
|
|
116
|
-
# detectron2 - Facebook's detection library
|
|
117
|
-
# https://github.com/facebookresearch/detectron2
|
|
118
|
-
# Prebuilt wheels from miropsota's torch_packages_builder
|
|
119
|
-
# ===========================================================================
|
|
120
|
-
detectron2:
|
|
121
|
-
find_links: "https://miropsota.github.io/torch_packages_builder/detectron2/"
|
|
122
|
-
default_version: "0.6"
|
|
123
|
-
description: Detectron2 - Facebook's detection and segmentation library
|
|
124
|
-
|
|
125
|
-
# ===========================================================================
|
|
126
|
-
# flash-attn - Dao-AILab (Linux x86_64)
|
|
127
|
-
# For other platforms, users should add custom wheel_source in their config
|
|
128
|
-
# ===========================================================================
|
|
129
|
-
flash-attn:
|
|
130
|
-
wheel_template: "https://github.com/Dao-AILab/flash-attention/releases/download/v{version}/flash_attn-{version}%2Bcu{cuda_major}torch{torch_dotted_mm}cxx11abiTRUE-{py_tag}-{py_tag}-linux_x86_64.whl"
|
|
131
|
-
description: Flash Attention for fast transformer inference (Linux x86_64)
|
|
132
|
-
|
|
133
|
-
# ===========================================================================
|
|
134
|
-
# spconv - Sparse convolution library
|
|
135
|
-
# PyPI with CUDA-versioned package names (spconv-cu124, spconv-cu126, etc.)
|
|
136
|
-
# Note: This uses a special package_name field, not wheel_template
|
|
137
|
-
# ===========================================================================
|
|
138
|
-
spconv:
|
|
139
|
-
wheel_template: "https://github.com/PozzettiAndrea/cuda-wheels/releases/download/spconv_cu{cuda_short}-latest/spconv_cu{cuda_short}-{version}%2Bcu{cuda_short}torch{torch_mm}-{py_tag}-{py_tag}-{platform}.whl"
|
|
140
|
-
default_version: "2.3.8"
|
|
141
|
-
description: Sparse convolution library
|
|
File without changes
|
|
File without changes
|
|
File without changes
|