feat: rename ui_type_hint to ui_type

Just a bit more succinct while not losing any clarity.
This commit is contained in:
psychedelicious
2023-08-15 21:45:40 +10:00
parent 18006cab9a
commit fa884134d9
13 changed files with 66 additions and 66 deletions

View File

@ -90,7 +90,7 @@ class Input(str, Enum):
Any = "any"
class UITypeHint(str, Enum):
class UIType(str, Enum):
"""
Type hints for the UI.
If a field should be provided a data type that does not exactly match the python type of the field, \
@ -164,7 +164,7 @@ class _InputField(BaseModel):
input: Input
ui_hidden: bool
ui_type_hint: Optional[UITypeHint]
ui_type: Optional[UIType]
ui_component: Optional[UIComponent]
@ -177,7 +177,7 @@ class _OutputField(BaseModel):
"""
ui_hidden: bool
ui_type_hint: Optional[UITypeHint]
ui_type: Optional[UIType]
def InputField(
@ -208,7 +208,7 @@ def InputField(
discriminator: Optional[str] = None,
repr: bool = True,
input: Input = Input.Any,
ui_type_hint: Optional[UITypeHint] = None,
ui_type: Optional[UIType] = None,
ui_component: Optional[UIComponent] = None,
ui_hidden: bool = False,
**kwargs: Any,
@ -224,12 +224,12 @@ def InputField(
`Input.Connection` means the value must be provided by a connection. \
`Input.Any` means either will do.
:param UITypeHint ui_type_hint: [None] Optionally provides an extra type hint for the UI. \
:param UIType ui_type: [None] Optionally provides an extra type hint for the UI. \
In some situations, the field's type is not enough to infer the correct UI type. \
For example, model selection fields should render a dropdown UI component to select a model. \
Internally, there is no difference between SD-1, SD-2 and SDXL model fields, they all use \
`MainModelField`. So to ensure the base-model-specific UI is rendered, you can use \
`UITypeHint.SDXLMainModelField` to indicate that the field is an SDXL main model field.
`UIType.SDXLMainModelField` to indicate that the field is an SDXL main model field.
:param UIComponent ui_component: [None] Optionally specifies a specific component to use in the UI. \
The UI will always render a suitable component, but sometimes you want something different than the default. \
@ -266,7 +266,7 @@ def InputField(
discriminator=discriminator,
repr=repr,
input=input,
ui_type_hint=ui_type_hint,
ui_type=ui_type,
ui_component=ui_component,
ui_hidden=ui_hidden,
**kwargs,
@ -300,7 +300,7 @@ def OutputField(
regex: Optional[str] = None,
discriminator: Optional[str] = None,
repr: bool = True,
ui_type_hint: Optional[UITypeHint] = None,
ui_type: Optional[UIType] = None,
ui_hidden: bool = False,
**kwargs: Any,
) -> Any:
@ -310,12 +310,12 @@ def OutputField(
This is a wrapper for Pydantic's [Field](https://docs.pydantic.dev/1.10/usage/schema/#field-customization) \
that adds a few extra parameters to support graph execution and the node editor UI.
:param UITypeHint ui_type_hint: [None] Optionally provides an extra type hint for the UI. \
:param UIType ui_type: [None] Optionally provides an extra type hint for the UI. \
In some situations, the field's type is not enough to infer the correct UI type. \
For example, model selection fields should render a dropdown UI component to select a model. \
Internally, there is no difference between SD-1, SD-2 and SDXL model fields, they all use \
`MainModelField`. So to ensure the base-model-specific UI is rendered, you can use \
`UITypeHint.SDXLMainModelField` to indicate that the field is an SDXL main model field.
`UIType.SDXLMainModelField` to indicate that the field is an SDXL main model field.
: param bool ui_hidden: [False] Specifies whether or not this field should be hidden in the UI. \
"""
@ -346,7 +346,7 @@ def OutputField(
regex=regex,
discriminator=discriminator,
repr=repr,
ui_type_hint=ui_type_hint,
ui_type=ui_type,
ui_hidden=ui_hidden,
**kwargs,
)

View File

@ -8,7 +8,7 @@ from pydantic import validator
from invokeai.app.invocations.primitives import ImageCollectionOutput, ImageField, IntegerCollectionOutput
from invokeai.app.util.misc import SEED_MAX, get_random_seed
from .baseinvocation import BaseInvocation, InputField, InvocationContext, UITypeHint, tags, title
from .baseinvocation import BaseInvocation, InputField, InvocationContext, UIType, tags, title
@title("Integer Range")
@ -81,7 +81,7 @@ class ImageCollectionInvocation(BaseInvocation):
# Inputs
images: list[ImageField] = InputField(
default=[], description="The image collection to load", ui_type_hint=UITypeHint.ImageCollection
default=[], description="The image collection to load", ui_type=UIType.ImageCollection
)
def invoke(self, context: InvocationContext) -> ImageCollectionOutput:

View File

@ -39,7 +39,7 @@ from .baseinvocation import (
Input,
InvocationContext,
OutputField,
UITypeHint,
UIType,
tags,
title,
)
@ -109,7 +109,7 @@ class ControlNetInvocation(BaseInvocation):
default="lllyasviel/sd-controlnet-canny", description=FieldDescriptions.controlnet_model, input=Input.Direct
)
control_weight: Union[float, List[float]] = InputField(
default=1.0, description="The weight given to the ControlNet", ui_type_hint=UITypeHint.Float
default=1.0, description="The weight given to the ControlNet", ui_type=UIType.Float
)
begin_step_percent: float = InputField(
default=0, ge=-1, le=2, description="When the ControlNet is first applied (% of total steps)"

View File

@ -51,7 +51,7 @@ from .baseinvocation import (
InputField,
InvocationContext,
OutputField,
UITypeHint,
UIType,
tags,
title,
)
@ -116,7 +116,7 @@ class DenoiseLatentsInvocation(BaseInvocation):
noise: Optional[LatentsField] = InputField(description=FieldDescriptions.noise, input=Input.Connection)
steps: int = InputField(default=10, gt=0, description=FieldDescriptions.steps)
cfg_scale: Union[float, List[float]] = InputField(
default=7.5, ge=1, description=FieldDescriptions.cfg_scale, ui_type_hint=UITypeHint.Float
default=7.5, ge=1, description=FieldDescriptions.cfg_scale, ui_type=UIType.Float
)
denoising_start: float = InputField(default=0.0, ge=0, le=1, description=FieldDescriptions.denoising_start)
denoising_end: float = InputField(default=1.0, ge=0, le=1, description=FieldDescriptions.denoising_end)

View File

@ -12,7 +12,7 @@ from .baseinvocation import (
Input,
InvocationContext,
OutputField,
UITypeHint,
UIType,
tags,
title,
)
@ -365,7 +365,7 @@ class VaeLoaderInvocation(BaseInvocation):
# Inputs
vae_model: VAEModelField = InputField(
description=FieldDescriptions.vae_model, input=Input.Direct, ui_type_hint=UITypeHint.VaeModel, title="VAE"
description=FieldDescriptions.vae_model, input=Input.Direct, ui_type=UIType.VaeModel, title="VAE"
)
def invoke(self, context: InvocationContext) -> VaeLoaderOutput:

View File

@ -16,7 +16,7 @@ from .baseinvocation import (
InputField,
InvocationContext,
OutputField,
UITypeHint,
UIType,
tags,
title,
)

View File

@ -31,7 +31,7 @@ from .baseinvocation import (
InvocationContext,
OutputField,
UIComponent,
UITypeHint,
UIType,
tags,
title,
)
@ -167,7 +167,7 @@ class ONNXTextToLatentsInvocation(BaseInvocation):
default=7.5,
ge=1,
description=FieldDescriptions.cfg_scale,
ui_type_hint=UITypeHint.Float,
ui_type=UIType.Float,
)
scheduler: SAMPLER_NAME_VALUES = InputField(
default="euler", description=FieldDescriptions.scheduler, input=Input.Direct
@ -180,7 +180,7 @@ class ONNXTextToLatentsInvocation(BaseInvocation):
control: Optional[Union[ControlField, list[ControlField]]] = InputField(
default=None,
description=FieldDescriptions.control,
ui_type_hint=UITypeHint.Control,
ui_type=UIType.Control,
)
# seamless: bool = InputField(default=False, description="Whether or not to generate an image that can tile without seams", )
# seamless_axes: str = InputField(default="", description="The axes to tile the image on, 'x' and/or 'y'")
@ -416,7 +416,7 @@ class OnnxModelLoaderInvocation(BaseInvocation):
# Inputs
model: OnnxModelField = InputField(
description=FieldDescriptions.onnx_main_model, input=Input.Direct, ui_type_hint=UITypeHint.ONNXModel
description=FieldDescriptions.onnx_main_model, input=Input.Direct, ui_type=UIType.ONNXModel
)
def invoke(self, context: InvocationContext) -> ONNXModelLoaderOutput:

View File

@ -14,7 +14,7 @@ from .baseinvocation import (
InvocationContext,
OutputField,
UIComponent,
UITypeHint,
UIType,
tags,
title,
)
@ -43,7 +43,7 @@ class BooleanCollectionOutput(BaseInvocationOutput):
# Outputs
collection: list[bool] = OutputField(
default_factory=list, description="The output boolean collection", ui_type_hint=UITypeHint.BooleanCollection
default_factory=list, description="The output boolean collection", ui_type=UIType.BooleanCollection
)
@ -80,7 +80,7 @@ class IntegerCollectionOutput(BaseInvocationOutput):
# Outputs
collection: list[int] = OutputField(
default_factory=list, description="The int collection", ui_type_hint=UITypeHint.IntegerCollection
default_factory=list, description="The int collection", ui_type=UIType.IntegerCollection
)
@ -117,7 +117,7 @@ class FloatCollectionOutput(BaseInvocationOutput):
# Outputs
collection: list[float] = OutputField(
default_factory=list, description="The float collection", ui_type_hint=UITypeHint.FloatCollection
default_factory=list, description="The float collection", ui_type=UIType.FloatCollection
)
@ -154,7 +154,7 @@ class StringCollectionOutput(BaseInvocationOutput):
# Outputs
collection: list[str] = OutputField(
default_factory=list, description="The output strings", ui_type_hint=UITypeHint.StringCollection
default_factory=list, description="The output strings", ui_type=UIType.StringCollection
)
@ -199,7 +199,7 @@ class ImageCollectionOutput(BaseInvocationOutput):
# Outputs
collection: list[ImageField] = OutputField(
default_factory=list, description="The output images", ui_type_hint=UITypeHint.ImageCollection
default_factory=list, description="The output images", ui_type=UIType.ImageCollection
)
@ -256,7 +256,7 @@ class LatentsCollectionOutput(BaseInvocationOutput):
latents: list[LatentsField] = OutputField(
default_factory=list,
description=FieldDescriptions.latents,
ui_type_hint=UITypeHint.LatentsCollection,
ui_type=UIType.LatentsCollection,
)
@ -315,7 +315,7 @@ class ColorCollectionOutput(BaseInvocationOutput):
# Outputs
collection: list[ColorField] = OutputField(
default_factory=list, description="The output colors", ui_type_hint=UITypeHint.ColorCollection
default_factory=list, description="The output colors", ui_type=UIType.ColorCollection
)
@ -361,7 +361,7 @@ class ConditioningCollectionOutput(BaseInvocationOutput):
collection: list[ConditioningField] = OutputField(
default_factory=list,
description="The output conditioning tensors",
ui_type_hint=UITypeHint.ConditioningCollection,
ui_type=UIType.ConditioningCollection,
)

View File

@ -7,7 +7,7 @@ from pydantic import validator
from invokeai.app.invocations.primitives import StringCollectionOutput
from .baseinvocation import BaseInvocation, InputField, InvocationContext, UIComponent, UITypeHint, tags, title
from .baseinvocation import BaseInvocation, InputField, InvocationContext, UIComponent, UIType, tags, title
@title("Dynamic Prompt")
@ -41,7 +41,7 @@ class PromptsFromFileInvocation(BaseInvocation):
type: Literal["prompt_from_file"] = "prompt_from_file"
# Inputs
file_path: str = InputField(description="Path to prompt text file", ui_type_hint=UITypeHint.FilePath)
file_path: str = InputField(description="Path to prompt text file", ui_type=UIType.FilePath)
pre_prompt: Optional[str] = InputField(
default=None, description="String to prepend to each prompt", ui_component=UIComponent.Textarea
)

View File

@ -9,7 +9,7 @@ from .baseinvocation import (
InputField,
InvocationContext,
OutputField,
UITypeHint,
UIType,
tags,
title,
)
@ -46,7 +46,7 @@ class SDXLModelLoaderInvocation(BaseInvocation):
# Inputs
model: MainModelField = InputField(
description=FieldDescriptions.sdxl_main_model, input=Input.Direct, ui_type_hint=UITypeHint.SDXLMainModel
description=FieldDescriptions.sdxl_main_model, input=Input.Direct, ui_type=UIType.SDXLMainModel
)
# TODO: precision?
@ -133,7 +133,7 @@ class SDXLRefinerModelLoaderInvocation(BaseInvocation):
model: MainModelField = InputField(
description=FieldDescriptions.sdxl_refiner_model,
input=Input.Direct,
ui_type_hint=UITypeHint.SDXLRefinerModel,
ui_type=UIType.SDXLRefinerModel,
)
# TODO: precision?

View File

@ -17,7 +17,7 @@ from ..invocations.baseinvocation import (
InputField,
InvocationContext,
OutputField,
UITypeHint,
UIType,
)
# in 3.10 this would be "from types import NoneType"
@ -179,7 +179,7 @@ class IterateInvocationOutput(BaseInvocationOutput):
type: Literal["iterate_output"] = "iterate_output"
item: Any = OutputField(
description="The item being iterated over", title="Collection Item", ui_type_hint=UITypeHint.CollectionItem
description="The item being iterated over", title="Collection Item", ui_type=UIType.CollectionItem
)
@ -190,7 +190,7 @@ class IterateInvocation(BaseInvocation):
type: Literal["iterate"] = "iterate"
collection: list[Any] = InputField(
description="The list of items to iterate over", default_factory=list, ui_type_hint=UITypeHint.Collection
description="The list of items to iterate over", default_factory=list, ui_type=UIType.Collection
)
index: int = InputField(description="The index, will be provided on executed iterators", default=0, ui_hidden=True)
@ -203,7 +203,7 @@ class CollectInvocationOutput(BaseInvocationOutput):
type: Literal["collect_output"] = "collect_output"
collection: list[Any] = OutputField(
description="The collection of input items", title="Collection", ui_type_hint=UITypeHint.Collection
description="The collection of input items", title="Collection", ui_type=UIType.Collection
)
@ -214,7 +214,7 @@ class CollectInvocation(BaseInvocation):
item: Any = InputField(
description="The item to collect (all inputs must be of the same type)",
ui_type_hint=UITypeHint.CollectionItem,
ui_type=UIType.CollectionItem,
title="Collection Item",
input=Input.Connection,
)