From 0bf23a0a486bdb389f172b4f441eef501b81bdd6 Mon Sep 17 00:00:00 2001 From: haohaocreates Date: Wed, 22 May 2024 18:20:32 -0400 Subject: [PATCH 1/3] chore(publish): Add Github Action for Publishing to Comfy Registry --- .github/workflows/publish.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..828f300 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,21 @@ +name: Publish to Comfy registry +on: + workflow_dispatch: + push: + branches: + - main + paths: + - "pyproject.toml" + +jobs: + publish-node: + name: Publish Custom Node to registry + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v4 + - name: Publish Custom Node + uses: Comfy-Org/publish-node-action@main + with: + ## Add your own personal access token to your Github Repository secrets and reference it here. + personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} \ No newline at end of file From 6f4af5ea1963e5d19d8de3f646a5ae0239dd24cc Mon Sep 17 00:00:00 2001 From: haohaocreates Date: Wed, 22 May 2024 18:20:34 -0400 Subject: [PATCH 2/3] chore(pyproject): Add pyproject.toml for Custom Node Registry --- pyproject.toml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..fbc4cee --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,15 @@ +[project] +name = "comfyui-daremerge" +description = "Merge two checkpoint models by dare ties [a/(https://github.com/yule-BUAA/MergeLM)](https://github.com/yule-BUAA/MergeLM), sort of." +version = "1.0.0" +license = "LICENSE" +dependencies = ["matplotlib"] + +[project.urls] +Repository = "https://github.com/54rt1n/ComfyUI-DareMerge" +# Used by Comfy Registry https://comfyregistry.org + +[tool.comfy] +PublisherId = "" +DisplayName = "ComfyUI-DareMerge" +Icon = "" From c71bd8e4f84e9245f837bd8fd948efa71299b419 Mon Sep 17 00:00:00 2001 From: Martin <4502632+54rt1n@users.noreply.github.co> Date: Tue, 9 Jul 2024 11:23:16 -0500 Subject: [PATCH 3/3] comfy registry --- .github/workflows/publish.yml | 4 ++-- README.md | 3 ++- pyproject.toml | 21 ++++++++++++++------- requirements.txt | 5 ++++- resources/blackhole192.png | Bin 0 -> 27320 bytes 5 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 resources/blackhole192.png diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 828f300..c1f20b5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,7 +3,7 @@ on: workflow_dispatch: push: branches: - - main + - master paths: - "pyproject.toml" @@ -18,4 +18,4 @@ jobs: uses: Comfy-Org/publish-node-action@main with: ## Add your own personal access token to your Github Repository secrets and reference it here. - personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} \ No newline at end of file + personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} diff --git a/README.md b/README.md index 4ea5711..37690d2 100644 --- a/README.md +++ b/README.md @@ -103,4 +103,5 @@ I am testing out a new normalization method, which is to normalize the norm of t Noise injection is a really fun tool that you can use to inject noise into targeted layers (or parts of layers, using a model mask), in a manner similar to https://github.com/EGjoni/DRUGS. ### LoRA Loader (Tags) -This node will load a LoRA model, and return the tags from the metadata as a comma separated string, ready to pass to some other node. \ No newline at end of file +This node will load a LoRA model, and return the tags from the metadata as a comma separated string, ready to pass to some other node. + diff --git a/pyproject.toml b/pyproject.toml index fbc4cee..303101f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,15 +1,22 @@ [project] name = "comfyui-daremerge" -description = "Merge two checkpoint models by dare ties [a/(https://github.com/yule-BUAA/MergeLM)](https://github.com/yule-BUAA/MergeLM), sort of." -version = "1.0.0" -license = "LICENSE" -dependencies = ["matplotlib"] +description = "ComfyUI powertools for SD1.5 and SDXL model merging" +version = "0.3.1" +license = "GPL-3.0-only" +authors = [ + { name = "54rt1n", email = "opensource@bmds.us" } +] +dependencies = [ + "pillow", + "numpy", + "matplotlib", + "torch" +] [project.urls] Repository = "https://github.com/54rt1n/ComfyUI-DareMerge" -# Used by Comfy Registry https://comfyregistry.org [tool.comfy] -PublisherId = "" +PublisherId = "user" DisplayName = "ComfyUI-DareMerge" -Icon = "" +Icon = "https://raw.githubusercontent.com/54rt1n/ComfyUI-DareMerge/master/resources/blackhole192.png" diff --git a/requirements.txt b/requirements.txt index 4b43f7e..c1cbda4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,4 @@ -matplotlib \ No newline at end of file +matplotlib +numpy +torch +pillow diff --git a/resources/blackhole192.png b/resources/blackhole192.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1b9e965764ac0590e3aba3064013bddcf93be1 GIT binary patch literal 27320 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 literal 0 HcmV?d00001