comfy-cli 1.3.2__tar.gz → 1.3.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 (41) hide show
  1. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/PKG-INFO +2 -1
  2. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/cmdline.py +1 -1
  3. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/command/custom_nodes/command.py +7 -3
  4. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/command/install.py +7 -2
  5. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/constants.py +1 -0
  6. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/file_utils.py +21 -12
  7. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli.egg-info/PKG-INFO +2 -1
  8. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli.egg-info/requires.txt +1 -0
  9. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/pyproject.toml +3 -3
  10. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/LICENSE +0 -0
  11. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/README.md +0 -0
  12. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/__init__.py +0 -0
  13. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/__main__.py +0 -0
  14. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/command/__init__.py +0 -0
  15. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/command/custom_nodes/__init__.py +0 -0
  16. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/command/custom_nodes/bisect_custom_nodes.py +0 -0
  17. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/command/custom_nodes/cm_cli_util.py +0 -0
  18. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/command/launch.py +0 -0
  19. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/command/models/models.py +0 -0
  20. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/command/run.py +0 -0
  21. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/config_manager.py +0 -0
  22. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/env_checker.py +0 -0
  23. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/git_utils.py +0 -0
  24. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/logging.py +0 -0
  25. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/registry/__init__.py +0 -0
  26. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/registry/api.py +0 -0
  27. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/registry/config_parser.py +0 -0
  28. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/registry/types.py +0 -0
  29. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/standalone.py +0 -0
  30. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/tracking.py +0 -0
  31. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/typing.py +0 -0
  32. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/ui.py +0 -0
  33. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/update.py +0 -0
  34. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/utils.py +0 -0
  35. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/uv.py +0 -0
  36. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli/workspace_manager.py +0 -0
  37. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli.egg-info/SOURCES.txt +0 -0
  38. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli.egg-info/dependency_links.txt +0 -0
  39. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli.egg-info/entry_points.txt +0 -0
  40. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/comfy_cli.egg-info/top_level.txt +0 -0
  41. {comfy_cli-1.3.2 → comfy_cli-1.3.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: comfy-cli
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: A CLI tool for installing and using ComfyUI.
5
5
  Maintainer-email: Yoland Yan <yoland@drip.art>, James Kwon <hongilkwon316@gmail.com>, Robin Huang <robin@drip.art>, "Dr.Lt.Data" <dr.lt.data@gmail.com>
6
6
  License: GPL-3.0-only
@@ -34,6 +34,7 @@ Provides-Extra: dev
34
34
  Requires-Dist: pre-commit; extra == "dev"
35
35
  Requires-Dist: pytest; extra == "dev"
36
36
  Requires-Dist: ruff; extra == "dev"
37
+ Requires-Dist: pytest-cov; extra == "dev"
37
38
 
38
39
  # Comfy-Cli: A Command Line Tool for ComfyUI
39
40
 
@@ -198,7 +198,7 @@ def install(
198
198
  callback=g_gpu_exclusivity.validate,
199
199
  ),
200
200
  ] = None,
