Skip to content

Commit b6c1a1b

Browse files
committed
Fix some deprecated types
1 parent 84d41e4 commit b6c1a1b

7 files changed

Lines changed: 34 additions & 38 deletions

File tree

‎modules/api/api.py‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from modules.sd_models_config import find_checkpoint_config_near_filename
3030
from modules.realesrgan_model import get_realesrgan_models
3131
from modules import devices
32-
from typing import Dict, List, Any
32+
from typing import Any
3333
import piexif
3434
import piexif.helper
3535
from contextlib import closing
@@ -221,15 +221,15 @@ def __init__(self, app: FastAPI, queue_lock: Lock):
221221
self.add_api_route("/sdapi/v1/options", self.get_config, methods=["GET"], response_model=models.OptionsModel)
222222
self.add_api_route("/sdapi/v1/options", self.set_config, methods=["POST"])
223223
self.add_api_route("/sdapi/v1/cmd-flags", self.get_cmd_flags, methods=["GET"], response_model=models.FlagsModel)
224-
self.add_api_route("/sdapi/v1/samplers", self.get_samplers, methods=["GET"], response_model=List[models.SamplerItem])
225-
self.add_api_route("/sdapi/v1/upscalers", self.get_upscalers, methods=["GET"], response_model=List[models.UpscalerItem])
226-
self.add_api_route("/sdapi/v1/latent-upscale-modes", self.get_latent_upscale_modes, methods=["GET"], response_model=List[models.LatentUpscalerModeItem])
227-
self.add_api_route("/sdapi/v1/sd-models", self.get_sd_models, methods=["GET"], response_model=List[models.SDModelItem])
228-
self.add_api_route("/sdapi/v1/sd-vae", self.get_sd_vaes, methods=["GET"], response_model=List[models.SDVaeItem])
229-
self.add_api_route("/sdapi/v1/hypernetworks", self.get_hypernetworks, methods=["GET"], response_model=List[models.HypernetworkItem])
230-
self.add_api_route("/sdapi/v1/face-restorers", self.get_face_restorers, methods=["GET"], response_model=List[models.FaceRestorerItem])
231-
self.add_api_route("/sdapi/v1/realesrgan-models", self.get_realesrgan_models, methods=["GET"], response_model=List[models.RealesrganItem])
232-
self.add_api_route("/sdapi/v1/prompt-styles", self.get_prompt_styles, methods=["GET"], response_model=List[models.PromptStyleItem])
224+
self.add_api_route("/sdapi/v1/samplers", self.get_samplers, methods=["GET"], response_model=list[models.SamplerItem])
225+
self.add_api_route("/sdapi/v1/upscalers", self.get_upscalers, methods=["GET"], response_model=list[models.UpscalerItem])
226+
self.add_api_route("/sdapi/v1/latent-upscale-modes", self.get_latent_upscale_modes, methods=["GET"], response_model=list[models.LatentUpscalerModeItem])
227+
self.add_api_route("/sdapi/v1/sd-models", self.get_sd_models, methods=["GET"], response_model=list[models.SDModelItem])
228+
self.add_api_route("/sdapi/v1/sd-vae", self.get_sd_vaes, methods=["GET"], response_model=list[models.SDVaeItem])
229+
self.add_api_route("/sdapi/v1/hypernetworks", self.get_hypernetworks, methods=["GET"], response_model=list[models.HypernetworkItem])
230+
self.add_api_route("/sdapi/v1/face-restorers", self.get_face_restorers, methods=["GET"], response_model=list[models.FaceRestorerItem])
231+
self.add_api_route("/sdapi/v1/realesrgan-models", self.get_realesrgan_models, methods=["GET"], response_model=list[models.RealesrganItem])
232+
self.add_api_route("/sdapi/v1/prompt-styles", self.get_prompt_styles, methods=["GET"], response_model=list[models.PromptStyleItem])
233233
self.add_api_route("/sdapi/v1/embeddings", self.get_embeddings, methods=["GET"], response_model=models.EmbeddingsResponse)
234234
self.add_api_route("/sdapi/v1/refresh-checkpoints", self.refresh_checkpoints, methods=["POST"])
235235
self.add_api_route("/sdapi/v1/refresh-vae", self.refresh_vae, methods=["POST"])
@@ -242,8 +242,8 @@ def __init__(self, app: FastAPI, queue_lock: Lock):
242242
self.add_api_route("/sdapi/v1/unload-checkpoint", self.unloadapi, methods=["POST"])
243243
self.add_api_route("/sdapi/v1/reload-checkpoint", self.reloadapi, methods=["POST"])
244244
self.add_api_route("/sdapi/v1/scripts", self.get_scripts_list, methods=["GET"], response_model=models.ScriptsList)
245-
self.add_api_route("/sdapi/v1/script-info", self.get_script_info, methods=["GET"], response_model=List[models.ScriptInfo])
246-
self.add_api_route("/sdapi/v1/extensions", self.get_extensions_list, methods=["GET"], response_model=List[models.ExtensionItem])
245+
self.add_api_route("/sdapi/v1/script-info", self.get_script_info, methods=["GET"], response_model=list[models.ScriptInfo])
246+
self.add_api_route("/sdapi/v1/extensions", self.get_extensions_list, methods=["GET"], response_model=list[models.ExtensionItem])
247247

