Compare commits

...
7 Commits
Author SHA1 Message Date
Dr.Lt.Data f5c9e24148 modified: release pinning ultralytics version
fixed: ruff check
2025-04-22 00:40:08 +09:00
Dr.Lt.Data 5809fcdcb9 Merge pull request #40 from ComfyNodePRs/update-publish-yaml
Update Github Action for Publishing to Comfy Registry
2025-04-13 11:32:08 +09:00
Dr.Lt.Data 74db20c95e update README.md 2025-01-26 18:54:15 +09:00
Dr.Lt.Data 6dfb6e1acd update DB 2025-01-26 18:50:50 +09:00
snomiao 7ba0e2760c chore(publish): update GitHub Actions workflow for node publishing
- Add permissions for issue writing
- Update action version to v1 for publish-node-action
- Add condition to run job only for 'ltdrdata' repository owner
2025-01-25 17:25:20 +00:00
Dr.Lt.Data 2074152852 fixed: specific python version doesn't support this f-string.
https://github.com/ltdrdata/ComfyUI-Impact-Pack/issues/893
2025-01-25 16:07:08 +09:00
Dr.Lt.Data 979f356783 fixed: potential error by extra_model_paths.yaml
https://github.com/ltdrdata/ComfyUI-Impact-Subpack/issues/27
2025-01-25 12:23:17 +09:00
9 changed files with 40 additions and 12 deletions
+6 -2
View File
@@ -7,15 +7,19 @@ on:
paths:
- "pyproject.toml"
permissions:
issues: write
jobs:
publish-node:
name: Publish Custom Node to registry
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'ltdrdata' }}
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Publish Custom Node
uses: Comfy-Org/publish-node-action@main
uses: Comfy-Org/publish-node-action@v1
with:
## Add your own personal access token to your Github Repository secrets and reference it here.
personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }}
personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }}
+7
View File
@@ -15,6 +15,13 @@ This node pack provides nodes that complement the [ComfyUI Impact Pack](https://
* civitai/[adetailer](https://civitai.com/search/models?sortBy=models_v5&query=adetailer) - You can download various types detection models....Many models are associated with NSFW content.
## Paths
* In `extra_model_paths.yaml`, you can add the following entries:
- `ultralytics_bbox` - Specifies the paths for bbox YOLO models.
- `ultralytics_segm` - Specifies the paths for segm YOLO models.
- `ultralytics` - Allows the presence of `bbox/` and `segm/` subdirectories.
## How To Install?
### Install via ComfyUI-Manager (Recommended)
+1 -1
View File
@@ -8,7 +8,7 @@
import importlib
import logging
version_code = [1, 2, 7]
version_code = [1, 2, 10]
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
logging.info(f"### Loading: ComfyUI-Impact-Subpack ({version_str})")
+5 -4
View File
@@ -1,21 +1,22 @@
import os
import sys
from torchvision.datasets.utils import download_url
import logging
subpack_path = os.path.join(os.path.dirname(__file__))
comfy_path = os.environ.get('COMFYUI_PATH')
if comfy_path is None:
comfy_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
print(f"\nWARN: The `COMFYUI_PATH` environment variable is not set. Assuming `{comfy_path}` as the ComfyUI path.", file=sys.stderr)
logging.warning(f"\nWARN: The `COMFYUI_PATH` environment variable is not set. Assuming `{comfy_path}` as the ComfyUI path.")
sys.path.append(comfy_path)
model_path = os.environ.get('COMFYUI_MODEL_PATH')
if model_path is None:
model_path = os.path.abspath(os.path.join(comfy_path, 'models'))
print(f"\nWARN: The `COMFYUI_MODEL_PATH` environment variable is not set. Assuming `{model_path}` as the ComfyUI path.", file=sys.stderr)
logging.warning(f"\nWARN: The `COMFYUI_MODEL_PATH` environment variable is not set. Assuming `{model_path}` as the ComfyUI path.")
ultralytics_bbox_path = os.path.join(model_path, "ultralytics", "bbox")
ultralytics_segm_path = os.path.join(model_path, "ultralytics", "segm")
+2 -2
View File
@@ -42,7 +42,7 @@ def restricted_getattr(obj, name, *args):
if name != "forward":
logging.error(f"Access to potentially dangerous attribute '{obj.__module__}.{obj.__name__}.{name}' is blocked.\nIf you believe the use of this code is genuinely safe, please report it.\nhttps://github.com/ltdrdata/ComfyUI-Impact-Subpack/issues")
raise RuntimeError(f"Access to potentially dangerous attribute '{obj.__module__}.{obj.__name__}.{name}' is blocked.")
return getattr(obj, name, *args)
restricted_getattr.__module__ = 'builtins'
@@ -385,4 +385,4 @@ class UltraSegmDetector:
return utils.combine_masks(segmasks)
def setAux(self, x):
pass
pass
+16
View File
@@ -30,6 +30,22 @@ class UltralyticsDetectorProvider:
def doit(self, model_name):
model_path = folder_paths.get_full_path("ultralytics", model_name)
if model_path is None:
logging.error(f"[Impact Subpack] model file '{model_name}' is not found in one of the following directories:")
cands = []
cands.extend(folder_paths.get_folder_paths("ultralytics"))
if model_name.startswith('bbox/'):
cands.extend(folder_paths.get_folder_paths("ultralytics_bbox"))
elif model_name.startswith('segm/'):
cands.extend(folder_paths.get_folder_paths("ultralytics_segm"))
formatted_cands = "\n\t".join(cands)
logging.error(f'\t{formatted_cands}\n')
raise ValueError(f"[Impact Subpack] model file '{model_name}' is not found.")
model = subcore.load_yolo(model_path)
if model_name.startswith("bbox"):
+1 -1
View File
@@ -133,7 +133,7 @@ def crop_ndarray2(npimg, crop_region):
return cropped
def crop_ndarray4(npimg, crop_region):
x1 = crop_region[0]
y1 = crop_region[1]
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "comfyui-impact-subpack"
description = "This node pack provides nodes that complement the Impact Pack, such as the UltralyticsDetectorProvider."
version = "1.2.7"
version = "1.2.10"
license = { file = "LICENSE.txt" }
dependencies = ["matplotlib", "ultralytics==8.3.40"]
+1 -1
View File
@@ -1,5 +1,5 @@
matplotlib
ultralytics==8.3.40
ultralytics
numpy==1.26.4
opencv-python-headless
dill