Compare commits

..
Author SHA1 Message Date
asagi4 9857c662af tests: COUPLE mask shortcut 2026-02-02 19:33:34 +02:00
asagi4 32f18ef338 Tests for step count 2026-02-02 19:26:13 +02:00
asagi4 d86d9f902c test: Verify that basic paren escapes don't get stripped 2026-02-02 19:26:13 +02:00
asagi4 f600b1ef90 Fix type complaint 2026-02-02 19:26:13 +02:00
asagi4 72484d1034 test only new parser 2026-02-02 19:26:13 +02:00
asagi4 e7b444316f Test multiple averages 2026-02-02 19:26:13 +02:00
asagi4 b9db1c7c4c Make github tests work again 2026-02-02 19:26:13 +02:00
asagi4 3ee001a3fa Disable method override complaint 2026-02-02 19:26:13 +02:00
asagi4 3fcd708dc6 Working importing for v3 nodes 2026-02-02 19:26:13 +02:00
asagi4 cb5ef8d97a v3: nodes_lazy.py 2026-02-02 19:26:13 +02:00
asagi4 24fe09ba4e v3: nodes_tools 2026-02-02 19:26:13 +02:00
asagi4 1c7149a811 v3: nodes_hooks.py 2026-02-02 19:26:13 +02:00
asagi4 b01bdc3d50 v3: nodes_base.py 2026-02-02 19:26:13 +02:00
asagi4 5ffd94d7d2 Initial v3 migration 2026-02-02 19:26:13 +02:00
asagi4 a433b246a7 handle setting steps 2026-02-02 19:26:13 +02:00
asagi4 bdd0c62665 parsy ruff fixes 2026-02-02 19:26:13 +02:00
asagi4 1c763f743c parsy loractl 2026-02-02 19:23:55 +02:00
asagi4 c223603100 simplify LoRA weight parsing 2026-02-02 19:23:55 +02:00
asagi4 c9efa87291 Rewrite parser to use parsy 2026-02-02 19:23:50 +02:00
asagi4 e15d4d693c Remove broken expand_graph.py 2026-02-02 19:19:21 +02:00
asagi4 26d5bfc961 Split cutoff parser to its own file 2026-02-02 19:19:21 +02:00
asagi4 cdb6c418eb split macros out of parser 2026-02-02 19:19:21 +02:00
asagi4 dc08fa93b7 Fix NOISE doing nothing 2026-02-02 19:19:21 +02:00
asagi4 e29f3ca2d0 Fix github workflows 2026-02-02 19:19:21 +02:00
asagi4 ee186a73e5 Remove old tests 2026-02-02 19:19:17 +02:00
asagi4 7440b309fc Fix LazyLoraLoader tests 2026-02-02 19:18:36 +02:00
asagi4 2ccc697311 Test for discovered corner case behaviour 2026-02-02 19:18:36 +02:00
asagi4 4559060535 Add a graph test for alternating 2026-02-02 19:18:36 +02:00
asagi4 60ceddbd73 Refactor tests for new parser 2026-02-02 19:18:36 +02:00
asagi4 6fd28cfca7 Use pytest tests 2026-02-02 19:18:36 +02:00
asagi4 11b1313ed4 Convert tests to pytest
Not 100% sure these fully work yet
2026-02-02 19:18:36 +02:00
asagi4 9be7133e48 Ruff fixes etc. 2026-02-02 19:18:36 +02:00
asagi4 22e78f08eb Typing fixes etc 2026-02-02 19:18:36 +02:00
asagi4 39befe2a34 Remove cache hack, it's broken anyway 2026-02-02 19:18:36 +02:00
asagi4 ea9017862f Add ruff and ty 2026-02-02 19:18:36 +02:00
asagi4 6ae6cf0d65 Add pyright 2026-02-02 19:18:36 +02:00
4 changed files with 14 additions and 11 deletions
+9 -8
View File
@@ -6,12 +6,6 @@ Prompt Control comes with `PCTextEncode`, which provides advanced text encoding
A `Basic Text to Image` template is included with the extension, and can be loaded from ComfyUI's template library.
> [!NOTE]
> v3.0.0 is backwards compatible with existing workflows, but requires at least ComfyUI v0.8.0
> The parser was rewritten using parsy. It is intended to have the same behaviour as the old parser, but is **significantly** faster.
> Please report any bugs or incompatibilities you find.
## What can it do?
You can use text prompts to control the following:
@@ -40,9 +34,16 @@ If you encounter issues as a user or if you're a node developer and Prompt Contr
## Requirements
The v3 node schema uses features that require at least ComfyUI v0.8.0
For LoRA scheduling to work, you'll need at least version 0.3.7 of ComfyUI (0.3.36 of ComfyUI desktop).
If you run into problems, update ComfyUI first.
You need to have `lark` installed in your Python environment for parsing to work (If you reuse A1111's venv, it'll already be there).
If you use the portable version of ComfyUI on Windows with its embedded Python, you must open a terminal in the ComfyUI installation directory and run the command:
```
.\python_embeded\python.exe -m pip install lark
```
Then restart ComfyUI afterwards.
# Core nodes
+2 -2
View File
@@ -12,8 +12,8 @@ from comfy_execution.graph_utils import GraphBuilder
from .utils import consolidate_schedule, find_nonscheduled_loras, get_function
log = logging.getLogger("comfyui-prompt-control")
if os.environ.get("PC_USE_OLD_PARSER", "0") != "0":
log.info("Using new parser implementation. Set PC_USE_OLD_PARSER=1 to use old parser instead")
if os.environ.get("PC_USE_NEW_PARSER", "0") == "1":
log.info("Using new parsy parser")
from .parser_parsy import parse_prompt_schedules as parse_prompt_schedules
else:
from .parser import parse_prompt_schedules
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "comfyui-prompt-control"
description = "Provides nodes for prompt editing and LoRA scheduling, advanced regional prompting (including attention masking) and more, all controlled through your text prompt"
version = "3.0.0-beta.1"
version = "2.1.2"
license = { file = "LICENSE" }
# some lark versions older than 1.1.9 apparently have a bug that breaks things, see https://github.com/asagi4/comfyui-prompt-control/issues/35
dependencies = ["lark >= 1.1.9"]
+2
View File
@@ -0,0 +1,2 @@
# some lark versions older than 1.1.9 apparently have a bug that breaks things, see https://github.com/asagi4/comfyui-prompt-control/issues/35
lark >= 1.1.9