248248
if shared.cmd_opts.api_server_stop:
249249
self.add_api_route("/sdapi/v1/server-kill", self.kill_webui, methods=["POST"])
@@ -563,7 +563,7 @@ def get_config(self):
563563

564564
return options
565565

566-
def set_config(self, req: Dict[str, Any]):
566+
def set_config(self, req: dict[str, Any]):
567567
checkpoint_name = req.get("sd_model_checkpoint", None)
568568
if checkpoint_name is not None and checkpoint_name not in checkpoint_aliases:
569569
raise RuntimeError(f"model {checkpoint_name!r} not found")

‎modules/api/models.py‎

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import inspect
22

33
from pydantic import BaseModel, Field, create_model
4-
from typing import Any, Optional
5-
from typing_extensions import Literal
4+
from typing import Any, Optional, Literal
65
from inflection import underscore
76
from modules.processing import StableDiffusionProcessingTxt2Img, StableDiffusionProcessingImg2Img
87
from modules.shared import sd_upscalers, opts, parser
9-
from typing import Dict, List
108

119
API_NOT_ALLOWED = [
1210
"self",
@@ -130,12 +128,12 @@ def generate_model(self):
130128
).generate_model()
131129

132130
class TextToImageResponse(BaseModel):
133-
images: List[str] = Field(default=None, title="Image", description="The generated image in base64 format.")
131+
images: list[str] = Field(default=None, title="Image", description="The generated image in base64 format.")
134132
parameters: dict
135133
info: str
136134

137135
class ImageToImageResponse(BaseModel):
138-
images: List[str] = Field(default=None, title="Image", description="The generated image in base64 format.")
136+
images: list[str] = Field(default=None, title="Image", description="The generated image in base64 format.")
139137
parameters: dict
140138
info: str
141139

@@ -168,10 +166,10 @@ class FileData(BaseModel):
168166
name: str = Field(title="File name")
169167

170168
class ExtrasBatchImagesRequest(ExtrasBaseRequest):
171-
imageList: List[FileData] = Field(title="Images", description="List of images to work on. Must be Base64 strings")
169+
imageList: list[FileData] = Field(title="Images", description="List of images to work on. Must be Base64 strings")
172170

173171
class ExtrasBatchImagesResponse(ExtraBaseResponse):
174-
images: List[str] = Field(title="Images", description="The generated images in base64 format.")
172+
images: list[str] = Field(title="Images", description="The generated images in base64 format.")
175173

176174
class PNGInfoRequest(BaseModel):
177175
image: str = Field(title="Image", description="The base64 encoded PNG image")
@@ -233,8 +231,8 @@ class PreprocessResponse(BaseModel):
233231

