horde-engine 3.9.2__tar.gz → 3.9.3__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.
Files changed (243) hide show
  1. {horde_engine-3.9.2 → horde_engine-3.9.3}/PKG-INFO +1 -1
  2. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/_version.py +2 -2
  3. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/comfy_horde.py +11 -2
  4. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/execution/in_process.py +7 -1
  5. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/execution/interface.py +5 -0
  6. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/horde.py +4 -0
  7. {horde_engine-3.9.2 → horde_engine-3.9.3}/.gitignore +0 -0
  8. {horde_engine-3.9.2 → horde_engine-3.9.3}/LICENSE +0 -0
  9. {horde_engine-3.9.2 → horde_engine-3.9.3}/README.md +0 -0
  10. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/__init__.py +0 -0
  11. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/__pyinstaller.py +0 -0
  12. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/api.py +0 -0
  13. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/benchmark.py +0 -0
  14. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/beta_models.py +0 -0
  15. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/config_path.py +0 -0
  16. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/consts.py +0 -0
  17. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/exceptions.py +0 -0
  18. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/execution/__init__.py +0 -0
  19. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/execution/comfy_patches.py +0 -0
  20. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/execution/graph_utils.py +0 -0
  21. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/execution/phase_timing.py +0 -0
  22. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/execution/progress_hook.py +0 -0
  23. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/execution/sampling_lease.py +0 -0
  24. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/feature_impact.py +0 -0
  25. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/feature_requirements.py +0 -0
  26. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/initialisation.py +0 -0
  27. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/installation/__init__.py +0 -0
  28. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/installation/__main__.py +0 -0
  29. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/installation/installer.py +0 -0
  30. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/installation/manifest.json +0 -0
  31. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/installation/manifest.py +0 -0
  32. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/integrations/__init__.py +0 -0
  33. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/integrations/logfire_comfy_internals.py +0 -0
  34. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/integrations/logfire_setup.py +0 -0
  35. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/metrics.py +0 -0
  36. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_database/db_dep.json +0 -0
  37. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_database/db_embeds.json +0 -0
  38. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_database/diffusers.json +0 -0
  39. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_database/med_config.json +0 -0
  40. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/__init__.py +0 -0
  41. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/annotator_provider.py +0 -0
  42. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/base.py +0 -0
  43. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/civitai_adhoc.py +0 -0
  44. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/civitai_provider.py +0 -0
  45. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/civitai_records.py +0 -0
  46. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/codeformer.py +0 -0
  47. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/compvis.py +0 -0
  48. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/controlnet.py +0 -0
  49. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/controlnet_annotator.py +0 -0
  50. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/diffusers.py +0 -0
  51. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/esrgan.py +0 -0
  52. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/gfpgan.py +0 -0
  53. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/hyper.py +0 -0
  54. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/lora.py +0 -0
  55. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/miscellaneous.py +0 -0
  56. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/safety_checker.py +0 -0
  57. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/model_manager/ti.py +0 -0
  58. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/__init__.py +0 -0
  59. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/LICENSE +0 -0
  60. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/README.md +0 -0
  61. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/__init__.py +0 -0
  62. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_example.json +0 -0
  63. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_fg_all.json +0 -0
  64. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_bg.json +0 -0
  65. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_fg.json +0 -0
  66. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg.json +0 -0
  67. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg_stop_at.json +0 -0
  68. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_fg.json +0 -0
  69. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example.json +0 -0
  70. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example_rgba.json +0 -0
  71. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_joint.json +0 -0
  72. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/layered_diffusion.py +0 -0
  73. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/__init__.py +0 -0
  74. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/attention_sharing.py +0 -0
  75. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/enums.py +0 -0
  76. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/models.py +0 -0
  77. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/utils.py +0 -0
  78. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/pyproject.toml +0 -0
  79. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/comfyui_layerdiffuse/requirements.txt +0 -0
  80. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/LICENSE +0 -0
  81. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/README.md +0 -0
  82. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/__init__.py +0 -0
  83. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/VERSION +0 -0
  84. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/__init__.py +0 -0
  85. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/archs/__init__.py +0 -0
  86. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/archs/arcface_arch.py +0 -0
  87. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/archs/arch_util.py +0 -0
  88. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/archs/codeformer_arch.py +0 -0
  89. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/archs/rrdbnet_arch.py +0 -0
  90. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/archs/vgg_arch.py +0 -0
  91. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/archs/vqgan_arch.py +0 -0
  92. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/data/__init__.py +0 -0
  93. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/data/data_sampler.py +0 -0
  94. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/data/data_util.py +0 -0
  95. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/data/prefetch_dataloader.py +0 -0
  96. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/data/transforms.py +0 -0
  97. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/losses/__init__.py +0 -0
  98. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/losses/loss_util.py +0 -0
  99. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/losses/losses.py +0 -0
  100. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/metrics/__init__.py +0 -0
  101. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/metrics/metric_util.py +0 -0
  102. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/metrics/psnr_ssim.py +0 -0
  103. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/models/__init__.py +0 -0
  104. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/__init__.py +0 -0
  105. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/__init__.py +0 -0
  106. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/deform_conv.py +0 -0
  107. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda.cpp +0 -0
  108. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda_kernel.cu +0 -0
  109. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_ext.cpp +0 -0
  110. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/__init__.py +0 -0
  111. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/fused_act.py +0 -0
  112. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act.cpp +0 -0
  113. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act_kernel.cu +0 -0
  114. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/__init__.py +0 -0
  115. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d.cpp +0 -0
  116. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d_kernel.cu +0 -0
  117. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/upfirdn2d.py +0 -0
  118. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/setup.py +0 -0
  119. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/train.py +0 -0
  120. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/__init__.py +0 -0
  121. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/dist_util.py +0 -0
  122. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/download_util.py +0 -0
  123. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/file_client.py +0 -0
  124. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/img_util.py +0 -0
  125. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/lmdb_util.py +0 -0
  126. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/logger.py +0 -0
  127. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/matlab_functions.py +0 -0
  128. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/misc.py +0 -0
  129. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/options.py +0 -0
  130. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/realesrgan_utils.py +0 -0
  131. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/utils/registry.py +0 -0
  132. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/basicsr/version.py +0 -0
  133. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/__init__.py +0 -0
  134. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/__init__.py +0 -0
  135. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/align_trans.py +0 -0
  136. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/matlab_cp2tform.py +0 -0
  137. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface.py +0 -0
  138. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_net.py +0 -0
  139. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_utils.py +0 -0
  140. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/__init__.py +0 -0
  141. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/face_detector.py +0 -0
  142. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/__init__.py +0 -0
  143. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/common.py +0 -0
  144. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/experimental.py +0 -0
  145. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolo.py +0 -0
  146. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5l.yaml +0 -0
  147. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5n.yaml +0 -0
  148. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/__init__.py +0 -0
  149. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/autoanchor.py +0 -0
  150. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/datasets.py +0 -0
  151. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/extract_ckpt.py +0 -0
  152. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/general.py +0 -0
  153. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/torch_utils.py +0 -0
  154. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/parsing/__init__.py +0 -0
  155. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/parsing/bisenet.py +0 -0
  156. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/parsing/parsenet.py +0 -0
  157. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/parsing/resnet.py +0 -0
  158. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/utils/__init__.py +0 -0
  159. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/utils/face_restoration_helper.py +0 -0
  160. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/utils/face_utils.py +0 -0
  161. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/facelib/utils/misc.py +0 -0
  162. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/r_chainner/README.md +0 -0
  163. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/r_chainner/__init__.py +0 -0
  164. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/r_chainner/gfpganv1_clean_arch.py +0 -0
  165. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/r_chainner/model_loading.py +0 -0
  166. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/r_chainner/stylegan2_clean_arch.py +0 -0
  167. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/facerestore_cf/r_chainner/types.py +0 -0
  168. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/node_controlnet_model_loader.py +0 -0
  169. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/node_image_loader.py +0 -0
  170. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/node_image_output.py +0 -0
  171. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/node_lora_loader.py +0 -0
  172. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/node_model_loader.py +0 -0
  173. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/nodes/node_upscale_model_loader.py +0 -0
  174. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/__init__.py +0 -0
  175. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/constants.py +0 -0
  176. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/context.py +0 -0
  177. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/families/__init__.py +0 -0
  178. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/families/image.py +0 -0
  179. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/families/post_processing.py +0 -0
  180. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/graph.py +0 -0
  181. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/horde_compat.py +0 -0
  182. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/patches.py +0 -0
  183. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/payload.py +0 -0
  184. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/payload_pp.py +0 -0
  185. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/registry.py +0 -0
  186. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/resolution.py +0 -0
  187. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline/template.py +0 -0
  188. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_controlnet.json +0 -0
  189. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_controlnet_annotator.json +0 -0
  190. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_controlnet_hires_fix.json +0 -0
  191. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_flux.json +0 -0
  192. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_image_facefix.json +0 -0
  193. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_image_upscale.json +0 -0
  194. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_qr_code.json +0 -0
  195. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_qwen.json +0 -0
  196. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_stable_cascade.json +0 -0
  197. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_stable_cascade_2pass.json +0 -0
  198. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_stable_cascade_remix.json +0 -0
  199. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_stable_diffusion.json +0 -0
  200. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_stable_diffusion_hires_fix.json +0 -0
  201. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_stable_diffusion_img2img_mask.json +0 -0
  202. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipeline_designs/pipeline_stable_diffusion_paint.json +0 -0
  203. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_controlnet.json +0 -0
  204. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_controlnet_annotator.json +0 -0
  205. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_controlnet_hires_fix.json +0 -0
  206. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_flux.json +0 -0
  207. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_image_facefix.json +0 -0
  208. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_image_upscale.json +0 -0
  209. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_qr_code.json +0 -0
  210. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_qwen.json +0 -0
  211. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_stable_cascade.json +0 -0
  212. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_stable_cascade_2pass.json +0 -0
  213. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_stable_cascade_remix.json +0 -0
  214. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_stable_diffusion.json +0 -0
  215. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_stable_diffusion_hires_fix.json +0 -0
  216. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_stable_diffusion_img2img_mask.json +0 -0
  217. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_stable_diffusion_paint.json +0 -0
  218. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pipelines/pipeline_z_image.json +0 -0
  219. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/preload.py +0 -0
  220. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/py.typed +0 -0
  221. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pyinstaller_hooks/__init__.py +0 -0
  222. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/pyinstaller_hooks/hook-hordelib.horde.py +0 -0
  223. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/safety.py +0 -0
  224. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/safety_checker.py +0 -0
  225. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/settings.py +0 -0
  226. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/shared_model_manager.py +0 -0
  227. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/train.py +0 -0
  228. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/__init__.py +0 -0
  229. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/device_pinning.py +0 -0
  230. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/distance.py +0 -0
  231. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/dynamicprompt.py +0 -0
  232. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/gpuinfo.py +0 -0
  233. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/image_utils.py +0 -0
  234. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/ioredirect.py +0 -0
  235. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/logger.py +0 -0
  236. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/nvml.py +0 -0
  237. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/optional_deps.py +0 -0
  238. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/sanitizer.py +0 -0
  239. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/switch.py +0 -0
  240. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/torch_build.py +0 -0
  241. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/utils/torch_memory.py +0 -0
  242. {horde_engine-3.9.2 → horde_engine-3.9.3}/hordelib/vram_planning.py +0 -0
  243. {horde_engine-3.9.2 → horde_engine-3.9.3}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: horde-engine
