comfy-env 0.0.69__tar.gz → 0.0.71__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.0.71/.github/workflows/ci.yml +22 -0
  2. {comfy_env-0.0.69 → comfy_env-0.0.71}/PKG-INFO +1 -1
  3. {comfy_env-0.0.69 → comfy_env-0.0.71}/pyproject.toml +1 -1
  4. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/config/parser.py +6 -1
  5. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/config/types.py +3 -0
  6. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/pixi/core.py +6 -13
  7. {comfy_env-0.0.69 → comfy_env-0.0.71}/.github/workflows/publish.yml +0 -0
  8. {comfy_env-0.0.69 → comfy_env-0.0.71}/.gitignore +0 -0
  9. {comfy_env-0.0.69 → comfy_env-0.0.71}/LICENSE +0 -0
  10. {comfy_env-0.0.69 → comfy_env-0.0.71}/README.md +0 -0
  11. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/__init__.py +0 -0
  12. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/cli.py +0 -0
  13. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/config/__init__.py +0 -0
  14. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/errors.py +0 -0
  15. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/install.py +0 -0
  16. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/isolation/__init__.py +0 -0
  17. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/isolation/wrap.py +0 -0
  18. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/nodes.py +0 -0
  19. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/pixi/__init__.py +0 -0
  20. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/pixi/cuda_detection.py +0 -0
  21. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/pixi/platform/__init__.py +0 -0
  22. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/pixi/platform/base.py +0 -0
  23. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/pixi/platform/darwin.py +0 -0
  24. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/pixi/platform/linux.py +0 -0
  25. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/pixi/platform/windows.py +0 -0
  26. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/pixi/resolver.py +0 -0
  27. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/prestartup.py +0 -0
  28. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/templates/comfy-env-instructions.txt +0 -0
  29. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/templates/comfy-env.toml +0 -0
  30. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/workers/__init__.py +0 -0
  31. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/workers/base.py +0 -0
  32. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/workers/mp.py +0 -0
  33. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/workers/subprocess.py +0 -0
  34. {comfy_env-0.0.69 → comfy_env-0.0.71}/src/comfy_env/workers/tensor_utils.py +0 -0
@@ -0,0 +1,22 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ lint:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - name: Check for non-ASCII characters
16
+ run: |
17
+ # Find non-ASCII characters in Python files (breaks Windows cp1252 encoding)
18
+ if grep -rn '[^\x00-\x7F]' --include="*.py" .; then
19
+ echo "::error::Found non-ASCII characters in Python files. Use ASCII only for Windows compatibility."
20
+ exit 1
21
+ fi
22
+ echo "No non-ASCII characters found."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comfy-env
3
- Version: 0.0.69
3
+ Version: 0.0.71
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.69"
3
+ version = "0.0.71"
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"}
@@ -49,7 +49,7 @@ from .types import ComfyEnvConfig, NodeReq
49
49
  CONFIG_FILE_NAME = "comfy-env.toml"
50
50
 
51
51
  # Sections we handle specially (not passed through to pixi.toml)
52
- CUSTOM_SECTIONS = {"python", "cuda", "node_reqs"}
52
+ CUSTOM_SECTIONS = {"python", "cuda", "node_reqs", "apt"}
53
53
 
54
54
 
55
55
  def load_config(path: Path) -> ComfyEnvConfig:
@@ -116,6 +116,10 @@ def _parse_config(data: Dict[str, Any]) -> ComfyEnvConfig:
116
116
  cuda_data = data.pop("cuda", {})
117
117
  cuda_packages = _ensure_list(cuda_data.get("packages", []))
118
118
 
119
+ # Extract [apt] section
120
+ apt_data = data.pop("apt", {})
121
+ apt_packages = _ensure_list(apt_data.get("packages", []))
122
+
119
123
  # Extract [node_reqs] section
120
124
  node_reqs_data = data.pop("node_reqs", {})
121
125
  node_reqs = _parse_node_reqs(node_reqs_data)
@@ -126,6 +130,7 @@ def _parse_config(data: Dict[str, Any]) -> ComfyEnvConfig:
126
130
  return ComfyEnvConfig(
127
131
  python=python_version,
128
132
  cuda_packages=cuda_packages,
133
+ apt_packages=apt_packages,
129
134
  node_reqs=node_reqs,
130
135
  pixi_passthrough=pixi_passthrough,
131
136
  )
@@ -53,6 +53,9 @@ class ComfyEnvConfig:
53
53
  # [cuda] - CUDA packages (installed via find-links index)
54
54
  cuda_packages: List[str] = field(default_factory=list)
55
55
 
56
+ # [apt] - System packages to install via apt (Linux only)
57
+ apt_packages: List[str] = field(default_factory=list)
58
+
56
59
  # [node_reqs] - other ComfyUI nodes to clone
57
60
  node_reqs: List[NodeReq] = field(default_factory=list)
58
61
 
@@ -211,23 +211,16 @@ def pixi_install(
211
211
  if cuda_version:
212
212
  cuda_mm = ".".join(cuda_version.split(".")[:2])
213
213
  torch_version = CUDA_TORCH_MAP.get(cuda_mm, "2.8")
214
- log(f"Detected CUDA {cuda_version} PyTorch {torch_version}")
214
+ log(f"Detected CUDA {cuda_version} -> PyTorch {torch_version}")
215
215
  else:
216
216
  log("Warning: CUDA packages requested but no GPU detected")
217
217
 
218
- # Install system dependencies on Linux (OpenGL, build tools)
219
- if sys.platform == "linux":
220
- log("Installing system dependencies...")
221
- subprocess.run(
222
- ["sudo", "apt-get", "update"],
223
- capture_output=True,
224
- )
218
+ # Install system dependencies on Linux via apt
219
+ if sys.platform == "linux" and cfg.apt_packages:
220
+ log(f"Installing apt packages: {cfg.apt_packages}")
221
+ subprocess.run(["sudo", "apt-get", "update"], capture_output=True)
225
222
  subprocess.run(
226
- ["sudo", "apt-get", "install", "-y",
227
- "python3-dev", # Build deps for C extensions
228
- "libgl1-mesa-glx", # OpenGL
229
- "libglu1-mesa", # GLU
230
- ],
223
+ ["sudo", "apt-get", "install", "-y"] + cfg.apt_packages,
231
224
  capture_output=True,
232
225
  )
233
226
 
File without changes
File without changes
File without changes