234232
class SamplerItem(BaseModel):
235233
name: str = Field(title="Name")
236-
aliases: List[str] = Field(title="Aliases")
237-
options: Dict[str, str] = Field(title="Options")
234+
aliases: list[str] = Field(title="Aliases")
235+
options: dict[str, str] = Field(title="Options")
238236

239237
class UpscalerItem(BaseModel):
240238
name: str = Field(title="Name")
@@ -285,8 +283,8 @@ class EmbeddingItem(BaseModel):
285283
vectors: int = Field(title="Vectors", description="The number of vectors in the embedding")
286284

287285
class EmbeddingsResponse(BaseModel):
288-
loaded: Dict[str, EmbeddingItem] = Field(title="Loaded", description="Embeddings loaded for the current model")
289-
skipped: Dict[str, EmbeddingItem] = Field(title="Skipped", description="Embeddings skipped for the current model (likely due to architecture incompatibility)")
286+
loaded: dict[str, EmbeddingItem] = Field(title="Loaded", description="Embeddings loaded for the current model")
287+
skipped: dict[str, EmbeddingItem] = Field(title="Skipped", description="Embeddings skipped for the current model (likely due to architecture incompatibility)")
290288

291289
class MemoryResponse(BaseModel):
292290
ram: dict = Field(title="RAM", description="System memory stats")
@@ -304,14 +302,14 @@ class ScriptArg(BaseModel):
304302
minimum: Optional[Any] = Field(default=None, title="Minimum", description="Minimum allowed value for the argumentin UI")
305303
maximum: Optional[Any] = Field(default=None, title="Minimum", description="Maximum allowed value for the argumentin UI")
306304
step: Optional[Any] = Field(default=None, title="Minimum", description="Step for changing value of the argumentin UI")
307-
choices: Optional[List[str]] = Field(default=None, title="Choices", description="Possible values for the argument")
305+
choices: Optional[list[str]] = Field(default=None, title="Choices", description="Possible values for the argument")
308306

309307

310308
class ScriptInfo(BaseModel):
311309
name: str = Field(default=None, title="Name", description="Script name")
312310
is_alwayson: bool = Field(default=None, title="IsAlwayson", description="Flag specifying whether this script is an alwayson script")
313311
is_img2img: bool = Field(default=None, title="IsImg2img", description="Flag specifying whether this script is an img2img script")
314-
args: List[ScriptArg] = Field(title="Arguments", description="List of script's arguments")
312+
args: list[ScriptArg] = Field(title="Arguments", description="List of script's arguments")
315313

316314
class ExtensionItem(BaseModel):
317315
name: str = Field(title="Name", description="Extension name")

‎modules/gitpython_hack.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def get_object_header(self, ref: str | bytes) -> tuple[str, str, int]:
2323
)
2424
return self._parse_object_header(ret)
2525

26-
def stream_object_data(self, ref: str) -> tuple[str, str, int, "Git.CatFileContentStream"]:
26+
def stream_object_data(self, ref: str) -> tuple[str, str, int, Git.CatFileContentStream]:
2727
# Not really streaming, per se; this buffers the entire object in memory.
2828
# Shouldn't be a problem for our use case, since we're only using this for
2929
# object headers (commit objects).

‎modules/prompt_parser.py‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import re
44
from collections import namedtuple
5-
from typing import List
65
import lark
76

87
# a prompt like this: "fantasy landscape with a [mountain:lake:0.25] and [an oak:a christmas tree:0.75][ in foreground::0.6][ in background:0.25] [shoddy:masterful:0.5]"
@@ -240,14 +239,14 @@ def get_multicond_prompt_list(prompts: SdConditioning | list[str]):
240239

241240
class ComposableScheduledPromptConditioning:
242241
def __init__(self, schedules, weight=1.0):
243-
self.schedules: List[ScheduledPromptConditioning] = schedules
242+
self.schedules: list[ScheduledPromptConditioning] = schedules
244243
self.weight: float = weight
245244

