comfy-env 0.0.2__tar.gz → 0.0.4__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 (48) hide show
  1. {comfy_env-0.0.2 → comfy_env-0.0.4}/PKG-INFO +2 -1
  2. {comfy_env-0.0.2 → comfy_env-0.0.4}/pyproject.toml +2 -1
  3. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/__init__.py +1 -1
  4. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/manager.py +20 -1
  5. {comfy_env-0.0.2 → comfy_env-0.0.4}/.github/workflows/publish.yml +0 -0
  6. {comfy_env-0.0.2 → comfy_env-0.0.4}/.gitignore +0 -0
  7. {comfy_env-0.0.2 → comfy_env-0.0.4}/CLAUDE.md +0 -0
  8. {comfy_env-0.0.2 → comfy_env-0.0.4}/CRITICISM.md +0 -0
  9. {comfy_env-0.0.2 → comfy_env-0.0.4}/LICENSE +0 -0
  10. {comfy_env-0.0.2 → comfy_env-0.0.4}/README.md +0 -0
  11. {comfy_env-0.0.2 → comfy_env-0.0.4}/examples/basic_node/__init__.py +0 -0
  12. {comfy_env-0.0.2 → comfy_env-0.0.4}/examples/basic_node/comfy-env.toml +0 -0
  13. {comfy_env-0.0.2 → comfy_env-0.0.4}/examples/basic_node/nodes.py +0 -0
  14. {comfy_env-0.0.2 → comfy_env-0.0.4}/examples/basic_node/worker.py +0 -0
  15. {comfy_env-0.0.2 → comfy_env-0.0.4}/examples/decorator_node/__init__.py +0 -0
  16. {comfy_env-0.0.2 → comfy_env-0.0.4}/examples/decorator_node/nodes.py +0 -0
  17. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/cli.py +0 -0
  18. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/decorator.py +0 -0
  19. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/__init__.py +0 -0
  20. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/config.py +0 -0
  21. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/config_file.py +0 -0
  22. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/detection.py +0 -0
  23. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/platform/__init__.py +0 -0
  24. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/platform/base.py +0 -0
  25. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/platform/darwin.py +0 -0
  26. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/platform/linux.py +0 -0
  27. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/platform/windows.py +0 -0
  28. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/env/security.py +0 -0
  29. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/errors.py +0 -0
  30. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/install.py +0 -0
  31. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/ipc/__init__.py +0 -0
  32. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/ipc/bridge.py +0 -0
  33. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/ipc/protocol.py +0 -0
  34. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/ipc/tensor.py +0 -0
  35. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/ipc/torch_bridge.py +0 -0
  36. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/ipc/transport.py +0 -0
  37. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/ipc/worker.py +0 -0
  38. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/registry.py +0 -0
  39. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/resolver.py +0 -0
  40. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/runner.py +0 -0
  41. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/stubs/__init__.py +0 -0
  42. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/stubs/folder_paths.py +0 -0
  43. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/workers/__init__.py +0 -0
  44. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/workers/base.py +0 -0
  45. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/workers/pool.py +0 -0
  46. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/workers/tensor_utils.py +0 -0
  47. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/workers/torch_mp.py +0 -0
  48. {comfy_env-0.0.2 → comfy_env-0.0.4}/src/comfy_env/workers/venv.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comfy-env
3
- Version: 0.0.2
3
+ Version: 0.0.4
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
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
19
  Requires-Python: >=3.10
20
20
  Requires-Dist: tomli>=2.0.0; python_version < '3.11'
21
+ Requires-Dist: uv>=0.4.0
21
22
  Provides-Extra: dev
22
23
  Requires-Dist: mypy; extra == 'dev'
23
24
  Requires-Dist: pytest; extra == 'dev'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "comfy-env"
3
- version = "0.0.2"
3
+ version = "0.0.4"
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"}
@@ -20,6 +20,7 @@ classifiers = [
20
20
  ]
21
21
  dependencies = [
22
22
  "tomli>=2.0.0; python_version < '3.11'", # TOML parsing (built-in tomllib for 3.11+)
23
+ "uv>=0.4.0", # Fast Python package installer and venv creator
23
24
  ]
24
25
 
25
26
  [project.optional-dependencies]
@@ -40,7 +40,7 @@ This package provides:
40
40
  The @isolated decorator and WorkerBridge are still available.
41
41
  """
42
42
 
43
- __version__ = "0.0.2"
43
+ __version__ = "0.0.4"
44
44
 
45
45
  from .env.config import IsolatedEnv, EnvManagerConfig, LocalConfig, NodeReq
46
46
  from .env.config_file import (
@@ -73,10 +73,29 @@ class IsolatedEnvManager:
73
73
  raise RuntimeError(f"Platform incompatible: {error}")
74
74
 
75
75
  def _find_uv(self) -> Optional[Path]:
76
- """Find uv executable."""
76
+ """Find uv executable in PATH or current Python environment."""
77
+ # First check system PATH
77
78
  uv_path = shutil.which("uv")
78
79
  if uv_path:
79
80
  return Path(uv_path)
81
+
82
+ # Check current Python environment's Scripts/bin folder
83
+ import sys
84
+ if sys.platform == "win32":
85
+ candidates = [
86
+ Path(sys.prefix) / "Scripts" / "uv.exe",
87
+ Path(sys.base_prefix) / "Scripts" / "uv.exe",
88
+ ]
89
+ else:
90
+ candidates = [
91
+ Path(sys.prefix) / "bin" / "uv",
92
+ Path(sys.base_prefix) / "bin" / "uv",
93
+ ]
94
+
95
+ for candidate in candidates:
96
+ if candidate.exists():
97
+ return candidate
98
+
80
99
  return None
81
100
 
82
101
  def _run_uv(self, args: list, env_dir: Optional[Path] = None, **kwargs) -> subprocess.CompletedProcess:
File without changes
File without changes
File without changes
File without changes
File without changes