Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
ebcb14e
support installation of system added nodepack
ltdrdata Mar 18, 2025
01ac9c8
Modify the structure to be installable via pip.
ltdrdata Mar 19, 2025
212b8e7
feat: support task batch
ltdrdata Mar 24, 2025
149257e
Merge branch 'main' into feat/queue_batch
ltdrdata Mar 24, 2025
57b847e
fixed: failed[..].ui_id -> failed
ltdrdata Mar 24, 2025
a128baf
fixed: ruff check
ltdrdata Mar 25, 2025
208ca31
support installation of system added nodepack
ltdrdata Mar 18, 2025
42e8a95
Modify the structure to be installable via pip.
ltdrdata Mar 19, 2025
81e84fa
add workflow to publish to pypi
christian-byrne Apr 9, 2025
b4dc593
fix merge conflict
christian-byrne Apr 9, 2025
2b47aad
don't show menu buttons if past comfyui front 1.16
christian-byrne Apr 9, 2025
5ce170b
don't handle queue in legacy front if element is not visible
christian-byrne Apr 9, 2025
05f1a8a
add missing v2 prefix to customnode/installed route
christian-byrne Apr 9, 2025
0de9d36
enable legacy manager frontend during beta phase
christian-byrne Apr 9, 2025
dbd25b0
Merge branch 'main' into feat/cacheless
ltdrdata Apr 10, 2025
5738ea8
don't load legacy web dir when --disable-manager arg set
christian-byrne Apr 10, 2025
10105ad
if pip package, force offline mode
christian-byrne Apr 10, 2025
9dc8e63
fix is_legacy_front should be a function still
christian-byrne Apr 11, 2025
29ca93f
fix: installed nodes should still be initialized in offline mode
christian-byrne Apr 11, 2025
3c41384
use parsed version and id even when no cnr map exists
christian-byrne Apr 11, 2025
aaae6ce
Merge branch 'feat/queue_batch' into draft-v4
ltdrdata Apr 12, 2025
539e0a1
Merge branch 'main' into draft-v4
ltdrdata Apr 12, 2025
bb0fcf6
added: should_be_disabled function
ltdrdata Apr 12, 2025
a76ef49
Merge branch 'feat/cacheless-v2' into draft-v4
ltdrdata Apr 12, 2025
7a35bd9
Merge branch 'main' into draft-v4
ltdrdata Apr 12, 2025
7fc8ba5
fixed: don't disable legacy ComfyUI-Manager unless --disable-comfyui …
ltdrdata Apr 12, 2025
46a3790
add development guide (#1739)
christian-byrne Apr 12, 2025
05ceab6
restructuring
ltdrdata Apr 13, 2025
1816bb7
use --enable-manager-legacy-ui cli arg instead of env variable
ltdrdata Apr 14, 2025
abfd856
Only load legacy FE extension if `--enable-manager-legacy-ui` is set …
christian-byrne Apr 14, 2025
09e8e87
Add `is_legacy_manager_ui` route from the `legacy` package as well (#…
christian-byrne Apr 15, 2025
0bb8947
Merge branch 'main' into draft-v4
ltdrdata Apr 21, 2025
0c46434
fixed: avoid `except:`
ltdrdata Apr 21, 2025
efff6b2
Merge branch 'main' into draft-v4
ltdrdata Apr 21, 2025
d638f75
modified: prevent displaying ComfyUI-Manager on list
ltdrdata Apr 21, 2025
7657c78
fixed: perform reload when starting task worker
ltdrdata Apr 22, 2025
9adf6de
fixed: missing channels.list.template
ltdrdata Apr 22, 2025
2048ac8
modified: glob.core - make default network mode as public.
ltdrdata Apr 23, 2025
db0b57a
Merge branch 'main' into draft-v4
ltdrdata Apr 23, 2025
d547a05
Merge branch 'main' into draft-v4
ltdrdata Apr 27, 2025
cd49799
fixed: crash related to deleted CNR node after installed
ltdrdata Apr 27, 2025
5612583
Merge branch 'main' into draft-v4
ltdrdata Apr 28, 2025
90ce448
Merge branch 'main' into draft-v4
ltdrdata May 12, 2025
ec9d52d
Merge branch 'main' into draft-v4
ltdrdata May 18, 2025
3546465
fixed: `cm_global` importing error
ltdrdata May 18, 2025
8303e7c
Merge branch 'main' into draft-v4
ltdrdata May 31, 2025
3870abf
Merge branch 'main' into draft-v4
ltdrdata Jun 9, 2025
601f1bf
[feat] Add client_id support to task queue system
christian-byrne Jun 6, 2025
c8882dc
[feat] Implement comprehensive batch tracking and OpenAPI-driven data…
christian-byrne Jun 8, 2025
7f1ebbe
[cleanup] Remove completed TODO comments and fix ruff issues
christian-byrne Jun 8, 2025
884b503
[feat] Add comprehensive Pydantic validation to all API endpoints
christian-byrne Jun 8, 2025
3afafdb
remove dist dir
christian-byrne Jun 9, 2025
0be0a2e
migrate to data models for all routes
christian-byrne Jun 13, 2025
b55e140
return installed pack list on status update
christian-byrne Jun 13, 2025
b73dc61
refresh cache before reporting status
christian-byrne Jun 13, 2025
4d89c69
add installed packs to openapi
christian-byrne Jun 13, 2025
98af8dc
add claude memory
christian-byrne Jun 13, 2025
1d575fb
[refactor] Replace non-standard OpenAPI validation with Redoc CLI
christian-byrne Jun 13, 2025
a59e6e1
[refactor] Remove redundant ExecutionStatus NamedTuple
christian-byrne Jun 13, 2025
706b6d8
[refactor] Remove legacy thread management for TaskQueue
christian-byrne Jun 13, 2025
2120a0a
[chore] Add dist/ to gitignore to exclude build artifacts
christian-byrne Jun 13, 2025
0148b5a
[fix] Fix OpenAPI validation errors for CI compliance
christian-byrne Jun 14, 2025
a96e7b1
[chore] Regenerate data models after OpenAPI fixes
christian-byrne Jun 14, 2025
7a73f5d
[fix] Update CI to only check changed files
christian-byrne Jun 14, 2025
b089db7
[fix] Restore proper thread-based TaskQueue worker management
christian-byrne Jun 14, 2025
c888ea6
[fix] Reduce excessive logging output to debug level
christian-byrne Jun 14, 2025
7e51286
Merge branch 'main' into draft-v4
ltdrdata Jun 16, 2025
1bdb026
explain glob vs legacy in claude memory
christian-byrne Jun 17, 2025
65f0764
fix duplicated schemas in openapi
christian-byrne Jun 17, 2025
32e0039
fix `files` description in api
christian-byrne Jun 17, 2025
f450dcb
[feat] Add SecurityLevel and RiskLevel enums to OpenAPI schema
christian-byrne Jun 17, 2025
350cb76
[feat] Regenerate data models with enhanced ComfyUISystemState
christian-byrne Jun 17, 2025
03ecda3
[feat] Implement comprehensive system state capture for batch records
christian-byrne Jun 17, 2025
14298b0
[fix] Remove unused imports to fix linting errors
christian-byrne Jun 17, 2025
d081db0
[cleanup] Remove dead code do_update_all function
christian-byrne Jun 17, 2025
ddc9cd0
[fix] Use tuples in TaskQueue heap for proper comparison support
christian-byrne Jun 17, 2025
e923434
[fix] Update client filtering to handle tuple structure in pending_tasks
christian-byrne Jun 17, 2025
f1b3c6b
[refactor] Move model utility functions to model_utils module
christian-byrne Jun 17, 2025
a4bf6bd
[refactor] Use Pydantic models for query parameter validation
christian-byrne Jun 17, 2025
15e3699
[cleanup] Remove outdated temp_queue_batch comment
christian-byrne Jun 17, 2025
ce3b2ba
refactor
christian-byrne Jun 17, 2025
e8fc053
[fix] Update data models to Pydantic v2 syntax to fix TypeError
christian-byrne Jun 17, 2025
d912fb0
[fix] Remove unused imports to fix Ruff linting errors
christian-byrne Jun 17, 2025
624ad4c
remove debug comments
christian-byrne Jun 19, 2025
d1ca628
apply formatting
christian-byrne Jun 19, 2025
7713337
[fix] Ensure batch history is written when queue becomes empty
christian-byrne Jun 21, 2025
75ecb31
add frontend version to system state capture
christian-byrne Jun 21, 2025
38fefde
add embedded python to system state
christian-byrne Jun 21, 2025
35d98dc
add batch_id to history task items
christian-byrne Jun 21, 2025
a66f86d
cleanup records older than 16 days
christian-byrne Jun 21, 2025
cb0fa58
Merge pull request #1915 from Comfy-Org/feat/implement-batch-tracking…
christian-byrne Jun 22, 2025
223d6da
Merge branch 'main' into draft-v4
ltdrdata Jun 24, 2025
89530fc
Merge branch 'main' into draft-v4
ltdrdata Jun 25, 2025
1de6f85
Merge branch 'main' into draft-v4
ltdrdata Jun 26, 2025
002e549
modified: security policy
ltdrdata Jun 26, 2025
43041ce
modified: Do not modify `generated_models.py` directly; use `openapi.…
ltdrdata Jun 27, 2025
ad79a2e
Merge branch 'main' into draft-v4
ltdrdata Jun 28, 2025
0431761
Merge branch 'main' into draft-v4
ltdrdata Jul 1, 2025
adbeb52
added: middleware manager for security policy
ltdrdata Jul 1, 2025
086040f
bump version
ltdrdata Jul 1, 2025
f4ce0fd
Merge branch 'main' into draft-v4
ltdrdata Jul 8, 2025
a0b0c2b
feat: initial implementation of middleware-based security policy
ltdrdata Jul 12, 2025
22725b0
add missing file
ltdrdata Jul 15, 2025
59264c1
Merge branch 'main' into draft-v4
ltdrdata Jul 20, 2025
cf8029e
Merge branch 'main' into draft-v4
ltdrdata Jul 24, 2025
6867616
Merge branch 'main' into draft-v4
ltdrdata Jul 25, 2025
a2a7349
Merge branch 'main' into draft-v4
ltdrdata Jul 27, 2025
5316ec1
Merge branch 'main' into draft-v4
ltdrdata Jul 29, 2025
121a5a1
As a temporary measure, the new UI will use the legacy/... backend st…
ltdrdata Jul 29, 2025
60746c6
[feat] Add bulk import failure info API endpoint (#2035)
viva-jinyi Jul 29, 2025
9c4d6a0
Merge branch 'main' into draft-v4
ltdrdata Jul 31, 2025
300c6e7
feat: Add Pydantic validation to import_fail_info_bulk endpoint
viva-jinyi Jul 31, 2025
f599bc2
Merge pull request #2047 from viva-jinyi/feat/pydantic-validation-bul…
christian-byrne Jul 31, 2025
648d7e7
Merge branch 'main' into draft-v4
ltdrdata Aug 11, 2025
10ff907
Merge branch 'main' into draft-v4
ltdrdata Aug 21, 2025
3d0bcf5
update workflow
ltdrdata Aug 21, 2025
a924c28
Update publish-to-pypi.yml
ltdrdata Aug 21, 2025
596dad5
Update publish-to-pypi.yml
ltdrdata Aug 21, 2025
68bc830
Update publish-to-pypi.yml
ltdrdata Aug 21, 2025
00fb9c8
modified: remove `matrix-nio` dependency from the `requirements.txt`
ltdrdata Aug 22, 2025
bdfb70a
bump version
ltdrdata Aug 24, 2025
b9a7d2a
Revert "As a temporary measure, the new UI will use the legacy/... ba…
viva-jinyi Aug 26, 2025
fbecbee
Merge pull request #2106 from viva-jinyi/revert-legacy-hardcoding
christian-byrne Aug 26, 2025
41be946
bump version
ltdrdata Aug 27, 2025
d970fe6
Merge branch 'main' into draft-v4
ltdrdata Sep 2, 2025
e13bf68
Fix JSON serialization error in bulk import fail info API (#2119)
viva-jinyi Sep 3, 2025
5378f0a
bump version
ltdrdata Sep 3, 2025
d779996
fixed: Issue where an invalid channel exception occurred when using t…
ltdrdata Sep 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
PYPI_TOKEN=your-pypi-token
70 changes: 70 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: CI

on:
push:
branches: [ main, feat/*, fix/* ]
pull_request:
branches: [ main ]

jobs:
validate-openapi:
name: Validate OpenAPI Specification
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Check if OpenAPI changed
id: openapi-changed
uses: tj-actions/changed-files@v44
with:
files: openapi.yaml

- name: Setup Node.js
if: steps.openapi-changed.outputs.any_changed == 'true'
uses: actions/setup-node@v4
with:
node-version: '18'

- name: Install Redoc CLI
if: steps.openapi-changed.outputs.any_changed == 'true'
run: |
npm install -g @redocly/cli

- name: Validate OpenAPI specification
if: steps.openapi-changed.outputs.any_changed == 'true'
run: |
redocly lint openapi.yaml

code-quality:
name: Code Quality Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for proper diff

- name: Get changed Python files
id: changed-py-files
uses: tj-actions/changed-files@v44
with:
files: |
**/*.py
files_ignore: |
comfyui_manager/legacy/**

- name: Setup Python
if: steps.changed-py-files.outputs.any_changed == 'true'
uses: actions/setup-python@v5
with:
python-version: '3.9'

- name: Install dependencies
if: steps.changed-py-files.outputs.any_changed == 'true'
run: |
pip install ruff

- name: Run ruff linting on changed files
if: steps.changed-py-files.outputs.any_changed == 'true'
run: |
echo "Changed files: ${{ steps.changed-py-files.outputs.all_changed_files }}"
echo "${{ steps.changed-py-files.outputs.all_changed_files }}" | xargs -r ruff check
30 changes: 15 additions & 15 deletions .github/workflows/publish-to-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
python-version: '3.x'

- name: Install build dependencies
run: |
Expand All @@ -31,28 +31,28 @@ jobs:
- name: Get current version
id: current_version
run: |
CURRENT_VERSION=$(grep -oP 'version = "\K[^"]+' pyproject.toml)
CURRENT_VERSION=$(grep -oP '^version = "\K[^"]+' pyproject.toml)
echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
echo "Current version: $CURRENT_VERSION"

- name: Build package
run: python -m build

- name: Create GitHub Release
id: create_release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: dist/*
tag_name: v${{ steps.current_version.outputs.version }}
draft: false
prerelease: false
generate_release_notes: true
# - name: Create GitHub Release
# id: create_release
# uses: softprops/action-gh-release@v2
# env:
# GITHUB_TOKEN: ${{ github.token }}
# with:
# files: dist/*
# tag_name: v${{ steps.current_version.outputs.version }}
# draft: false
# prerelease: false
# generate_release_notes: true

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc
with:
password: ${{ secrets.PYPI_TOKEN }}
skip-existing: true
verbose: true
verbose: true
25 changes: 0 additions & 25 deletions .github/workflows/publish.yml

This file was deleted.

6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,8 @@ github-stats-cache.json
pip_overrides.json
*.json
check2.sh
/venv/
/venv/
build
dist
*.egg-info
.env
47 changes: 47 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
## Testing Changes

1. Activate the ComfyUI environment.

2. Build package locally after making changes.

```bash
# from inside the ComfyUI-Manager directory, with the ComfyUI environment activated
python -m build
```

3. Install the package locally in the ComfyUI environment.

```bash
# Uninstall existing package
pip uninstall comfyui-manager

# Install the locale package
pip install dist/comfyui-manager-*.whl
```

4. Start ComfyUI.

```bash
# after navigating to the ComfyUI directory
python main.py
```

## Manually Publish Test Version to PyPi

1. Set the `PYPI_TOKEN` environment variable in env file.

2. If manually publishing, you likely want to use a release candidate version, so set the version in [pyproject.toml](pyproject.toml) to something like `0.0.1rc1`.

3. Build the package.

```bash
python -m build
```

4. Upload the package to PyPi.

```bash
python -m twine upload dist/* --username __token__ --password $PYPI_TOKEN
```

5. View at https://pypi.org/project/comfyui-manager/
14 changes: 14 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
include comfyui_manager/js/*
include comfyui_manager/*.json
include comfyui_manager/glob/*
include LICENSE.txt
include README.md
include requirements.txt
include pyproject.toml
include custom-node-list.json
include extension-node-list.json
include extras.json
include github-stats.json
include model-list.json
include alter-list.json
include comfyui_manager/channels.list.template
Loading
Loading