| """Top-level package for LanPaint.""" |
|
|
| __all__ = [ |
| "NODE_CLASS_MAPPINGS", |
| "NODE_DISPLAY_NAME_MAPPINGS", |
| "WEB_DIRECTORY", |
| ] |
|
|
| __author__ = """LanPaint""" |
| __email__ = "czhengac@connect.ust.hk" |
| __version__ = "0.0.1" |
|
|
|
|
| def _install_lightweight_runtime_stubs() -> None: |
| """Install lightweight stubs so tooling can import this package without ComfyUI. |
| |
| This is used by CI tooling (e.g., comfy-org/node-diff) that imports NODE_CLASS_MAPPINGS |
| in an environment where ComfyUI isn't installed. |
| """ |
| import sys |
| import types |
|
|
| |
| try: |
| import torch |
| except ModuleNotFoundError: |
| torch_mod = types.ModuleType("torch") |
|
|
| class Tensor: |
| pass |
|
|
| torch_mod.Tensor = Tensor |
| torch_mod.nn = types.SimpleNamespace(functional=types.SimpleNamespace()) |
| sys.modules["torch"] = torch_mod |
|
|
| if "comfyui_version" not in sys.modules: |
| comfyui_version_mod = types.ModuleType("comfyui_version") |
| comfyui_version_mod.__version__ = "0.0.0" |
| sys.modules["comfyui_version"] = comfyui_version_mod |
|
|
| sys.modules.setdefault("nodes", types.ModuleType("nodes")) |
| sys.modules.setdefault("latent_preview", types.ModuleType("latent_preview")) |
|
|
| if "comfy" not in sys.modules: |
| comfy_mod = types.ModuleType("comfy") |
| comfy_mod.__path__ = [] |
|
|
| comfy_utils_mod = types.ModuleType("comfy.utils") |
|
|
| def repeat_to_batch_size(tensor, batch_size): |
| if getattr(tensor, "shape", ())[0] == batch_size: |
| return tensor |
| return tensor |
|
|
| comfy_utils_mod.repeat_to_batch_size = repeat_to_batch_size |
|
|
| comfy_samplers_mod = types.ModuleType("comfy.samplers") |
|
|
| class DummyKSAMPLER: |
| pass |
|
|
| comfy_samplers_mod.KSAMPLER = DummyKSAMPLER |
|
|
| comfy_model_base_mod = types.ModuleType("comfy.model_base") |
|
|
| class ModelType: |
| FLUX = "FLUX" |
| FLOW = "FLOW" |
|
|
| class WAN22: |
| pass |
|
|
| comfy_model_base_mod.ModelType = ModelType |
| comfy_model_base_mod.WAN22 = WAN22 |
|
|
| comfy_mod.utils = comfy_utils_mod |
| comfy_mod.samplers = comfy_samplers_mod |
| comfy_mod.model_base = comfy_model_base_mod |
|
|
| sys.modules["comfy"] = comfy_mod |
| sys.modules["comfy.utils"] = comfy_utils_mod |
| sys.modules["comfy.samplers"] = comfy_samplers_mod |
| sys.modules["comfy.model_base"] = comfy_model_base_mod |
|
|
|
|
| try: |
| from .src.LanPaint.nodes import NODE_CLASS_MAPPINGS |
| from .src.LanPaint.nodes import NODE_DISPLAY_NAME_MAPPINGS |
| except ModuleNotFoundError: |
| _install_lightweight_runtime_stubs() |
| from .src.LanPaint.nodes import NODE_CLASS_MAPPINGS |
| from .src.LanPaint.nodes import NODE_DISPLAY_NAME_MAPPINGS |
|
|
| WEB_DIRECTORY = "./web" |
|
|