- move workflows to distinct json files
- add the comfy-org workflows for testing
- fix issues where workflows from windows users would not be compatible
with backends running on linux or macos in light of separator
differences. Because this codebase uses get_or_download wherever
checkpoints, models, etc. are used, this is the only place where the
comparison is gracefully handled for downloading. Validation code
will correctly convert backslashes to forward slashes, assuming that
100% of the places they are used and when comparing with a list, they
are intended to be paths and not strict symbols
- Tests now perform faster
- Tests will run on supported GPU platforms
- Configuration has known issues related to setting up a working
directory for an embedded client
- Introduce a Skeletonize node that solves many problems with Canny
- Improve behavior of exception reporting
Previously, dependency cycles that were created during node expansion
would cause the application to quit (due to an uncaught exception). Now,
we'll throw a proper error to the UI. We also make an attempt to 'blame'
the most relevant node in the UI.
Additionally, if `VALIDATE_INPUTS` takes an argument named `input_types`,
that variable will be a dictionary of the socket type of all incoming
connections. If that argument exists, normal socket type validation will
not occur. This removes the last hurdle for enabling variant types
entirely from custom nodes, so I've removed that command-line option.
I've added appropriate unit tests for these changes.
- Run comfyui workflows directly inside other python applications using
EmbeddedComfyClient.
- Optional telemetry in prompts and models using anonymity preserving
Plausible self-hosted or hosted.
- Better OpenAPI schema
- Basic support for distributed ComfyUI backends. Limitations: no
progress reporting, no easy way to start your own distributed
backend, requires RabbitMQ as a message broker.
* Add inference tests
* Clean up
* Rename test graph file
* Add readme for tests
* Separate server fixture
* test file name change
* Assert images are generated
* Clean up comments
* Add __init__.py so tests can run with command line `pytest`
* Fix command line args for pytest
* Loop all samplers/schedulers in test_inference.py
* Ci quality workflows compare (#1)
* Add image comparison tests
* Comparison tests do not pass with empty metadata
* Ensure tests are run in correct order
* Save image files with test name
* Update tests readme
* Reduce step counts in tests to ~halve runtime
* Ci quality workflows build (#2)
* Add build test github workflow