3
- Version: 3.9.2
3
+ Version: 3.9.3
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.2'
22
- __version_tuple__ = version_tuple = (3, 9, 2)
21
+ __version__ = version = '3.9.3'
22
+ __version_tuple__ = version_tuple = (3, 9, 3)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1015,6 +1015,8 @@ class Comfy_Horde:
1015
1015
  pipeline: GraphDict,
1016
1016
  params: dict[str, typing.Any],
1017
1017
  comfyui_progress_callback: typing.Callable[[ComfyUIProgress, str], None] | None = None,
1018
+ *,
1019
+ defer_vram_unload: bool = False,
1018
1020
  ) -> list[dict[str, typing.Any]] | None:
1019
1021
  start_time = time.time()
1020
1022
  _t0 = time.perf_counter()
@@ -1134,7 +1136,12 @@ class Comfy_Horde:
1134
1136
  _execute_seconds = _t_post_execute - _t_pre_execute
1135
1137
  if use_native_progress:
1136
1138
  set_run_progress_callback(None)
1137
- if self.aggressive_unloading:
1139
+ # ``aggressive_unloading`` evicts the just-used model from VRAM after every job so N
1140
+ # sibling ComfyUI instances sharing one GPU never collectively over-commit. ``defer_vram_unload``
1141
+ # lets the host keep the model resident across this job when it knows the same model runs next
1142
+ # and the VRAM budget allows it, so the back-to-back force-reload (the dominant non-sampling cost
1143
+ # on small jobs) is skipped. The host owns the safety decision; here we only honor it.
1144
+ if self.aggressive_unloading and not defer_vram_unload:
1138
1145
  global _comfy_cleanup_models
