diff --git a/.ruff.toml b/.ruff.toml
index 321c6396a..fbd4e0b50 100644
--- a/.ruff.toml
+++ b/.ruff.toml
@@ -16,6 +16,7 @@ exclude = [
"modules/intel/openvino",
"modules/intel/ipex",
"modules/dml",
+ "modules/segmoe",
"modules/control/proc",
"modules/control/units",
"repositories",
@@ -53,11 +54,18 @@ select = [
]
ignore = [
"B006", # Do not use mutable data structures for argument defaults
+ "B008", # Do not perform function call in argument defaults
+ "C408", # Unnecessary `dict` call
"I001", # Import block is un-sorted or un-formatted
"E402", # Module level import not at top of file
"E501", # Line too long
"E721", # Do not compare types, use `isinstance()`
"E731", # Do not assign a `lambda` expression, use a `def`
+ "E741", # Ambiguous variable name
+ "F401", # Imported by unused
+ "RUF005", # Consider iterable unpacking
+ "RUF010", # Use explicit conversion flag
+ "RUF012", # Mutable class attributes
"RUF013", # PEP 484 prohibits implicit `Optional`
]
fixable = ["ALL"]
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 87bb975dc..4c95c9c72 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
# Change Log for SD.Next
-## Update for 2024-05-24
+## Update for 2024-05-27
- **Features**:
- **ModernUI** preview of the new [ModernUI](https://github.com/BinaryQuantumSoul/sdnext-modernui)
diff --git a/TODO.md b/TODO.md
index fddc272ed..28236a7be 100644
--- a/TODO.md
+++ b/TODO.md
@@ -2,17 +2,9 @@
Main ToDo list can be found at [GitHub projects](https://github.com/users/vladmandic/projects)
-## Pending
-
-Requires `diffusers-0.28.0.dev0`:
-- PixArt-Σ
-- IP adapter masking
-- InstantStyle
-- Sampler timesteps
-
## Dev Release Notes
-New [SD.Next](https://github.com/vladmandic/automatic) release has been baking in `dev` for a longer than usual, but changes are massive - over 330 commits...
+New [SD.Next](https://github.com/vladmandic/automatic) release has been baking in `dev` for a longer than usual, but changes are massive - about 350 commits for core and 300 for UI...
Starting with the new UI - yup, this version ships with a *preview* of the new [ModernUI](https://github.com/BinaryQuantumSoul/sdnext-modernui)
For details on how to enable and use it, see [Home](https://github.com/BinaryQuantumSoul/sdnext-modernui) and [WiKi](https://github.com/vladmandic/automatic/wiki/Themes)
diff --git a/extensions-builtin/Lora/network.py b/extensions-builtin/Lora/network.py
index d0bad3c59..9558047d9 100644
--- a/extensions-builtin/Lora/network.py
+++ b/extensions-builtin/Lora/network.py
@@ -121,7 +121,7 @@ class NetworkModule:
return updown * self.calc_scale() * self.multiplier(), ex_bias
def calc_updown(self, target):
- raise NotImplementedError()
+ raise NotImplementedError
def forward(self, x, y):
- raise NotImplementedError()
+ raise NotImplementedError
diff --git a/extensions-builtin/Lora/network_overrides.py b/extensions-builtin/Lora/network_overrides.py
index d180cc509..a7f56327f 100644
--- a/extensions-builtin/Lora/network_overrides.py
+++ b/extensions-builtin/Lora/network_overrides.py
@@ -2,7 +2,7 @@ from modules import shared
force_diffusers = [
- 'aaebf6360f7d', # sd15-lcm
+ 'aaebf6360f7d', # sd15-lcm
'3d18b05e4f56', # sdxl-lcm
'b71dcb732467', # sdxl-tcd
'813ea5fb1c67', # sdxl-turbo
@@ -24,7 +24,7 @@ def check_override(shorthash):
return False
if len(shorthash) < 4:
return False
- force = any([x.startswith(shorthash) for x in force_diffusers])
+ force = any(x.startswith(shorthash) for x in force_diffusers)
if force:
shared.log.debug('LoRA override: force diffusers')
return force
diff --git a/extensions-builtin/Lora/scripts/lora_script.py b/extensions-builtin/Lora/scripts/lora_script.py
index 4bda68638..7507d4885 100644
--- a/extensions-builtin/Lora/scripts/lora_script.py
+++ b/extensions-builtin/Lora/scripts/lora_script.py
@@ -1,6 +1,6 @@
import re
import networks
-import lora # noqa:F401 # pylint: disable=unused-import
+import lora # pylint: disable=unused-import
from network import NetworkOnDisk
from ui_extra_networks_lora import ExtraNetworksPageLora
from extra_networks_lora import ExtraNetworkLora
diff --git a/extensions-builtin/Lora/ui_extra_networks_lora.py b/extensions-builtin/Lora/ui_extra_networks_lora.py
index 2ce4a0cad..1c172ddbf 100644
--- a/extensions-builtin/Lora/ui_extra_networks_lora.py
+++ b/extensions-builtin/Lora/ui_extra_networks_lora.py
@@ -81,7 +81,7 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
possible_tags = info.get('tags', []) # tags from info json
if not isinstance(possible_tags, list):
- possible_tags = [v for v in possible_tags.values()]
+ possible_tags = list(possible_tags.values())
for tag in possible_tags:
tag = tag.strip().lower()
if tag not in tags:
@@ -90,7 +90,7 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
bad_chars = [';', ':', '<', ">", "*", '?', '\'', '\"', '(', ')', '[', ']', '{', '}', '\\', '/']
clean_tags = {}
for k, v in tags.items():
- tag = ''.join(i for i in k if not i in bad_chars).strip()
+ tag = ''.join(i for i in k if i not in bad_chars).strip()
clean_tags[tag] = v
clean_tags.pop('img', None)
diff --git a/extensions-builtin/sd-extension-chainner b/extensions-builtin/sd-extension-chainner
index 425d9cd15..d77ddcf7c 160000
--- a/extensions-builtin/sd-extension-chainner
+++ b/extensions-builtin/sd-extension-chainner
@@ -1 +1 @@
-Subproject commit 425d9cd15e5e0696550e63263c5a1c6843073db9
+Subproject commit d77ddcf7c0c81221f94bb4bc58de1d333c17b84c
diff --git a/extensions-builtin/sd-extension-system-info b/extensions-builtin/sd-extension-system-info
index 4023d2b06..2b9986c5c 160000
--- a/extensions-builtin/sd-extension-system-info
+++ b/extensions-builtin/sd-extension-system-info
@@ -1 +1 @@
-Subproject commit 4023d2b06cb1d40388169392de010af3f115fc14
+Subproject commit 2b9986c5c2498f4de938e17c90617b0d38e2023b
diff --git a/extensions-builtin/sdnext-modernui b/extensions-builtin/sdnext-modernui
index 80772e0dd..bd34fd913 160000
--- a/extensions-builtin/sdnext-modernui
+++ b/extensions-builtin/sdnext-modernui
@@ -1 +1 @@
-Subproject commit 80772e0dd0907506541b31a3d19c451cde33418e
+Subproject commit bd34fd913059b978b41128b896a2d4a66f79ab80
diff --git a/modules/prompt_parser.py b/modules/prompt_parser.py
index 9231a2889..ff66162e2 100644
--- a/modules/prompt_parser.py
+++ b/modules/prompt_parser.py
@@ -279,10 +279,10 @@ def parse_prompt_attention(text):
(abc) - increases attention to abc by a multiplier of 1.1
(abc:3.12) - increases attention to abc by a multiplier of 3.12
[abc] - decreases attention to abc by a multiplier of 1.1
- \( - literal character '('
- \[ - literal character '['
- \) - literal character ')'
- \] - literal character ']'
+ ( - literal character '('
+ [ - literal character '['
+ ) - literal character ')'
+ ] - literal character ']'
\\ - literal character '\'
anything else - just text
>>> parse_prompt_attention('normal text')
@@ -291,7 +291,7 @@ def parse_prompt_attention(text):
[['an ', 1.0], ['important', 1.1], [' word', 1.0]]
>>> parse_prompt_attention('(unbalanced')
[['unbalanced', 1.1]]
- >>> parse_prompt_attention('\(literal\]')
+ >>> parse_prompt_attention('(literal]')
[['(literal]', 1.0]]
>>> parse_prompt_attention('(unnecessary)(parens)')
[['unnecessaryparens', 1.1]]
diff --git a/modules/ui_img2img.py b/modules/ui_img2img.py
index 334897f12..c8d82358a 100644
--- a/modules/ui_img2img.py
+++ b/modules/ui_img2img.py
@@ -100,11 +100,7 @@ def create_ui():
with gr.TabItem('Batch', id='batch', elem_id="img2img_batch_tab") as tab_batch:
hidden = '
Disabled when launched with --hide-ui-dir-config.' if shared.cmd_opts.hide_ui_dir_config else ''
- gr.HTML(
- "
Upload images or process images in a directory" +
- "
Add inpaint batch mask directory to enable inpaint batch processing"
- f"{hidden}
Upload images or process images in a directory
Add inpaint batch mask directory to enable inpaint batch processing {hidden}