mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
isort wip
This commit is contained in:
parent
4390a051ca
commit
5615c31799
@ -1,13 +1,9 @@
|
|||||||
# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654)
|
# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654)
|
||||||
|
|
||||||
from logging import Logger
|
from logging import Logger
|
||||||
from invokeai.app.services.board_image_record_storage import (
|
|
||||||
SqliteBoardImageRecordStorage,
|
from invokeai.app.services.board_image_record_storage import SqliteBoardImageRecordStorage
|
||||||
)
|
from invokeai.app.services.board_images import BoardImagesService, BoardImagesServiceDependencies
|
||||||
from invokeai.app.services.board_images import (
|
|
||||||
BoardImagesService,
|
|
||||||
BoardImagesServiceDependencies,
|
|
||||||
)
|
|
||||||
from invokeai.app.services.board_record_storage import SqliteBoardRecordStorage
|
from invokeai.app.services.board_record_storage import SqliteBoardRecordStorage
|
||||||
from invokeai.app.services.boards import BoardService, BoardServiceDependencies
|
from invokeai.app.services.boards import BoardService, BoardServiceDependencies
|
||||||
from invokeai.app.services.config import InvokeAIAppConfig
|
from invokeai.app.services.config import InvokeAIAppConfig
|
||||||
@ -19,16 +15,16 @@ from invokeai.backend.util.logging import InvokeAILogger
|
|||||||
from invokeai.version.invokeai_version import __version__
|
from invokeai.version.invokeai_version import __version__
|
||||||
|
|
||||||
from ..services.default_graphs import create_system_graphs
|
from ..services.default_graphs import create_system_graphs
|
||||||
from ..services.latent_storage import DiskLatentsStorage, ForwardCacheLatentsStorage
|
|
||||||
from ..services.graph import GraphExecutionState, LibraryGraph
|
from ..services.graph import GraphExecutionState, LibraryGraph
|
||||||
from ..services.image_file_storage import DiskImageFileStorage
|
from ..services.image_file_storage import DiskImageFileStorage
|
||||||
from ..services.invocation_queue import MemoryInvocationQueue
|
from ..services.invocation_queue import MemoryInvocationQueue
|
||||||
from ..services.invocation_services import InvocationServices
|
from ..services.invocation_services import InvocationServices
|
||||||
|
from ..services.invocation_stats import InvocationStatsService
|
||||||
from ..services.invoker import Invoker
|
from ..services.invoker import Invoker
|
||||||
|
from ..services.latent_storage import DiskLatentsStorage, ForwardCacheLatentsStorage
|
||||||
|
from ..services.model_manager_service import ModelManagerService
|
||||||
from ..services.processor import DefaultInvocationProcessor
|
from ..services.processor import DefaultInvocationProcessor
|
||||||
from ..services.sqlite import SqliteItemStorage
|
from ..services.sqlite import SqliteItemStorage
|
||||||
from ..services.model_manager_service import ModelManagerService
|
|
||||||
from ..services.invocation_stats import InvocationStatsService
|
|
||||||
from .events import FastAPIEventService
|
from .events import FastAPIEventService
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,20 +1,17 @@
|
|||||||
import io
|
import io
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from PIL import Image
|
|
||||||
from fastapi import Body, HTTPException, Path, Query, Request, Response, UploadFile
|
from fastapi import Body, HTTPException, Path, Query, Request, Response, UploadFile
|
||||||
from fastapi.responses import FileResponse
|
from fastapi.responses import FileResponse
|
||||||
from fastapi.routing import APIRouter
|
from fastapi.routing import APIRouter
|
||||||
|
from PIL import Image
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
from invokeai.app.invocations.metadata import ImageMetadata
|
from invokeai.app.invocations.metadata import ImageMetadata
|
||||||
from invokeai.app.models.image import ImageCategory, ResourceOrigin
|
from invokeai.app.models.image import ImageCategory, ResourceOrigin
|
||||||
from invokeai.app.services.image_record_storage import OffsetPaginatedResults
|
from invokeai.app.services.image_record_storage import OffsetPaginatedResults
|
||||||
from invokeai.app.services.models.image_record import (
|
from invokeai.app.services.models.image_record import ImageDTO, ImageRecordChanges, ImageUrlsDTO
|
||||||
ImageDTO,
|
|
||||||
ImageRecordChanges,
|
|
||||||
ImageUrlsDTO,
|
|
||||||
)
|
|
||||||
from ..dependencies import ApiDependencies
|
from ..dependencies import ApiDependencies
|
||||||
|
|
||||||
images_router = APIRouter(prefix="/v1/images", tags=["images"])
|
images_router = APIRouter(prefix="/v1/images", tags=["images"])
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
|
|
||||||
import pathlib
|
import pathlib
|
||||||
from typing import Literal, List, Optional, Union
|
from typing import List, Literal, Optional, Union
|
||||||
|
|
||||||
from fastapi import Body, Path, Query, Response
|
from fastapi import Body, Path, Query, Response
|
||||||
from fastapi.routing import APIRouter
|
from fastapi.routing import APIRouter
|
||||||
@ -10,13 +10,13 @@ from pydantic import BaseModel, parse_obj_as
|
|||||||
from starlette.exceptions import HTTPException
|
from starlette.exceptions import HTTPException
|
||||||
|
|
||||||
from invokeai.backend import BaseModelType, ModelType
|
from invokeai.backend import BaseModelType, ModelType
|
||||||
|
from invokeai.backend.model_management import MergeInterpolationMethod
|
||||||
from invokeai.backend.model_management.models import (
|
from invokeai.backend.model_management.models import (
|
||||||
OPENAPI_MODEL_CONFIGS,
|
OPENAPI_MODEL_CONFIGS,
|
||||||
SchedulerPredictionType,
|
|
||||||
ModelNotFoundException,
|
|
||||||
InvalidModelException,
|
InvalidModelException,
|
||||||
|
ModelNotFoundException,
|
||||||
|
SchedulerPredictionType,
|
||||||
)
|
)
|
||||||
from invokeai.backend.model_management import MergeInterpolationMethod
|
|
||||||
|
|
||||||
from ..dependencies import ApiDependencies
|
from ..dependencies import ApiDependencies
|
||||||
|
|
||||||
|
@ -9,13 +9,7 @@ from pydantic.fields import Field
|
|||||||
# Importing * is bad karma but needed here for node detection
|
# Importing * is bad karma but needed here for node detection
|
||||||
from ...invocations import * # noqa: F401 F403
|
from ...invocations import * # noqa: F401 F403
|
||||||
from ...invocations.baseinvocation import BaseInvocation
|
from ...invocations.baseinvocation import BaseInvocation
|
||||||
from ...services.graph import (
|
from ...services.graph import Edge, EdgeConnection, Graph, GraphExecutionState, NodeAlreadyExecutedError
|
||||||
Edge,
|
|
||||||
EdgeConnection,
|
|
||||||
Graph,
|
|
||||||
GraphExecutionState,
|
|
||||||
NodeAlreadyExecutedError,
|
|
||||||
)
|
|
||||||
from ...services.item_storage import PaginatedResults
|
from ...services.item_storage import PaginatedResults
|
||||||
from ..dependencies import ApiDependencies
|
from ..dependencies import ApiDependencies
|
||||||
|
|
||||||
|
@ -1,16 +1,18 @@
|
|||||||
# Copyright (c) 2023 Kyle Schouviller (https://github.com/kyle0654)
|
# Copyright (c) 2023 Kyle Schouviller (https://github.com/kyle0654)
|
||||||
|
|
||||||
from abc import ABC, abstractmethod
|
|
||||||
import argparse
|
import argparse
|
||||||
|
from abc import ABC, abstractmethod
|
||||||
from typing import Any, Callable, Iterable, Literal, Union, get_args, get_origin, get_type_hints
|
from typing import Any, Callable, Iterable, Literal, Union, get_args, get_origin, get_type_hints
|
||||||
from pydantic import BaseModel, Field
|
|
||||||
import networkx as nx
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
import networkx as nx
|
||||||
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
import invokeai.backend.util.logging as logger
|
import invokeai.backend.util.logging as logger
|
||||||
|
|
||||||
from ..invocations.baseinvocation import BaseInvocation
|
from ..invocations.baseinvocation import BaseInvocation
|
||||||
from ..invocations.image import ImageField
|
from ..invocations.image import ImageField
|
||||||
from ..services.graph import GraphExecutionState, LibraryGraph, Edge
|
from ..services.graph import Edge, GraphExecutionState, LibraryGraph
|
||||||
from ..services.invoker import Invoker
|
from ..services.invoker import Invoker
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,15 +6,15 @@ completer object.
|
|||||||
import atexit
|
import atexit
|
||||||
import readline
|
import readline
|
||||||
import shlex
|
import shlex
|
||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List, Dict, Literal, get_args, get_type_hints, get_origin
|
from typing import Dict, List, Literal, get_args, get_origin, get_type_hints
|
||||||
|
|
||||||
import invokeai.backend.util.logging as logger
|
import invokeai.backend.util.logging as logger
|
||||||
|
|
||||||
from ...backend import ModelManager
|
from ...backend import ModelManager
|
||||||
from ..invocations.baseinvocation import BaseInvocation
|
from ..invocations.baseinvocation import BaseInvocation
|
||||||
from .commands import BaseCommand
|
|
||||||
from ..services.invocation_services import InvocationServices
|
from ..services.invocation_services import InvocationServices
|
||||||
|
from .commands import BaseCommand
|
||||||
|
|
||||||
# singleton object, class variable
|
# singleton object, class variable
|
||||||
completer = None
|
completer = None
|
||||||
|
@ -5,16 +5,15 @@ from typing import List, Union
|
|||||||
import torch
|
import torch
|
||||||
from compel import Compel, ReturnedEmbeddingsType
|
from compel import Compel, ReturnedEmbeddingsType
|
||||||
from compel.prompt_parser import Blend, Conjunction, CrossAttentionControlSubstitute, FlattenedPrompt, Fragment
|
from compel.prompt_parser import Blend, Conjunction, CrossAttentionControlSubstitute, FlattenedPrompt, Fragment
|
||||||
from invokeai.app.invocations.primitives import ConditioningField, ConditioningOutput
|
|
||||||
|
|
||||||
|
from invokeai.app.invocations.primitives import ConditioningField, ConditioningOutput
|
||||||
from invokeai.backend.stable_diffusion.diffusion.shared_invokeai_diffusion import (
|
from invokeai.backend.stable_diffusion.diffusion.shared_invokeai_diffusion import (
|
||||||
BasicConditioningInfo,
|
BasicConditioningInfo,
|
||||||
SDXLConditioningInfo,
|
SDXLConditioningInfo,
|
||||||
)
|
)
|
||||||
|
|
||||||
from ...backend.model_management.models import ModelType
|
|
||||||
from ...backend.model_management.lora import ModelPatcher
|
from ...backend.model_management.lora import ModelPatcher
|
||||||
from ...backend.model_management.models import ModelNotFoundException
|
from ...backend.model_management.models import ModelNotFoundException, ModelType
|
||||||
from ...backend.stable_diffusion.diffusion import InvokeAIDiffuserComponent
|
from ...backend.stable_diffusion.diffusion import InvokeAIDiffuserComponent
|
||||||
from ...backend.util.devices import torch_dtype
|
from ...backend.util.devices import torch_dtype
|
||||||
from .baseinvocation import (
|
from .baseinvocation import (
|
||||||
|
@ -28,15 +28,14 @@ from pydantic import BaseModel, Field, validator
|
|||||||
|
|
||||||
from invokeai.app.invocations.primitives import ImageField, ImageOutput
|
from invokeai.app.invocations.primitives import ImageField, ImageOutput
|
||||||
|
|
||||||
|
|
||||||
from ...backend.model_management import BaseModelType
|
from ...backend.model_management import BaseModelType
|
||||||
from ..models.image import ImageCategory, ResourceOrigin
|
from ..models.image import ImageCategory, ResourceOrigin
|
||||||
from .baseinvocation import (
|
from .baseinvocation import (
|
||||||
BaseInvocation,
|
BaseInvocation,
|
||||||
BaseInvocationOutput,
|
BaseInvocationOutput,
|
||||||
FieldDescriptions,
|
FieldDescriptions,
|
||||||
InputField,
|
|
||||||
Input,
|
Input,
|
||||||
|
InputField,
|
||||||
InvocationContext,
|
InvocationContext,
|
||||||
OutputField,
|
OutputField,
|
||||||
UIType,
|
UIType,
|
||||||
@ -44,7 +43,6 @@ from .baseinvocation import (
|
|||||||
invocation_output,
|
invocation_output,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
CONTROLNET_MODE_VALUES = Literal["balanced", "more_prompt", "more_control", "unbalanced"]
|
CONTROLNET_MODE_VALUES = Literal["balanced", "more_prompt", "more_control", "unbalanced"]
|
||||||
CONTROLNET_RESIZE_VALUES = Literal[
|
CONTROLNET_RESIZE_VALUES = Literal[
|
||||||
"just_resize",
|
"just_resize",
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
import cv2 as cv
|
import cv2 as cv
|
||||||
import numpy
|
import numpy
|
||||||
from PIL import Image, ImageOps
|
from PIL import Image, ImageOps
|
||||||
from invokeai.app.invocations.primitives import ImageField, ImageOutput
|
|
||||||
|
|
||||||
|
from invokeai.app.invocations.primitives import ImageField, ImageOutput
|
||||||
from invokeai.app.models.image import ImageCategory, ResourceOrigin
|
from invokeai.app.models.image import ImageCategory, ResourceOrigin
|
||||||
from .baseinvocation import BaseInvocation, InputField, InvocationContext, invocation
|
from .baseinvocation import BaseInvocation, InputField, InvocationContext, invocation
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ from .baseinvocation import (
|
|||||||
BaseInvocation,
|
BaseInvocation,
|
||||||
BaseInvocationOutput,
|
BaseInvocationOutput,
|
||||||
FieldDescriptions,
|
FieldDescriptions,
|
||||||
InputField,
|
|
||||||
Input,
|
Input,
|
||||||
|
InputField,
|
||||||
InvocationContext,
|
InvocationContext,
|
||||||
OutputField,
|
OutputField,
|
||||||
UIComponent,
|
UIComponent,
|
||||||
|
@ -3,7 +3,6 @@ from typing import Literal, Optional
|
|||||||
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
import PIL.Image
|
import PIL.Image
|
||||||
from easing_functions import (
|
from easing_functions import (
|
||||||
BackEaseIn,
|
BackEaseIn,
|
||||||
|
@ -7,8 +7,8 @@ import numpy as np
|
|||||||
from basicsr.archs.rrdbnet_arch import RRDBNet
|
from basicsr.archs.rrdbnet_arch import RRDBNet
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
from realesrgan import RealESRGANer
|
from realesrgan import RealESRGANer
|
||||||
from invokeai.app.invocations.primitives import ImageField, ImageOutput
|
|
||||||
|
|
||||||
|
from invokeai.app.invocations.primitives import ImageField, ImageOutput
|
||||||
from invokeai.app.models.image import ImageCategory, ResourceOrigin
|
from invokeai.app.models.image import ImageCategory, ResourceOrigin
|
||||||
|
|
||||||
from .baseinvocation import BaseInvocation, InputField, InvocationContext, invocation
|
from .baseinvocation import BaseInvocation, InputField, InvocationContext, invocation
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
from abc import ABC, abstractmethod
|
|
||||||
import sqlite3
|
import sqlite3
|
||||||
import threading
|
import threading
|
||||||
|
from abc import ABC, abstractmethod
|
||||||
from typing import Optional, cast
|
from typing import Optional, cast
|
||||||
|
|
||||||
from invokeai.app.services.image_record_storage import OffsetPaginatedResults
|
from invokeai.app.services.image_record_storage import OffsetPaginatedResults
|
||||||
from invokeai.app.services.models.image_record import (
|
from invokeai.app.services.models.image_record import ImageRecord, deserialize_image_record
|
||||||
ImageRecord,
|
|
||||||
deserialize_image_record,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class BoardImageRecordStorageBase(ABC):
|
class BoardImageRecordStorageBase(ABC):
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from logging import Logger
|
from logging import Logger
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from invokeai.app.services.board_image_record_storage import BoardImageRecordStorageBase
|
|
||||||
from invokeai.app.services.board_record_storage import (
|
|
||||||
BoardRecord,
|
|
||||||
BoardRecordStorageBase,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
from invokeai.app.services.board_image_record_storage import BoardImageRecordStorageBase
|
||||||
|
from invokeai.app.services.board_record_storage import BoardRecord, BoardRecordStorageBase
|
||||||
from invokeai.app.services.image_record_storage import ImageRecordStorageBase
|
from invokeai.app.services.image_record_storage import ImageRecordStorageBase
|
||||||
from invokeai.app.services.models.board_record import BoardDTO
|
from invokeai.app.services.models.board_record import BoardDTO
|
||||||
from invokeai.app.services.urls import UrlServiceBase
|
from invokeai.app.services.urls import UrlServiceBase
|
||||||
|
@ -1,15 +1,13 @@
|
|||||||
|
import sqlite3
|
||||||
import threading
|
import threading
|
||||||
import uuid
|
import uuid
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from typing import Optional, Union, cast
|
from typing import Optional, Union, cast
|
||||||
|
|
||||||
import sqlite3
|
from pydantic import BaseModel, Extra, Field
|
||||||
|
|
||||||
from invokeai.app.services.image_record_storage import OffsetPaginatedResults
|
from invokeai.app.services.image_record_storage import OffsetPaginatedResults
|
||||||
from invokeai.app.services.models.board_record import (
|
from invokeai.app.services.models.board_record import BoardRecord, deserialize_board_record
|
||||||
BoardRecord,
|
|
||||||
deserialize_board_record,
|
|
||||||
)
|
|
||||||
from pydantic import BaseModel, Field, Extra
|
|
||||||
|
|
||||||
|
|
||||||
class BoardChanges(BaseModel, extra=Extra.forbid):
|
class BoardChanges(BaseModel, extra=Extra.forbid):
|
||||||
|
@ -1,17 +1,10 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
from logging import Logger
|
from logging import Logger
|
||||||
|
|
||||||
from invokeai.app.services.board_image_record_storage import BoardImageRecordStorageBase
|
from invokeai.app.services.board_image_record_storage import BoardImageRecordStorageBase
|
||||||
from invokeai.app.services.board_images import board_record_to_dto
|
from invokeai.app.services.board_images import board_record_to_dto
|
||||||
|
from invokeai.app.services.board_record_storage import BoardChanges, BoardRecordStorageBase
|
||||||
from invokeai.app.services.board_record_storage import (
|
from invokeai.app.services.image_record_storage import ImageRecordStorageBase, OffsetPaginatedResults
|
||||||
BoardChanges,
|
|
||||||
BoardRecordStorageBase,
|
|
||||||
)
|
|
||||||
from invokeai.app.services.image_record_storage import (
|
|
||||||
ImageRecordStorageBase,
|
|
||||||
OffsetPaginatedResults,
|
|
||||||
)
|
|
||||||
from invokeai.app.services.models.board_record import BoardDTO
|
from invokeai.app.services.models.board_record import BoardDTO
|
||||||
from invokeai.app.services.urls import UrlServiceBase
|
from invokeai.app.services.urls import UrlServiceBase
|
||||||
|
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
from ..invocations.latent import LatentsToImageInvocation, DenoiseLatentsInvocation
|
|
||||||
from ..invocations.image import ImageNSFWBlurInvocation
|
|
||||||
from ..invocations.noise import NoiseInvocation
|
|
||||||
from ..invocations.compel import CompelInvocation
|
from ..invocations.compel import CompelInvocation
|
||||||
|
from ..invocations.image import ImageNSFWBlurInvocation
|
||||||
|
from ..invocations.latent import DenoiseLatentsInvocation, LatentsToImageInvocation
|
||||||
|
from ..invocations.noise import NoiseInvocation
|
||||||
from ..invocations.primitives import IntegerInvocation
|
from ..invocations.primitives import IntegerInvocation
|
||||||
from .graph import Edge, EdgeConnection, ExposedNodeInput, ExposedNodeOutput, Graph, LibraryGraph
|
from .graph import Edge, EdgeConnection, ExposedNodeInput, ExposedNodeOutput, Graph, LibraryGraph
|
||||||
from .item_storage import ItemStorageABC
|
from .item_storage import ItemStorageABC
|
||||||
|
|
||||||
|
|
||||||
default_text_to_image_graph_id = "539b2af5-2b4d-4d8c-8071-e54a3255fc74"
|
default_text_to_image_graph_id = "539b2af5-2b4d-4d8c-8071-e54a3255fc74"
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654)
|
# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654)
|
||||||
|
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
|
|
||||||
from invokeai.app.models.image import ProgressImage
|
from invokeai.app.models.image import ProgressImage
|
||||||
|
from invokeai.app.services.model_manager_service import BaseModelType, ModelInfo, ModelType, SubModelType
|
||||||
from invokeai.app.util.misc import get_timestamp
|
from invokeai.app.util.misc import get_timestamp
|
||||||
from invokeai.app.services.model_manager_service import (
|
|
||||||
BaseModelType,
|
|
||||||
ModelType,
|
|
||||||
SubModelType,
|
|
||||||
ModelInfo,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class EventServiceBase:
|
class EventServiceBase:
|
||||||
|
@ -9,11 +9,7 @@ from pydantic import BaseModel, Field
|
|||||||
from pydantic.generics import GenericModel
|
from pydantic.generics import GenericModel
|
||||||
|
|
||||||
from invokeai.app.models.image import ImageCategory, ResourceOrigin
|
from invokeai.app.models.image import ImageCategory, ResourceOrigin
|
||||||
from invokeai.app.services.models.image_record import (
|
from invokeai.app.services.models.image_record import ImageRecord, ImageRecordChanges, deserialize_image_record
|
||||||
ImageRecord,
|
|
||||||
ImageRecordChanges,
|
|
||||||
deserialize_image_record,
|
|
||||||
)
|
|
||||||
|
|
||||||
T = TypeVar("T", bound=BaseModel)
|
T = TypeVar("T", bound=BaseModel)
|
||||||
|
|
||||||
|
@ -26,12 +26,7 @@ from invokeai.app.services.image_record_storage import (
|
|||||||
OffsetPaginatedResults,
|
OffsetPaginatedResults,
|
||||||
)
|
)
|
||||||
from invokeai.app.services.item_storage import ItemStorageABC
|
from invokeai.app.services.item_storage import ItemStorageABC
|
||||||
from invokeai.app.services.models.image_record import (
|
from invokeai.app.services.models.image_record import ImageDTO, ImageRecord, ImageRecordChanges, image_record_to_dto
|
||||||
ImageDTO,
|
|
||||||
ImageRecord,
|
|
||||||
ImageRecordChanges,
|
|
||||||
image_record_to_dto,
|
|
||||||
)
|
|
||||||
from invokeai.app.services.resource_name import NameServiceBase
|
from invokeai.app.services.resource_name import NameServiceBase
|
||||||
from invokeai.app.services.urls import UrlServiceBase
|
from invokeai.app.services.urls import UrlServiceBase
|
||||||
from invokeai.app.util.metadata import get_metadata_graph_from_raw_session
|
from invokeai.app.util.metadata import get_metadata_graph_from_raw_session
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
import time
|
import time
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from queue import Queue
|
from queue import Queue
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
|
|
||||||
class InvocationQueueItem(BaseModel):
|
class InvocationQueueItem(BaseModel):
|
||||||
|
@ -1,21 +1,23 @@
|
|||||||
# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) and the InvokeAI Team
|
# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) and the InvokeAI Team
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from logging import Logger
|
from logging import Logger
|
||||||
|
|
||||||
from invokeai.app.services.board_images import BoardImagesServiceABC
|
from invokeai.app.services.board_images import BoardImagesServiceABC
|
||||||
from invokeai.app.services.boards import BoardServiceABC
|
from invokeai.app.services.boards import BoardServiceABC
|
||||||
from invokeai.app.services.images import ImageServiceABC
|
|
||||||
from invokeai.app.services.invocation_stats import InvocationStatsServiceBase
|
|
||||||
from invokeai.app.services.model_manager_service import ModelManagerServiceBase
|
|
||||||
from invokeai.app.services.events import EventServiceBase
|
|
||||||
from invokeai.app.services.latent_storage import LatentsStorageBase
|
|
||||||
from invokeai.app.services.invocation_queue import InvocationQueueABC
|
|
||||||
from invokeai.app.services.item_storage import ItemStorageABC
|
|
||||||
from invokeai.app.services.config import InvokeAIAppConfig
|
from invokeai.app.services.config import InvokeAIAppConfig
|
||||||
|
from invokeai.app.services.events import EventServiceBase
|
||||||
from invokeai.app.services.graph import GraphExecutionState, LibraryGraph
|
from invokeai.app.services.graph import GraphExecutionState, LibraryGraph
|
||||||
|
from invokeai.app.services.images import ImageServiceABC
|
||||||
|
from invokeai.app.services.invocation_queue import InvocationQueueABC
|
||||||
|
from invokeai.app.services.invocation_stats import InvocationStatsServiceBase
|
||||||
from invokeai.app.services.invoker import InvocationProcessorABC
|
from invokeai.app.services.invoker import InvocationProcessorABC
|
||||||
|
from invokeai.app.services.item_storage import ItemStorageABC
|
||||||
|
from invokeai.app.services.latent_storage import LatentsStorageBase
|
||||||
|
from invokeai.app.services.model_manager_service import ModelManagerServiceBase
|
||||||
|
|
||||||
|
|
||||||
class InvocationServices:
|
class InvocationServices:
|
||||||
|
@ -28,22 +28,22 @@ The abstract base class for this class is InvocationStatsServiceBase. An impleme
|
|||||||
writes to the system log is stored in InvocationServices.performance_statistics.
|
writes to the system log is stored in InvocationServices.performance_statistics.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import psutil
|
|
||||||
import time
|
import time
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from contextlib import AbstractContextManager
|
from contextlib import AbstractContextManager
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
|
|
||||||
|
import psutil
|
||||||
import torch
|
import torch
|
||||||
|
|
||||||
import invokeai.backend.util.logging as logger
|
import invokeai.backend.util.logging as logger
|
||||||
|
from invokeai.backend.model_management.model_cache import CacheStats
|
||||||
|
|
||||||
from ..invocations.baseinvocation import BaseInvocation
|
from ..invocations.baseinvocation import BaseInvocation
|
||||||
from .graph import GraphExecutionState
|
from .graph import GraphExecutionState
|
||||||
from .item_storage import ItemStorageABC
|
from .item_storage import ItemStorageABC
|
||||||
from .model_manager_service import ModelManagerService
|
from .model_manager_service import ModelManagerService
|
||||||
from invokeai.backend.model_management.model_cache import CacheStats
|
|
||||||
|
|
||||||
# size of GIG in bytes
|
# size of GIG in bytes
|
||||||
GIG = 1073741824
|
GIG = 1073741824
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from queue import Queue
|
from queue import Queue
|
||||||
from typing import Dict, Union, Optional
|
from typing import Dict, Optional, Union
|
||||||
|
|
||||||
import torch
|
import torch
|
||||||
|
|
||||||
|
@ -5,27 +5,28 @@ from __future__ import annotations
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from logging import Logger
|
from logging import Logger
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from pydantic import Field
|
|
||||||
from typing import Literal, Optional, Union, Callable, List, Tuple, TYPE_CHECKING
|
|
||||||
from types import ModuleType
|
from types import ModuleType
|
||||||
|
from typing import TYPE_CHECKING, Callable, List, Literal, Optional, Tuple, Union
|
||||||
from invokeai.backend.model_management import (
|
|
||||||
ModelManager,
|
|
||||||
BaseModelType,
|
|
||||||
ModelType,
|
|
||||||
SubModelType,
|
|
||||||
ModelInfo,
|
|
||||||
AddModelResult,
|
|
||||||
SchedulerPredictionType,
|
|
||||||
ModelMerger,
|
|
||||||
MergeInterpolationMethod,
|
|
||||||
ModelNotFoundException,
|
|
||||||
)
|
|
||||||
from invokeai.backend.model_management.model_search import FindModels
|
|
||||||
from invokeai.backend.model_management.model_cache import CacheStats
|
|
||||||
|
|
||||||
import torch
|
import torch
|
||||||
|
from pydantic import Field
|
||||||
|
|
||||||
from invokeai.app.models.exceptions import CanceledException
|
from invokeai.app.models.exceptions import CanceledException
|
||||||
|
from invokeai.backend.model_management import (
|
||||||
|
AddModelResult,
|
||||||
|
BaseModelType,
|
||||||
|
MergeInterpolationMethod,
|
||||||
|
ModelInfo,
|
||||||
|
ModelManager,
|
||||||
|
ModelMerger,
|
||||||
|
ModelNotFoundException,
|
||||||
|
ModelType,
|
||||||
|
SchedulerPredictionType,
|
||||||
|
SubModelType,
|
||||||
|
)
|
||||||
|
from invokeai.backend.model_management.model_cache import CacheStats
|
||||||
|
from invokeai.backend.model_management.model_search import FindModels
|
||||||
|
|
||||||
from ...backend.util import choose_precision, choose_torch_device
|
from ...backend.util import choose_precision, choose_torch_device
|
||||||
from .config import InvokeAIAppConfig
|
from .config import InvokeAIAppConfig
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
from typing import Optional, Union
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from typing import Optional, Union
|
||||||
|
|
||||||
from pydantic import Field
|
from pydantic import Field
|
||||||
|
|
||||||
from invokeai.app.util.misc import get_iso_timestamp
|
from invokeai.app.util.misc import get_iso_timestamp
|
||||||
from invokeai.app.util.model_exclude_null import BaseModelExcludeNull
|
from invokeai.app.util.model_exclude_null import BaseModelExcludeNull
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
import uuid
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from enum import Enum, EnumMeta
|
from enum import Enum, EnumMeta
|
||||||
import uuid
|
|
||||||
|
|
||||||
|
|
||||||
class ResourceType(str, Enum, metaclass=EnumMeta):
|
class ResourceType(str, Enum, metaclass=EnumMeta):
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
from typing import Union
|
from typing import Union
|
||||||
import torch
|
|
||||||
import numpy as np
|
|
||||||
import cv2
|
|
||||||
from PIL import Image
|
|
||||||
from diffusers.utils import PIL_INTERPOLATION
|
|
||||||
|
|
||||||
from einops import rearrange
|
import cv2
|
||||||
|
import numpy as np
|
||||||
|
import torch
|
||||||
from controlnet_aux.util import HWC3
|
from controlnet_aux.util import HWC3
|
||||||
|
from diffusers.utils import PIL_INTERPOLATION
|
||||||
|
from einops import rearrange
|
||||||
|
from PIL import Image
|
||||||
|
|
||||||
###################################################################
|
###################################################################
|
||||||
# Copy of scripts/lvminthin.py from Mikubill/sd-webui-controlnet
|
# Copy of scripts/lvminthin.py from Mikubill/sd-webui-controlnet
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
"""
|
"""
|
||||||
We want to exclude null values from objects that make their way to the client.
|
We want to exclude null values from objects that make their way to the client.
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
import torch
|
import torch
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from invokeai.app.models.exceptions import CanceledException
|
from invokeai.app.models.exceptions import CanceledException
|
||||||
from invokeai.app.models.image import ProgressImage
|
from invokeai.app.models.image import ProgressImage
|
||||||
from ..invocations.baseinvocation import InvocationContext
|
|
||||||
from ...backend.util.util import image_to_dataURL
|
|
||||||
from ...backend.stable_diffusion import PipelineIntermediateState
|
|
||||||
from ...backend.model_management.models import BaseModelType
|
from ...backend.model_management.models import BaseModelType
|
||||||
|
from ...backend.stable_diffusion import PipelineIntermediateState
|
||||||
|
from ...backend.util.util import image_to_dataURL
|
||||||
|
from ..invocations.baseinvocation import InvocationContext
|
||||||
|
|
||||||
|
|
||||||
def sample_to_lowres_estimated_image(samples, latent_rgb_factors, smooth_matrix=None):
|
def sample_to_lowres_estimated_image(samples, latent_rgb_factors, smooth_matrix=None):
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,25 +6,25 @@
|
|||||||
# pylint: disable=broad-exception-caught
|
# pylint: disable=broad-exception-caught
|
||||||
"""Script to import images into the new database system for 3.0.0"""
|
"""Script to import images into the new database system for 3.0.0"""
|
||||||
|
|
||||||
import os
|
|
||||||
import datetime
|
import datetime
|
||||||
import shutil
|
|
||||||
import locale
|
|
||||||
import sqlite3
|
|
||||||
import json
|
|
||||||
import glob
|
import glob
|
||||||
|
import json
|
||||||
|
import locale
|
||||||
|
import os
|
||||||
import re
|
import re
|
||||||
|
import shutil
|
||||||
|
import sqlite3
|
||||||
import uuid
|
import uuid
|
||||||
import yaml
|
from pathlib import Path
|
||||||
|
|
||||||
import PIL
|
import PIL
|
||||||
import PIL.ImageOps
|
import PIL.ImageOps
|
||||||
import PIL.PngImagePlugin
|
import PIL.PngImagePlugin
|
||||||
|
import yaml
|
||||||
from pathlib import Path
|
|
||||||
from prompt_toolkit import prompt
|
from prompt_toolkit import prompt
|
||||||
from prompt_toolkit.shortcuts import message_dialog
|
|
||||||
from prompt_toolkit.completion import PathCompleter
|
from prompt_toolkit.completion import PathCompleter
|
||||||
from prompt_toolkit.key_binding import KeyBindings
|
from prompt_toolkit.key_binding import KeyBindings
|
||||||
|
from prompt_toolkit.shortcuts import message_dialog
|
||||||
|
|
||||||
from invokeai.app.services.config import InvokeAIAppConfig
|
from invokeai.app.services.config import InvokeAIAppConfig
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ pip install <path_to_git_source>.
|
|||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
|
|
||||||
import pkg_resources
|
import pkg_resources
|
||||||
import psutil
|
import psutil
|
||||||
import requests
|
import requests
|
||||||
|
@ -11,6 +11,7 @@ The work is actually done in backend code in model_install_backend.py.
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import curses
|
import curses
|
||||||
|
import logging
|
||||||
import sys
|
import sys
|
||||||
import textwrap
|
import textwrap
|
||||||
import traceback
|
import traceback
|
||||||
@ -20,34 +21,28 @@ from multiprocessing.connection import Connection, Pipe
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from shutil import get_terminal_size
|
from shutil import get_terminal_size
|
||||||
|
|
||||||
import logging
|
|
||||||
import npyscreen
|
import npyscreen
|
||||||
import torch
|
import torch
|
||||||
from npyscreen import widget
|
from npyscreen import widget
|
||||||
|
|
||||||
from invokeai.backend.util.logging import InvokeAILogger
|
from invokeai.app.services.config import InvokeAIAppConfig
|
||||||
|
from invokeai.backend.install.model_install_backend import InstallSelections, ModelInstall, SchedulerPredictionType
|
||||||
from invokeai.backend.install.model_install_backend import (
|
|
||||||
InstallSelections,
|
|
||||||
ModelInstall,
|
|
||||||
SchedulerPredictionType,
|
|
||||||
)
|
|
||||||
from invokeai.backend.model_management import ModelManager, ModelType
|
from invokeai.backend.model_management import ModelManager, ModelType
|
||||||
from invokeai.backend.util import choose_precision, choose_torch_device
|
from invokeai.backend.util import choose_precision, choose_torch_device
|
||||||
|
from invokeai.backend.util.logging import InvokeAILogger
|
||||||
from invokeai.frontend.install.widgets import (
|
from invokeai.frontend.install.widgets import (
|
||||||
|
MIN_COLS,
|
||||||
|
MIN_LINES,
|
||||||
|
BufferBox,
|
||||||
CenteredTitleText,
|
CenteredTitleText,
|
||||||
|
CyclingForm,
|
||||||
MultiSelectColumns,
|
MultiSelectColumns,
|
||||||
SingleSelectColumns,
|
SingleSelectColumns,
|
||||||
TextBox,
|
TextBox,
|
||||||
BufferBox,
|
|
||||||
set_min_terminal_size,
|
|
||||||
select_stable_diffusion_config_file,
|
|
||||||
CyclingForm,
|
|
||||||
MIN_COLS,
|
|
||||||
MIN_LINES,
|
|
||||||
WindowTooSmallException,
|
WindowTooSmallException,
|
||||||
|
select_stable_diffusion_config_file,
|
||||||
|
set_min_terminal_size,
|
||||||
)
|
)
|
||||||
from invokeai.app.services.config import InvokeAIAppConfig
|
|
||||||
|
|
||||||
config = InvokeAIAppConfig.get_config()
|
config = InvokeAIAppConfig.get_config()
|
||||||
logger = InvokeAILogger.getLogger()
|
logger = InvokeAILogger.getLogger()
|
||||||
|
@ -5,16 +5,17 @@ import curses
|
|||||||
import math
|
import math
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
import pyperclip
|
|
||||||
import struct
|
import struct
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import npyscreen
|
|
||||||
import textwrap
|
import textwrap
|
||||||
import npyscreen.wgmultiline as wgmultiline
|
|
||||||
from npyscreen import fmPopup
|
|
||||||
from shutil import get_terminal_size
|
|
||||||
from curses import BUTTON2_CLICKED, BUTTON3_CLICKED
|
from curses import BUTTON2_CLICKED, BUTTON3_CLICKED
|
||||||
|
from shutil import get_terminal_size
|
||||||
|
|
||||||
|
import npyscreen
|
||||||
|
import npyscreen.wgmultiline as wgmultiline
|
||||||
|
import pyperclip
|
||||||
|
from npyscreen import fmPopup
|
||||||
|
|
||||||
# minimum size for UIs
|
# minimum size for UIs
|
||||||
MIN_COLS = 150
|
MIN_COLS = 150
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import sys
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -16,13 +16,8 @@ from npyscreen import widget
|
|||||||
|
|
||||||
import invokeai.backend.util.logging as logger
|
import invokeai.backend.util.logging as logger
|
||||||
from invokeai.app.services.config import InvokeAIAppConfig
|
from invokeai.app.services.config import InvokeAIAppConfig
|
||||||
from invokeai.backend.model_management import (
|
from invokeai.backend.model_management import BaseModelType, ModelManager, ModelMerger, ModelType
|
||||||
ModelMerger,
|
from invokeai.frontend.install.widgets import FloatTitleSlider, SingleSelectColumns, TextBox
|
||||||
ModelManager,
|
|
||||||
ModelType,
|
|
||||||
BaseModelType,
|
|
||||||
)
|
|
||||||
from invokeai.frontend.install.widgets import FloatTitleSlider, TextBox, SingleSelectColumns
|
|
||||||
|
|
||||||
config = InvokeAIAppConfig.get_config()
|
config = InvokeAIAppConfig.get_config()
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ from npyscreen import widget
|
|||||||
from omegaconf import OmegaConf
|
from omegaconf import OmegaConf
|
||||||
|
|
||||||
import invokeai.backend.util.logging as logger
|
import invokeai.backend.util.logging as logger
|
||||||
|
|
||||||
from invokeai.app.services.config import InvokeAIAppConfig
|
from invokeai.app.services.config import InvokeAIAppConfig
|
||||||
|
|
||||||
from ...backend.training import do_textual_inversion_training, parse_args
|
from ...backend.training import do_textual_inversion_training, parse_args
|
||||||
|
|
||||||
TRAINING_DATA = "text-inversion-training-data"
|
TRAINING_DATA = "text-inversion-training-data"
|
||||||
|
@ -200,3 +200,7 @@ select = ["B", "C", "E", "F", "W", "T4"]
|
|||||||
|
|
||||||
[tool.black]
|
[tool.black]
|
||||||
line-length = 120
|
line-length = 120
|
||||||
|
|
||||||
|
[tool.isort]
|
||||||
|
profile = "black"
|
||||||
|
line_length = 120
|
||||||
|
@ -1,30 +1,24 @@
|
|||||||
from .test_invoker import create_edge
|
import pytest
|
||||||
from .test_nodes import (
|
|
||||||
|
# This import must happen before other invoke imports or test in other files(!!) break
|
||||||
|
from .test_nodes import ( # isort: split
|
||||||
|
PromptCollectionTestInvocation,
|
||||||
|
PromptTestInvocation,
|
||||||
TestEventService,
|
TestEventService,
|
||||||
TextToImageTestInvocation,
|
TextToImageTestInvocation,
|
||||||
PromptTestInvocation,
|
|
||||||
PromptCollectionTestInvocation,
|
|
||||||
)
|
|
||||||
from invokeai.app.services.invocation_queue import MemoryInvocationQueue
|
|
||||||
from invokeai.app.services.processor import DefaultInvocationProcessor
|
|
||||||
from invokeai.app.services.sqlite import SqliteItemStorage, sqlite_memory
|
|
||||||
from invokeai.app.invocations.baseinvocation import (
|
|
||||||
BaseInvocation,
|
|
||||||
BaseInvocationOutput,
|
|
||||||
InvocationContext,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from invokeai.app.invocations.baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext
|
||||||
from invokeai.app.invocations.collections import RangeInvocation
|
from invokeai.app.invocations.collections import RangeInvocation
|
||||||
from invokeai.app.invocations.math import AddInvocation, MultiplyInvocation
|
from invokeai.app.invocations.math import AddInvocation, MultiplyInvocation
|
||||||
|
from invokeai.app.services.graph import CollectInvocation, Graph, GraphExecutionState, IterateInvocation, LibraryGraph
|
||||||
|
from invokeai.app.services.invocation_queue import MemoryInvocationQueue
|
||||||
from invokeai.app.services.invocation_services import InvocationServices
|
from invokeai.app.services.invocation_services import InvocationServices
|
||||||
from invokeai.app.services.invocation_stats import InvocationStatsService
|
from invokeai.app.services.invocation_stats import InvocationStatsService
|
||||||
from invokeai.app.services.graph import (
|
from invokeai.app.services.processor import DefaultInvocationProcessor
|
||||||
Graph,
|
from invokeai.app.services.sqlite import SqliteItemStorage, sqlite_memory
|
||||||
CollectInvocation,
|
|
||||||
IterateInvocation,
|
from .test_invoker import create_edge
|
||||||
GraphExecutionState,
|
|
||||||
LibraryGraph,
|
|
||||||
)
|
|
||||||
import pytest
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
|
@ -1,23 +1,21 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
|
from invokeai.app.services.graph import Graph, GraphExecutionState, LibraryGraph
|
||||||
|
from invokeai.app.services.invocation_queue import MemoryInvocationQueue
|
||||||
|
from invokeai.app.services.invocation_services import InvocationServices
|
||||||
|
from invokeai.app.services.invocation_stats import InvocationStatsService
|
||||||
|
from invokeai.app.services.invoker import Invoker
|
||||||
|
from invokeai.app.services.processor import DefaultInvocationProcessor
|
||||||
|
from invokeai.app.services.sqlite import SqliteItemStorage, sqlite_memory
|
||||||
|
|
||||||
from .test_nodes import (
|
from .test_nodes import (
|
||||||
TestEventService,
|
|
||||||
ErrorInvocation,
|
ErrorInvocation,
|
||||||
TextToImageTestInvocation,
|
|
||||||
PromptTestInvocation,
|
PromptTestInvocation,
|
||||||
|
TestEventService,
|
||||||
|
TextToImageTestInvocation,
|
||||||
create_edge,
|
create_edge,
|
||||||
wait_until,
|
wait_until,
|
||||||
)
|
)
|
||||||
from invokeai.app.services.invocation_queue import MemoryInvocationQueue
|
|
||||||
from invokeai.app.services.processor import DefaultInvocationProcessor
|
|
||||||
from invokeai.app.services.sqlite import SqliteItemStorage, sqlite_memory
|
|
||||||
from invokeai.app.services.invoker import Invoker
|
|
||||||
from invokeai.app.services.invocation_services import InvocationServices
|
|
||||||
from invokeai.app.services.invocation_stats import InvocationStatsService
|
|
||||||
from invokeai.app.services.graph import (
|
|
||||||
Graph,
|
|
||||||
GraphExecutionState,
|
|
||||||
LibraryGraph,
|
|
||||||
)
|
|
||||||
import pytest
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import pytest
|
||||||
from invokeai.app.invocations.baseinvocation import (
|
from invokeai.app.invocations.baseinvocation import (
|
||||||
BaseInvocation,
|
BaseInvocation,
|
||||||
BaseInvocationOutput,
|
BaseInvocationOutput,
|
||||||
@ -29,7 +30,25 @@ from invokeai.app.invocations.image import ShowImageInvocation
|
|||||||
from invokeai.app.invocations.math import AddInvocation, SubtractInvocation
|
from invokeai.app.invocations.math import AddInvocation, SubtractInvocation
|
||||||
from invokeai.app.invocations.primitives import FloatInvocation, IntegerInvocation
|
from invokeai.app.invocations.primitives import FloatInvocation, IntegerInvocation
|
||||||
from invokeai.app.services.default_graphs import create_text_to_image
|
from invokeai.app.services.default_graphs import create_text_to_image
|
||||||
import pytest
|
from invokeai.app.services.graph import (
|
||||||
|
CollectInvocation,
|
||||||
|
Edge,
|
||||||
|
EdgeConnection,
|
||||||
|
Graph,
|
||||||
|
GraphInvocation,
|
||||||
|
InvalidEdgeError,
|
||||||
|
IterateInvocation,
|
||||||
|
NodeAlreadyInGraphError,
|
||||||
|
NodeNotFoundError,
|
||||||
|
are_connections_compatible,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .test_nodes import (
|
||||||
|
ImageToImageTestInvocation,
|
||||||
|
ListPassThroughInvocation,
|
||||||
|
PromptTestInvocation,
|
||||||
|
TextToImageTestInvocation,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
# Helpers
|
# Helpers
|
||||||
|
@ -78,7 +78,7 @@ class PromptCollectionTestInvocation(BaseInvocation):
|
|||||||
return PromptCollectionTestInvocationOutput(collection=self.collection.copy())
|
return PromptCollectionTestInvocationOutput(collection=self.collection.copy())
|
||||||
|
|
||||||
|
|
||||||
# Importing these at the top breaks previous tests
|
# Importing these must happen after test invocations are defined or they won't register
|
||||||
from invokeai.app.services.events import EventServiceBase # noqa: E402
|
from invokeai.app.services.events import EventServiceBase # noqa: E402
|
||||||
from invokeai.app.services.graph import Edge, EdgeConnection # noqa: E402
|
from invokeai.app.services.graph import Edge, EdgeConnection # noqa: E402
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from invokeai.app.services.sqlite import SqliteItemStorage, sqlite_memory
|
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
|
from invokeai.app.services.sqlite import SqliteItemStorage, sqlite_memory
|
||||||
|
|
||||||
|
|
||||||
class TestModel(BaseModel):
|
class TestModel(BaseModel):
|
||||||
id: str = Field(description="ID")
|
id: str = Field(description="ID")
|
||||||
|
@ -6,8 +6,6 @@ import pytest
|
|||||||
from omegaconf import OmegaConf
|
from omegaconf import OmegaConf
|
||||||
from pydantic import ValidationError
|
from pydantic import ValidationError
|
||||||
|
|
||||||
from invokeai.app.services.config import InvokeAIAppConfig
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def patch_rootdir(tmp_path: Path, monkeypatch: Any) -> None:
|
def patch_rootdir(tmp_path: Path, monkeypatch: Any) -> None:
|
||||||
@ -166,6 +164,7 @@ def test_type_coercion(patch_rootdir):
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
def test_deny_nodes(patch_rootdir):
|
def test_deny_nodes(patch_rootdir):
|
||||||
|
from invokeai.app.services.config import InvokeAIAppConfig
|
||||||
# Allow integer, string and float, but explicitly deny float
|
# Allow integer, string and float, but explicitly deny float
|
||||||
allow_deny_nodes_conf = OmegaConf.create(
|
allow_deny_nodes_conf = OmegaConf.create(
|
||||||
"""
|
"""
|
||||||
|
@ -3,7 +3,7 @@ from pathlib import Path
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from invokeai.app.services.config import InvokeAIAppConfig
|
from invokeai.app.services.config import InvokeAIAppConfig
|
||||||
from invokeai.backend import ModelManager, BaseModelType, ModelType, SubModelType
|
from invokeai.backend import BaseModelType, ModelManager, ModelType, SubModelType
|
||||||
|
|
||||||
BASIC_MODEL_NAME = ("SDXL base", BaseModelType.StableDiffusionXL, ModelType.Main)
|
BASIC_MODEL_NAME = ("SDXL base", BaseModelType.StableDiffusionXL, ModelType.Main)
|
||||||
VAE_OVERRIDE_MODEL_NAME = ("SDXL with VAE", BaseModelType.StableDiffusionXL, ModelType.Main)
|
VAE_OVERRIDE_MODEL_NAME = ("SDXL with VAE", BaseModelType.StableDiffusionXL, ModelType.Main)
|
||||||
|
@ -2,14 +2,15 @@
|
|||||||
Not really a test, but a way to verify that the paths are existing
|
Not really a test, but a way to verify that the paths are existing
|
||||||
and fail early if they are not.
|
and fail early if they are not.
|
||||||
"""
|
"""
|
||||||
import unittest
|
|
||||||
import pathlib
|
import pathlib
|
||||||
|
import unittest
|
||||||
from os import path as osp
|
from os import path as osp
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
import invokeai.frontend.web.dist as frontend
|
|
||||||
import invokeai.configs as configs
|
|
||||||
import invokeai.app.assets.images as image_assets
|
import invokeai.app.assets.images as image_assets
|
||||||
|
import invokeai.configs as configs
|
||||||
|
import invokeai.frontend.web.dist as frontend
|
||||||
|
|
||||||
|
|
||||||
class ConfigsTestCase(unittest.TestCase):
|
class ConfigsTestCase(unittest.TestCase):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user