201
- cuda_version: Annotated[CUDAVersion, typer.Option(show_default=True)] = CUDAVersion.v12_1,
201
+ cuda_version: Annotated[CUDAVersion, typer.Option(show_default=True)] = CUDAVersion.v12_4,
202
202
  amd: Annotated[
203
203
  Optional[bool],
204
204
  typer.Option(
@@ -706,13 +706,17 @@ def validate_node_for_publishing():
706
706
  typer.echo("Running security checks...")
707
707
  try:
708
708
  # Run ruff check with security rules and --exit-zero to only warn
709
- cmd = ["ruff", "check", ".", "-q", "--select", "S102,S307", "--exit-zero"]
709
+ cmd = ["ruff", "check", ".", "-q", "--select", "S102,S307,E702", "--exit-zero"]
710
710
  result = subprocess.run(cmd, capture_output=True, text=True)
711
711
 
712
712
  if result.stdout:
713
713
  print("[yellow]Security warnings found:[/yellow]")
714
714
  print(result.stdout)
715
- print("[bold yellow]We will soon disable exec and eval, so this will be an error soon.[/bold yellow]")
715
+ print(
716
+ "[bold yellow]We will soon disable exec and eval, and multiple statements in a single line, so this will be an error soon.[/bold yellow]"
717
+ )
718
+ else:
719
+ print("[green]✓ All validation checks passed successfully[/green]")
716
720
 
717
721
  except FileNotFoundError:
718
722
  print("[red]Ruff is not installed. Please install it with 'pip install ruff'[/red]")
@@ -731,7 +735,7 @@ def validate():
731
735
  Run validation checks that would be performed during publishing.
732
736
  """
733
737
  validate_node_for_publishing()
734
- print("[green]✓ All validation checks passed successfully[/green]")
738
+ # print("[green]✓ All validation checks passed successfully[/green]")
735
739
 
736
740
 
737
741
  @app.command("publish", help="Publish node to registry")
@@ -68,7 +68,12 @@ def pip_install_comfyui_dependencies(
68
68
  "torchvision",
69
69
  "torchaudio",
70
70
  ]
71
- if plat == constants.OS.WINDOWS and cuda_version == constants.CUDAVersion.v12_1:
71
+ if plat == constants.OS.WINDOWS and cuda_version == constants.CUDAVersion.v12_4:
72
+ base_command += [
73
+ "--extra-index-url",
74
+ "https://download.pytorch.org/whl/cu124",
75
+ ]
76
+ elif plat == constants.OS.WINDOWS and cuda_version == constants.CUDAVersion.v12_1:
72
77
  base_command += [
73
78
  "--extra-index-url",
74
79
  "https://download.pytorch.org/whl/cu121",
@@ -159,7 +164,7 @@ def execute(
159
164
  commit: Optional[str] = None,
160
165
  manager_commit: Optional[str] = None,
161
166
  gpu: constants.GPU_OPTION = None,
162
- cuda_version: constants.CUDAVersion = constants.CUDAVersion.v12_1,
167
+ cuda_version: constants.CUDAVersion = constants.CUDAVersion.v12_4,
163
168
  plat: constants.OS = None,
164
169
  skip_torch_or_directml: bool = False,
165
170
  skip_requirement: bool = False,
@@ -60,6 +60,7 @@ COMFY_ORIGIN_URL_CHOICES = [
60
60
 
61
61
 
62
62
  class CUDAVersion(str, Enum):
63
+ v12_4 = "12.4"
63
64
  v12_1 = "12.1"
64
65
  v11_8 = "11.8"
65
66
 
@@ -6,7 +6,6 @@ from typing import Optional
6
6
 
7
7
  import httpx
8
8
  import requests
9
- from pathspec import pathspec
10
9
 
11
10
  from comfy_cli import ui
12
11
 
@@ -90,15 +89,26 @@ def download_file(url: str, local_filepath: pathlib.Path, headers: Optional[dict
90
89
 
91
90
 
92
91
  def zip_files(zip_filename):
93
- gitignore_path = ".gitignore"
94
- if not os.path.exists(gitignore_path):
95
- print(f"No .gitignore file found in {os.getcwd()}, proceeding without it.")
96
- gitignore = ""
97
- else:
98
- with open(gitignore_path, "r") as file:
99
- gitignore = file.read()
92
+ """
93
+ Zip all files in the current directory that are tracked by git.
94
+ """
95
+ try:
96
+ # Get list of git-tracked files using git ls-files
97
+ import subprocess
100
98
 
101
- spec = pathspec.PathSpec.from_lines("gitwildmatch", gitignore.splitlines())
99
+ git_files = subprocess.check_output(["git", "ls-files"], text=True).splitlines()
100
+ # Zip only git-tracked files
101
+ with zipfile.ZipFile(zip_filename, "w", zipfile.ZIP_DEFLATED) as zipf:
102
+ for file_path in git_files:
103
+ if zip_filename in file_path:
104
+ continue
105
+ if os.path.exists(file_path):
106
+ zipf.write(file_path)
107
+ else:
108
+ print(f"File not found. Not including in zip: {file_path}")
109
+ return
110
+ except (subprocess.SubprocessError, FileNotFoundError):
111
+ print("Warning: Not in a git repository or git not installed. Zipping all files.")
102
112
 
103
113
  with zipfile.ZipFile(zip_filename, "w", zipfile.ZIP_DEFLATED) as zipf:
104
114
  for root, dirs, files in os.walk("."):
@@ -110,14 +120,13 @@ def zip_files(zip_filename):
110
120
  if zip_filename in file_path:
111
121
  continue
112
122
  relative_path = os.path.relpath(file_path, start=".")
113
- if not spec.match_file(relative_path):
114
- zipf.write(file_path, relative_path)
123
+ zipf.write(file_path, relative_path)
115
124
 
116
125
 
117
126
  def upload_file_to_signed_url(signed_url: str, file_path: str):
118
127
  try:
119
128
  with open(file_path, "rb") as f:
120
- headers = {"Content-Type": "application/gzip"}
129
+ headers = {"Content-Type": "application/zip"}
121
130
  response = requests.put(signed_url, data=f, headers=headers)
122
131
 
123
132
  # Simple success check
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: comfy-cli
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: A CLI tool for installing and using ComfyUI.
5
5
  Maintainer-email: Yoland Yan <yoland@drip.art>, James Kwon <hongilkwon316@gmail.com>, Robin Huang <robin@drip.art>, "Dr.Lt.Data" <dr.lt.data@gmail.com>
6
6
  License: GPL-3.0-only
@@ -34,6 +34,7 @@ Provides-Extra: dev
34
34
  Requires-Dist: pre-commit; extra == "dev"
35
35
  Requires-Dist: pytest; extra == "dev"
36
36
  Requires-Dist: ruff; extra == "dev"
37
+ Requires-Dist: pytest-cov; extra == "dev"
37
38
 
38
39
  # Comfy-Cli: A Command Line Tool for ComfyUI
39
40
 
@@ -21,3 +21,4 @@ semver~=3.0.2
21
21
  pre-commit
22
22
  pytest
23
23
  ruff
24
+ pytest-cov
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "comfy-cli"
7
7
  license = { text = "GPL-3.0-only" }
8
- version = "v1.3.2" # Will be filled in by the CI/CD pipeline. Check publish_package.py.
8
+ version = "v1.3.4" # Will be filled in by the CI/CD pipeline. Check publish_package.py.
9
9
  requires-python = ">= 3.9"
10
10
  description = "A CLI tool for installing and using ComfyUI."
11
11
  readme = "README.md"
@@ -46,7 +46,7 @@ dependencies = [
46
46
  ]
47
47
 
48
48
  [project.optional-dependencies]
49
- dev = ["pre-commit", "pytest", "ruff"]
49
+ dev = ["pre-commit", "pytest", "ruff", "pytest-cov"]
50
50
 
51
51
  [project.scripts]
52
52
  comfy = "comfy_cli.__main__:main"
@@ -62,7 +62,7 @@ include = ["comfy_cli*"]
62
62
 
63
63
  [tool.ruff]
64
64
  line-length = 120
65
- target-version = "v1.3.2"
65
+ target-version = "v1.3.4"
66
66
 
67
67
  [tool.ruff.lint]
68
68
  select = [
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes