mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-01-25 13:50:15 +08:00
Merge branch 'comfyanonymous:master' into master
This commit is contained in:
commit
332fbee22f
@ -1,4 +1,4 @@
|
|||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field, field_validator
|
||||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
@ -50,6 +50,7 @@ class ComfyConfig(BaseModel):
|
|||||||
icon: str = Field(default="", alias="Icon")
|
icon: str = Field(default="", alias="Icon")
|
||||||
models: List[Model] = Field(default_factory=list, alias="Models")
|
models: List[Model] = Field(default_factory=list, alias="Models")
|
||||||
includes: List[str] = Field(default_factory=list)
|
includes: List[str] = Field(default_factory=list)
|
||||||
|
web: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class License(BaseModel):
|
class License(BaseModel):
|
||||||
@ -66,6 +67,18 @@ class ProjectConfig(BaseModel):
|
|||||||
license: License = Field(default_factory=License)
|
license: License = Field(default_factory=License)
|
||||||
urls: URLs = Field(default_factory=URLs)
|
urls: URLs = Field(default_factory=URLs)
|
||||||
|
|
||||||
|
@field_validator('license', mode='before')
|
||||||
|
@classmethod
|
||||||
|
def validate_license(cls, v):
|
||||||
|
if isinstance(v, str):
|
||||||
|
return License(text=v)
|
||||||
|
elif isinstance(v, dict):
|
||||||
|
return License(**v)
|
||||||
|
elif isinstance(v, License):
|
||||||
|
return v
|
||||||
|
else:
|
||||||
|
return License()
|
||||||
|
|
||||||
|
|
||||||
class PyProjectConfig(BaseModel):
|
class PyProjectConfig(BaseModel):
|
||||||
project: ProjectConfig = Field(default_factory=ProjectConfig)
|
project: ProjectConfig = Field(default_factory=ProjectConfig)
|
||||||
|
|||||||
4
main.py
4
main.py
@ -17,7 +17,6 @@ if __name__ == "__main__":
|
|||||||
os.environ['HF_HUB_DISABLE_TELEMETRY'] = '1'
|
os.environ['HF_HUB_DISABLE_TELEMETRY'] = '1'
|
||||||
os.environ['DO_NOT_TRACK'] = '1'
|
os.environ['DO_NOT_TRACK'] = '1'
|
||||||
|
|
||||||
|
|
||||||
setup_logger(log_level=args.verbose, use_stdout=args.log_stdout)
|
setup_logger(log_level=args.verbose, use_stdout=args.log_stdout)
|
||||||
|
|
||||||
def apply_custom_paths():
|
def apply_custom_paths():
|
||||||
@ -310,6 +309,9 @@ if __name__ == "__main__":
|
|||||||
logging.info("Python version: {}".format(sys.version))
|
logging.info("Python version: {}".format(sys.version))
|
||||||
logging.info("ComfyUI version: {}".format(comfyui_version.__version__))
|
logging.info("ComfyUI version: {}".format(comfyui_version.__version__))
|
||||||
|
|
||||||
|
if sys.version_info.major == 3 and sys.version_info.minor < 10:
|
||||||
|
logging.warning("WARNING: You are using a python version older than 3.10, please upgrade to a newer one. 3.12 and above is recommended.")
|
||||||
|
|
||||||
event_loop, _, start_all_func = start_comfyui()
|
event_loop, _, start_all_func = start_comfyui()
|
||||||
try:
|
try:
|
||||||
x = start_all_func()
|
x = start_all_func()
|
||||||
|
|||||||
19
nodes.py
19
nodes.py
@ -2125,6 +2125,25 @@ def load_custom_node(module_path: str, ignore=set(), module_parent="custom_nodes
|
|||||||
|
|
||||||
LOADED_MODULE_DIRS[module_name] = os.path.abspath(module_dir)
|
LOADED_MODULE_DIRS[module_name] = os.path.abspath(module_dir)
|
||||||
|
|
||||||
|
try:
|
||||||
|
from comfy_config import config_parser
|
||||||
|
|
||||||
|
project_config = config_parser.extract_node_configuration(module_path)
|
||||||
|
|
||||||
|
web_dir_name = project_config.tool_comfy.web
|
||||||
|
|
||||||
|
if web_dir_name:
|
||||||
|
web_dir_path = os.path.join(module_path, web_dir_name)
|
||||||
|
|
||||||
|
if os.path.isdir(web_dir_path):
|
||||||
|
project_name = project_config.project.name
|
||||||
|
|
||||||
|
EXTENSION_WEB_DIRS[project_name] = web_dir_path
|
||||||
|
|
||||||
|
logging.info("Automatically register web folder {} for {}".format(web_dir_name, project_name))
|
||||||
|
except Exception as e:
|
||||||
|
logging.warning(f"Unable to parse pyproject.toml due to lack dependency pydantic-settings, please run 'pip install -r requirements.txt': {e}")
|
||||||
|
|
||||||
if hasattr(module, "WEB_DIRECTORY") and getattr(module, "WEB_DIRECTORY") is not None:
|
if hasattr(module, "WEB_DIRECTORY") and getattr(module, "WEB_DIRECTORY") is not None:
|
||||||
web_dir = os.path.abspath(os.path.join(module_dir, getattr(module, "WEB_DIRECTORY")))
|
web_dir = os.path.abspath(os.path.join(module_dir, getattr(module, "WEB_DIRECTORY")))
|
||||||
if os.path.isdir(web_dir):
|
if os.path.isdir(web_dir):
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
comfyui-frontend-package==1.21.7
|
comfyui-frontend-package==1.21.7
|
||||||
comfyui-workflow-templates==0.1.27
|
comfyui-workflow-templates==0.1.25
|
||||||
comfyui-embedded-docs==0.2.0
|
comfyui-embedded-docs==0.2.0
|
||||||
torch
|
torch
|
||||||
torchsde
|
torchsde
|
||||||
@ -27,3 +27,4 @@ spandrel
|
|||||||
soundfile
|
soundfile
|
||||||
av>=14.2.0
|
av>=14.2.0
|
||||||
pydantic~=2.0
|
pydantic~=2.0
|
||||||
|
pydantic-settings~=2.0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user