1139
1146
  logger.debug("Cleaning up models")
1140
1147
  with logfire.span("comfy.cleanup"):
@@ -1191,6 +1198,8 @@ class Comfy_Horde:
1191
1198
  pipeline: GraphDict,
1192
1199
  params: dict[str, typing.Any],
1193
1200
  comfyui_progress_callback: typing.Callable[[ComfyUIProgress, str], None] | None = None,
1201
+ *,
1202
+ defer_vram_unload: bool = False,
1194
1203
  ) -> list[dict[str, typing.Any]]:
1195
1204
  # From the horde point of view, let us assume the output we are interested in
1196
1205
  # is always in a HordeImageOutput node named "output_image". This is an array of
@@ -1219,7 +1228,7 @@ class Comfy_Horde:
1219
1228
  if idle_time > 1 and UserSettings.enable_idle_time_warning.active:
1220
1229
  logger.warning("No job ran recently", idle_seconds=round(idle_time, 3))
1221
1230
 
1222
- result = self._run_pipeline(pipeline, params, comfyui_progress_callback)
1231
+ result = self._run_pipeline(pipeline, params, comfyui_progress_callback, defer_vram_unload=defer_vram_unload)
1223
1232
 
1224
1233
  if result:
1225
1234
  return result
@@ -87,11 +87,17 @@ class InProcessComfyBackend:
87
87
  graph: dict[str, Any],