246245

247246
class MulticondLearnedConditioning:
248247
def __init__(self, shape, batch):
249248
self.shape: tuple = shape # the shape field is needed to send this object to DDIM/PLMS
250-
self.batch: List[List[ComposableScheduledPromptConditioning]] = batch
249+
self.batch: list[list[ComposableScheduledPromptConditioning]] = batch
251250

252251

253252
def get_multicond_learned_conditioning(model, prompts, steps, hires_steps=None, use_old_scheduling=False) -> MulticondLearnedConditioning:
@@ -278,7 +277,7 @@ def shape(self):
278277
return self["crossattn"].shape
279278

280279

281-
def reconstruct_cond_batch(c: List[List[ScheduledPromptConditioning]], current_step):
280+
def reconstruct_cond_batch(c: list[list[ScheduledPromptConditioning]], current_step):
282281
param = c[0][0].cond
283282
is_dict = isinstance(param, dict)
284283

‎modules/script_callbacks.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import inspect
22
import os
33
from collections import namedtuple
4-
from typing import Optional, Dict, Any
4+
from typing import Optional, Any
55

66
from fastapi import FastAPI
77
from gradio import Blocks
@@ -255,7 +255,7 @@ def image_grid_callback(params: ImageGridLoopParams):
255255
report_exception(c, 'image_grid')
256256

257257

258-
def infotext_pasted_callback(infotext: str, params: Dict[str, Any]):
258+
def infotext_pasted_callback(infotext: str, params: dict[str, Any]):
259259
for c in callback_map['callbacks_infotext_pasted']:
260260
try:
261261
c.callback(infotext, params)
@@ -446,7 +446,7 @@ def on_infotext_pasted(callback):
446446
"""register a function to be called before applying an infotext.
447447
The callback is called with two arguments:
448448
- infotext: str - raw infotext.
449-
- result: Dict[str, any] - parsed infotext parameters.
449+
- result: dict[str, any] - parsed infotext parameters.
450450
"""
451451
add_callback(callback_map['callbacks_infotext_pasted'], callback)
452452

‎modules/sub_quadratic_attention.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from torch import Tensor
1616
from torch.utils.checkpoint import checkpoint
1717
import math
18-
from typing import Optional, NamedTuple, List
18+
from typing import Optional, NamedTuple
1919

2020

2121
def narrow_trunc(
@@ -97,7 +97,7 @@ def chunk_scanner(chunk_idx: int) -> AttnChunk:
9797
)
9898
return summarize_chunk(query, key_chunk, value_chunk)
9999

100-
chunks: List[AttnChunk] = [
100+
chunks: list[AttnChunk] = [
101101
chunk_scanner(chunk) for chunk in torch.arange(0, k_tokens, kv_chunk_size)
102102
]
103103
acc_chunk = AttnChunk(*map(torch.stack, zip(*chunks)))

‎modules/ui.py‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1338,7 +1338,6 @@ def versions_html():
13381338

13391339
def setup_ui_api(app):
13401340
from pydantic import BaseModel, Field
1341-
from typing import List
13421341

13431342
class QuicksettingsHint(BaseModel):
13441343
name: str = Field(title="Name of the quicksettings field")
@@ -1347,7 +1346,7 @@ class QuicksettingsHint(BaseModel):
13471346
def quicksettings_hint():
13481347
return [QuicksettingsHint(name=k, label=v.label) for k, v in opts.data_labels.items()]
13491348

1350-
app.add_api_route("/internal/quicksettings-hint", quicksettings_hint, methods=["GET"], response_model=List[QuicksettingsHint])
1349+
app.add_api_route("/internal/quicksettings-hint", quicksettings_hint, methods=["GET"], response_model=list[QuicksettingsHint])
13511350

13521351
app.add_api_route("/internal/ping", lambda: {}, methods=["GET"])
13531352

0 commit comments

Comments
 (0)