horde-engine 3.9.0__tar.gz → 3.9.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {horde_engine-3.9.0 → horde_engine-3.9.2}/PKG-INFO +1 -1
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/_version.py +2 -2
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/civitai_adhoc.py +122 -1
- {horde_engine-3.9.0 → horde_engine-3.9.2}/.gitignore +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/LICENSE +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/README.md +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/__pyinstaller.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/api.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/benchmark.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/beta_models.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/comfy_horde.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/config_path.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/consts.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/exceptions.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/execution/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/execution/comfy_patches.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/execution/graph_utils.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/execution/in_process.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/execution/interface.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/execution/phase_timing.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/execution/progress_hook.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/execution/sampling_lease.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/feature_impact.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/feature_requirements.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/horde.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/initialisation.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/installation/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/installation/__main__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/installation/installer.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/installation/manifest.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/installation/manifest.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/integrations/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/integrations/logfire_comfy_internals.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/integrations/logfire_setup.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/metrics.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_database/db_dep.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_database/db_embeds.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_database/diffusers.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_database/med_config.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/annotator_provider.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/base.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/civitai_provider.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/civitai_records.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/codeformer.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/compvis.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/controlnet.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/controlnet_annotator.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/diffusers.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/esrgan.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/gfpgan.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/hyper.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/lora.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/miscellaneous.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/safety_checker.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/model_manager/ti.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/LICENSE +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/README.md +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_example.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_fg_all.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_bg.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_fg.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg_stop_at.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_fg.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example_rgba.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_joint.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/layered_diffusion.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/attention_sharing.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/enums.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/models.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/utils.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/pyproject.toml +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/requirements.txt +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/LICENSE +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/README.md +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/VERSION +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/arcface_arch.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/arch_util.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/codeformer_arch.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/rrdbnet_arch.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/vgg_arch.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/vqgan_arch.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/data/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/data/data_sampler.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/data/data_util.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/data/prefetch_dataloader.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/data/transforms.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/losses/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/losses/loss_util.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/losses/losses.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/metrics/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/metrics/metric_util.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/metrics/psnr_ssim.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/models/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/deform_conv.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda.cpp +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda_kernel.cu +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_ext.cpp +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/fused_act.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act.cpp +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act_kernel.cu +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d.cpp +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d_kernel.cu +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/upfirdn2d.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/setup.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/train.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/dist_util.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/download_util.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/file_client.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/img_util.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/lmdb_util.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/logger.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/matlab_functions.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/misc.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/options.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/realesrgan_utils.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/registry.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/version.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/align_trans.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/matlab_cp2tform.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_net.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_utils.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/face_detector.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/common.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/experimental.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolo.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5l.yaml +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5n.yaml +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/autoanchor.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/datasets.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/extract_ckpt.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/general.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/torch_utils.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/parsing/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/parsing/bisenet.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/parsing/parsenet.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/parsing/resnet.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/utils/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/utils/face_restoration_helper.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/utils/face_utils.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/facelib/utils/misc.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/r_chainner/README.md +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/r_chainner/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/r_chainner/gfpganv1_clean_arch.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/r_chainner/model_loading.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/r_chainner/stylegan2_clean_arch.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/r_chainner/types.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/node_controlnet_model_loader.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/node_image_loader.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/node_image_output.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/node_lora_loader.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/node_model_loader.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/node_upscale_model_loader.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/constants.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/context.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/families/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/families/image.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/families/post_processing.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/graph.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/horde_compat.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/patches.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/payload.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/payload_pp.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/registry.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/resolution.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline/template.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_controlnet.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_controlnet_annotator.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_controlnet_hires_fix.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_flux.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_image_facefix.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_image_upscale.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_qr_code.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_qwen.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_stable_cascade.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_stable_cascade_2pass.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_stable_cascade_remix.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_stable_diffusion.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_stable_diffusion_hires_fix.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_stable_diffusion_img2img_mask.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipeline_designs/pipeline_stable_diffusion_paint.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_controlnet.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_controlnet_annotator.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_controlnet_hires_fix.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_flux.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_image_facefix.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_image_upscale.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_qr_code.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_qwen.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_stable_cascade.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_stable_cascade_2pass.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_stable_cascade_remix.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_stable_diffusion.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_stable_diffusion_hires_fix.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_stable_diffusion_img2img_mask.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_stable_diffusion_paint.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pipelines/pipeline_z_image.json +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/preload.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/py.typed +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pyinstaller_hooks/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/pyinstaller_hooks/hook-hordelib.horde.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/safety.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/safety_checker.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/settings.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/shared_model_manager.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/train.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/__init__.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/device_pinning.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/distance.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/dynamicprompt.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/gpuinfo.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/image_utils.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/ioredirect.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/logger.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/nvml.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/optional_deps.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/sanitizer.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/switch.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/torch_build.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/utils/torch_memory.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/vram_planning.py +0 -0
- {horde_engine-3.9.0 → horde_engine-3.9.2}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: horde-engine
|
|
3
|
-
Version: 3.9.
|
|
3
|
+
Version: 3.9.2
|
|
4
4
|
Summary: A wrapper around ComfyUI to allow use by AI Horde.
|
|
5
5
|
Project-URL: Homepage, https://github.com/Haidra-Org/hordelib
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/Haidra-Org/hordelib/issues
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '3.9.
|
|
22
|
-
__version_tuple__ = version_tuple = (3, 9,
|
|
21
|
+
__version__ = version = '3.9.2'
|
|
22
|
+
__version_tuple__ = version_tuple = (3, 9, 2)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -149,6 +149,12 @@ class _QueuedDownload[R]:
|
|
|
149
149
|
|
|
150
150
|
record: R
|
|
151
151
|
context: dict = field(default_factory=dict)
|
|
152
|
+
generation: int = 0
|
|
153
|
+
"""The cancellation generation this download was enqueued under.
|
|
154
|
+
|
|
155
|
+
A worker thread abandons an in-flight or queued download once the manager's current generation has
|
|
156
|
+
moved past the value stamped here (see :meth:`CivitaiAdhocModelManager.cancel_active_downloads`),
|
|
157
|
+
so a caller that has given up on a job can free the shared pool without killing its threads."""
|
|
152
158
|
|
|
153
159
|
|
|
154
160
|
class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
@@ -189,6 +195,14 @@ class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
|
189
195
|
"""The poll interval while waiting on the download queue/threads, in seconds."""
|
|
190
196
|
FUZZ_THRESHOLD: int = 90
|
|
191
197
|
"""The minimum fuzzy-match ratio for a name to be accepted as a reference key."""
|
|
198
|
+
NEGATIVE_CACHE_TTL: float = 600 if not TESTS_ONGOING else 1
|
|
199
|
+
"""How long (seconds) a version that returned a terminal 404/auth failure is remembered and
|
|
200
|
+
skipped, so repeated jobs requesting a dead model don't each re-spend the full retry budget.
|
|
201
|
+
Deliberately short: the cache is in-memory only (clears on restart) and expires so a model
|
|
202
|
+
that CivitAI later restores self-heals."""
|
|
203
|
+
NOTFOUND_CONFIRM_DELAY: float = 1 if not TESTS_ONGOING else 0.05
|
|
204
|
+
"""The delay before the single confirm retry of a download-endpoint 404, which absorbs a brief
|
|
205
|
+
CivitAI CDN gap for a just-published or still-propagating file before giving up."""
|
|
192
206
|
|
|
193
207
|
def __init__(
|
|
194
208
|
self,
|
|
@@ -242,9 +256,18 @@ class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
|
242
256
|
self.nsfw = True
|
|
243
257
|
self._adhoc_reset_thread: threading.Thread | None = None
|
|
244
258
|
self._stop_all_threads = False
|
|
259
|
+
# Monotonic cancellation generation. cancel_active_downloads() bumps it; an in-flight or queued
|
|
260
|
+
# download whose stamped generation has fallen behind is abandoned at its next retry boundary,
|
|
261
|
+
# freeing the (shared, daemon) pool for the next job without tearing the threads down. Guarded by
|
|
262
|
+
# _download_mutex for writes; read locklessly in the worker loop (a plain int read is atomic).
|
|
263
|
+
self._download_generation = 0
|
|
245
264
|
self._index_ids: dict[int, str] = {}
|
|
246
265
|
self._index_orig_names: dict[str, str] = {}
|
|
247
266
|
self.total_retries_attempted = 0
|
|
267
|
+
# Versions that returned a terminal download failure (404/auth), keyed to a monotonic
|
|
268
|
+
# expiry; guarded by _download_mutex. Lets repeat jobs skip a dead model instantly instead
|
|
269
|
+
# of each re-spending the full retry budget (the gotomaki_jp_idol-style multi-minute stall).
|
|
270
|
+
self._known_bad_versions: dict[str, float] = {}
|
|
248
271
|
|
|
249
272
|
self._init_metrics()
|
|
250
273
|
|
|
@@ -454,7 +477,9 @@ class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
|
454
477
|
worker.start()
|
|
455
478
|
self._metric_active_threads.set(len(self._download_threads))
|
|
456
479
|
|
|
457
|
-
self._download_queue.append(
|
|
480
|
+
self._download_queue.append(
|
|
481
|
+
_QueuedDownload(record=record, context=context or {}, generation=self._download_generation),
|
|
482
|
+
)
|
|
458
483
|
self._metric_queue_size.set(len(self._download_queue))
|
|
459
484
|
|
|
460
485
|
def _download_thread(self, thread_number: int) -> None:
|
|
@@ -505,6 +530,35 @@ class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
|
505
530
|
),
|
|
506
531
|
)
|
|
507
532
|
|
|
533
|
+
def _download_cache_key(self, record: RecordT, target: DownloadTarget | None) -> str:
|
|
534
|
+
"""Stable negative-cache identifier for a download.
|
|
535
|
+
|
|
536
|
+
Uses the version id for multi-version (LoRA) records and falls back to the record name for
|
|
537
|
+
single-version (TI) records, so both the skip-check and the failure-marking agree on a key.
|
|
538
|
+
"""
|
|
539
|
+
if target is not None and target.version_key:
|
|
540
|
+
return target.version_key
|
|
541
|
+
return record.name
|
|
542
|
+
|
|
543
|
+
def _mark_version_bad(self, key: str) -> None:
|
|
544
|
+
"""Remember *key* as terminally unfetchable until :attr:`NEGATIVE_CACHE_TTL` elapses."""
|
|
545
|
+
with self._download_mutex:
|
|
546
|
+
self._known_bad_versions[key] = time.monotonic() + self.NEGATIVE_CACHE_TTL
|
|
547
|
+
|
|
548
|
+
def _is_version_bad(self, key: str) -> bool:
|
|
549
|
+
"""Whether *key* is in the negative cache and still within its TTL.
|
|
550
|
+
|
|
551
|
+
Expired entries are pruned on access so the cache cannot grow without bound.
|
|
552
|
+
"""
|
|
553
|
+
with self._download_mutex:
|
|
554
|
+
expiry = self._known_bad_versions.get(key)
|
|
555
|
+
if expiry is None:
|
|
556
|
+
return False
|
|
557
|
+
if time.monotonic() >= expiry:
|
|
558
|
+
del self._known_bad_versions[key]
|
|
559
|
+
return False
|
|
560
|
+
return True
|
|
561
|
+
|
|
508
562
|
def _process_download(self, queued: _QueuedDownload, thread_logger) -> None:
|
|
509
563
|
"""Download a single queued record's weight file, retrying transient failures."""
|
|
510
564
|
record = queued.record
|
|
@@ -512,11 +566,39 @@ class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
|
512
566
|
|
|
513
567
|
overall_start = time.perf_counter()
|
|
514
568
|
retries = 0
|
|
569
|
+
notfound_attempts = 0
|
|
570
|
+
cache_key = record.name # Refined to the version id once the target is prepared.
|
|
515
571
|
while retries <= self.MAX_RETRIES:
|
|
572
|
+
# Abandon a download whose job has been cancelled (the caller gave up and freed the slot): a
|
|
573
|
+
# single-shot requests.get cannot be interrupted mid-transfer, but checking here bails before
|
|
574
|
+
# the next attempt or retry sleep, so a wedged retry ladder stops within ~one request timeout
|
|
575
|
+
# and the shared pool is free for the next job instead of pinning a thread on dead work.
|
|
576
|
+
if queued.generation != self._download_generation:
|
|
577
|
+
download_logger.info("adhoc.download_cancelled", retries=retries)
|
|
578
|
+
self._record_download_event(
|
|
579
|
+
record,
|
|
580
|
+
success=False,
|
|
581
|
+
size_bytes=0,
|
|
582
|
+
duration_seconds=time.perf_counter() - overall_start,
|
|
583
|
+
retries=retries,
|
|
584
|
+
)
|
|
585
|
+
return
|
|
516
586
|
try:
|
|
517
587
|
target = self._prepare_download(record)
|
|
518
588
|
if target is None:
|
|
519
589
|
return
|
|
590
|
+
|
|
591
|
+
cache_key = self._download_cache_key(record, target)
|
|
592
|
+
if self._is_version_bad(cache_key):
|
|
593
|
+
download_logger.info("adhoc.download_skipped_known_bad", version=cache_key)
|
|
594
|
+
self._record_download_event(
|
|
595
|
+
record,
|
|
596
|
+
success=False,
|
|
597
|
+
size_bytes=0,
|
|
598
|
+
duration_seconds=time.perf_counter() - overall_start,
|
|
599
|
+
retries=retries,
|
|
600
|
+
)
|
|
601
|
+
return
|
|
520
602
|
filepath = os.path.join(self.model_folder_path, target.filename)
|
|
521
603
|
hashpath = f"{os.path.splitext(filepath)[0]}.sha256"
|
|
522
604
|
|
|
@@ -558,6 +640,7 @@ class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
|
558
640
|
response.raise_for_status()
|
|
559
641
|
if "reason=download-auth" in response.url:
|
|
560
642
|
download_logger.error("adhoc.download_auth_redirect", response_url=response.url)
|
|
643
|
+
self._mark_version_bad(cache_key)
|
|
561
644
|
self._record_download_event(
|
|
562
645
|
record,
|
|
563
646
|
success=False,
|
|
@@ -616,6 +699,7 @@ class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
|
616
699
|
status_code = getattr(getattr(net_error, "response", None), "status_code", None)
|
|
617
700
|
download_logger.warning("adhoc.download_network_error", error_type=error_type, status_code=status_code)
|
|
618
701
|
if isinstance(net_error, requests.HTTPError) and status_code in (401, 403):
|
|
702
|
+
self._mark_version_bad(cache_key)
|
|
619
703
|
self._record_download_event(
|
|
620
704
|
record,
|
|
621
705
|
success=False,
|
|
@@ -624,6 +708,25 @@ class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
|
624
708
|
retries=retries,
|
|
625
709
|
)
|
|
626
710
|
return
|
|
711
|
+
if isinstance(net_error, requests.HTTPError) and status_code == 404:
|
|
712
|
+
# A 404 on the signed download URL is deterministic: the file (or its
|
|
713
|
+
# token-scoped resource) is gone and the identical URL will not heal. Retrying the
|
|
714
|
+
# full ladder only burns ~MAX_RETRIES*RETRY_DELAY seconds while the job blocks in
|
|
715
|
+
# download_aux_models. Allow a single quick confirm retry to absorb a brief CDN
|
|
716
|
+
# propagation gap, then give up and remember the version so later jobs skip it.
|
|
717
|
+
notfound_attempts += 1
|
|
718
|
+
if notfound_attempts > 1:
|
|
719
|
+
self._mark_version_bad(cache_key)
|
|
720
|
+
self._record_download_event(
|
|
721
|
+
record,
|
|
722
|
+
success=False,
|
|
723
|
+
size_bytes=0,
|
|
724
|
+
duration_seconds=time.perf_counter() - overall_start,
|
|
725
|
+
retries=retries,
|
|
726
|
+
)
|
|
727
|
+
return
|
|
728
|
+
time.sleep(self.NOTFOUND_CONFIRM_DELAY)
|
|
729
|
+
continue
|
|
627
730
|
except OSError as disk_error:
|
|
628
731
|
if disk_error.errno in _TERMINAL_DISK_ERRNOS:
|
|
629
732
|
# A full / read-only / over-quota disk will not heal between attempts, so retrying only
|
|
@@ -731,6 +834,24 @@ class CivitaiAdhocModelManager[RecordT: GenericModelRecord](
|
|
|
731
834
|
"""Signal all worker threads to stop at their next iteration."""
|
|
732
835
|
self._stop_all_threads = True
|
|
733
836
|
|
|
837
|
+
def cancel_active_downloads(self) -> None:
|
|
838
|
+
"""Abandon all queued and in-flight downloads, leaving the worker pool alive for the next job.
|
|
839
|
+
|
|
840
|
+
Unlike :meth:`stop_all` (which permanently shuts the pool down), this bumps the cancellation
|
|
841
|
+
generation and clears the pending queue: any download already running abandons itself at its next
|
|
842
|
+
retry boundary, and nothing new is pre-empted. A caller that has given up on a job (e.g. its aux
|
|
843
|
+
downloads blew a deadline) uses this to stop pinning shared download threads on dead work so the
|
|
844
|
+
next job's downloads are not stuck behind it. Idempotent; the pool resumes normally on the next
|
|
845
|
+
:meth:`_enqueue_download`, which stamps the new generation.
|
|
846
|
+
"""
|
|
847
|
+
with self._download_mutex:
|
|
848
|
+
self._download_generation += 1
|
|
849
|
+
cancelled = len(self._download_queue)
|
|
850
|
+
self._download_queue.clear()
|
|
851
|
+
self._metric_queue_size.set(0)
|
|
852
|
+
if cancelled:
|
|
853
|
+
logger.bind(manager=self.METRIC_PREFIX).info("adhoc.downloads_cancelled", queued_dropped=cancelled)
|
|
854
|
+
|
|
734
855
|
# ------------------------------------------------------------------
|
|
735
856
|
# Cache accounting and eviction (generic over CacheEntry)
|
|
736
857
|
# ------------------------------------------------------------------
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/layered_diffusion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/pyproject.toml
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/comfyui_layerdiffuse/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/arch_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/vgg_arch.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/archs/vqgan_arch.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/data/__init__.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/data/data_sampler.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/data/data_util.py
RENAMED
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/data/transforms.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/losses/__init__.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/losses/loss_util.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/losses/losses.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/metrics/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/metrics/psnr_ssim.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/models/__init__.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/__init__.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/__init__.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/dist_util.py
RENAMED
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/file_client.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/img_util.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/lmdb_util.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/logger.py
RENAMED
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/misc.py
RENAMED
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/options.py
RENAMED
|
File without changes
|
|
File without changes
|
{horde_engine-3.9.0 → horde_engine-3.9.2}/hordelib/nodes/facerestore_cf/basicsr/utils/registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|