88
88
  *,
89
89
  progress_callback: ProgressCallback | None = None,
90
+ defer_vram_unload: bool = False,
90
91
  ) -> list[OutputArtifact]:
91
92
  self._ensure_started()
92
93
  assert self._comfy is not None
93
94
 
94
- results = self._comfy.run_image_pipeline(graph, {}, progress_callback)
95
+ results = self._comfy.run_image_pipeline(
96
+ graph,
97
+ {},
98
+ progress_callback,
99
+ defer_vram_unload=defer_vram_unload,
100
+ )
95
101
  return self._to_artifacts(results)
96
102
 
97
103
  @staticmethod
@@ -59,12 +59,17 @@ class ExecutionBackend(Protocol):
59
59
  graph: dict[str, Any],
60
60
  *,
61
61
  progress_callback: ProgressCallback | None = None,
62
+ defer_vram_unload: bool = False,
62
63
  ) -> list[OutputArtifact]:
63
64
  """Execute a fully materialized API-format graph and return its outputs.
64
65
 
65
66
  Args:
66
67
  graph: The pipeline graph in ComfyUI API format, with all parameters already set.
67
68
  progress_callback: Optionally called with progress updates during execution.
69
+ defer_vram_unload: When True, keep the model resident in VRAM after this run instead of
70
+ evicting it, so a following job that reuses it skips the RAM->VRAM reload. The caller
71
+ owns the VRAM-safety decision (it must know the model fits alongside the live set);
72
+ backends that never evict between runs ignore this. Defaults to False.
68
73
 
69
74
  Returns:
70
75
  list[OutputArtifact]: The outputs produced by the run.
@@ -201,6 +201,7 @@ class HordeLib:
201
201
  *,
202
202
  single_image_expected: bool = True,
203
203
  comfyui_progress_callback: Callable[[ComfyUIProgress, str], None] | None = None,
204
+ defer_vram_unload: bool = False,
204
205
  ) -> list[ResultingImageReturn] | ResultingImageReturn:
205
206
  start_time = time.time()
206
207
 
@@ -236,6 +237,7 @@ class HordeLib:
236
237
  artifacts = self.backend.run_pipeline(
237
238
  graph.to_api_dict(),
238
239
  progress_callback=comfyui_progress_callback,
240
+ defer_vram_unload=defer_vram_unload,
239
241
  )
240
242
 
241
243
  ret_results = []
@@ -266,6 +268,7 @@ class HordeLib:
266
268
  payload: dict | ImageGenerateJobPopResponse,
267
269
  *,
268
270
  progress_callback: Callable[[ProgressReport], None] | None = None,
271
+ defer_vram_unload: bool = False,
269
272
  ) -> list[ResultingImageReturn]:
270
273
  post_processing_requested: list[str] | None = None
271
274
  if isinstance(payload, dict):
@@ -447,6 +450,7 @@ class HordeLib:
447
450
  payload,
448
451
  single_image_expected=False,
449
452
  comfyui_progress_callback=_default_progress_callback,
453
+ defer_vram_unload=defer_vram_unload,
450
454
  )
451
455
 
452
456
  if not isinstance(result, list):
File without changes
File without changes
File without changes