horde-engine 3.2.6__tar.gz → 3.2.8__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 (237) hide show
  1. {horde_engine-3.2.6 → horde_engine-3.2.8}/PKG-INFO +1 -1
  2. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/_version.py +2 -2
  3. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/api.py +2 -0
  4. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/initialisation.py +8 -0
  5. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/preload.py +49 -3
  6. {horde_engine-3.2.6 → horde_engine-3.2.8}/.gitignore +0 -0
  7. {horde_engine-3.2.6 → horde_engine-3.2.8}/LICENSE +0 -0
  8. {horde_engine-3.2.6 → horde_engine-3.2.8}/README.md +0 -0
  9. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/__init__.py +0 -0
  10. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/__pyinstaller.py +0 -0
  11. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/benchmark.py +0 -0
  12. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/beta_models.py +0 -0
  13. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/comfy_horde.py +0 -0
  14. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/config_path.py +0 -0
  15. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/consts.py +0 -0
  16. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/exceptions.py +0 -0
  17. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/execution/__init__.py +0 -0
  18. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/execution/comfy_patches.py +0 -0
  19. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/execution/graph_utils.py +0 -0
  20. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/execution/in_process.py +0 -0
  21. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/execution/interface.py +0 -0
  22. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/execution/phase_timing.py +0 -0
  23. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/execution/progress_hook.py +0 -0
  24. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/execution/sampling_lease.py +0 -0
  25. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/feature_impact.py +0 -0
  26. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/feature_requirements.py +0 -0
  27. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/horde.py +0 -0
  28. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/installation/__init__.py +0 -0
  29. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/installation/__main__.py +0 -0
  30. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/installation/installer.py +0 -0
  31. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/installation/manifest.json +0 -0
  32. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/installation/manifest.py +0 -0
  33. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/integrations/__init__.py +0 -0
  34. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/integrations/logfire_comfy_internals.py +0 -0
  35. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/integrations/logfire_setup.py +0 -0
  36. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/metrics.py +0 -0
  37. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_database/db_dep.json +0 -0
  38. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_database/db_embeds.json +0 -0
  39. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_database/diffusers.json +0 -0
  40. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_database/med_config.json +0 -0
  41. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/__init__.py +0 -0
  42. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/base.py +0 -0
  43. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/civitai_adhoc.py +0 -0
  44. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/civitai_provider.py +0 -0
  45. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/civitai_records.py +0 -0
  46. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/codeformer.py +0 -0
  47. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/compvis.py +0 -0
  48. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/controlnet.py +0 -0
  49. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/diffusers.py +0 -0
  50. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/esrgan.py +0 -0
  51. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/gfpgan.py +0 -0
  52. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/hyper.py +0 -0
  53. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/lora.py +0 -0
  54. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/miscellaneous.py +0 -0
  55. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/safety_checker.py +0 -0
  56. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/model_manager/ti.py +0 -0
  57. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/__init__.py +0 -0
  58. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/LICENSE +0 -0
  59. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/README.md +0 -0
  60. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/__init__.py +0 -0
  61. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_example.json +0 -0
  62. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_fg_all.json +0 -0
  63. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_bg.json +0 -0
  64. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_fg.json +0 -0
  65. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg.json +0 -0
  66. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg_stop_at.json +0 -0
  67. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_fg.json +0 -0
  68. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example.json +0 -0
  69. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example_rgba.json +0 -0
  70. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_joint.json +0 -0
  71. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/layered_diffusion.py +0 -0
  72. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/__init__.py +0 -0
  73. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/attention_sharing.py +0 -0
  74. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/enums.py +0 -0
  75. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/models.py +0 -0
  76. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/utils.py +0 -0
  77. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/pyproject.toml +0 -0
  78. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/comfyui_layerdiffuse/requirements.txt +0 -0
  79. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/LICENSE +0 -0
  80. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/README.md +0 -0
  81. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/__init__.py +0 -0
  82. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/VERSION +0 -0
  83. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/__init__.py +0 -0
  84. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/archs/__init__.py +0 -0
  85. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/archs/arcface_arch.py +0 -0
  86. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/archs/arch_util.py +0 -0
  87. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/archs/codeformer_arch.py +0 -0
  88. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/archs/rrdbnet_arch.py +0 -0
  89. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/archs/vgg_arch.py +0 -0
  90. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/archs/vqgan_arch.py +0 -0
  91. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/data/__init__.py +0 -0
  92. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/data/data_sampler.py +0 -0
  93. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/data/data_util.py +0 -0
  94. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/data/prefetch_dataloader.py +0 -0
  95. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/data/transforms.py +0 -0
  96. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/losses/__init__.py +0 -0
  97. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/losses/loss_util.py +0 -0
  98. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/losses/losses.py +0 -0
  99. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/metrics/__init__.py +0 -0
  100. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/metrics/metric_util.py +0 -0
  101. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/metrics/psnr_ssim.py +0 -0
  102. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/models/__init__.py +0 -0
  103. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/__init__.py +0 -0
  104. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/__init__.py +0 -0
  105. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/deform_conv.py +0 -0
  106. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda.cpp +0 -0
  107. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda_kernel.cu +0 -0
  108. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_ext.cpp +0 -0
  109. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/__init__.py +0 -0
  110. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/fused_act.py +0 -0
  111. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act.cpp +0 -0
  112. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act_kernel.cu +0 -0
  113. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/__init__.py +0 -0
  114. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d.cpp +0 -0
  115. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d_kernel.cu +0 -0
  116. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/upfirdn2d.py +0 -0
  117. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/setup.py +0 -0
  118. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/train.py +0 -0
  119. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/__init__.py +0 -0
  120. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/dist_util.py +0 -0
  121. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/download_util.py +0 -0
  122. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/file_client.py +0 -0
  123. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/img_util.py +0 -0
  124. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/lmdb_util.py +0 -0
  125. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/logger.py +0 -0
  126. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/matlab_functions.py +0 -0
  127. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/misc.py +0 -0
  128. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/options.py +0 -0
  129. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/realesrgan_utils.py +0 -0
  130. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/utils/registry.py +0 -0
  131. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/basicsr/version.py +0 -0
  132. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/__init__.py +0 -0
  133. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/__init__.py +0 -0
  134. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/align_trans.py +0 -0
  135. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/matlab_cp2tform.py +0 -0
  136. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface.py +0 -0
  137. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_net.py +0 -0
  138. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_utils.py +0 -0
  139. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/__init__.py +0 -0
  140. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/face_detector.py +0 -0
  141. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/__init__.py +0 -0
  142. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/common.py +0 -0
  143. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/experimental.py +0 -0
  144. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolo.py +0 -0
  145. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5l.yaml +0 -0
  146. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5n.yaml +0 -0
  147. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/__init__.py +0 -0
  148. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/autoanchor.py +0 -0
  149. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/datasets.py +0 -0
  150. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/extract_ckpt.py +0 -0
  151. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/general.py +0 -0
  152. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/torch_utils.py +0 -0
  153. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/parsing/__init__.py +0 -0
  154. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/parsing/bisenet.py +0 -0
  155. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/parsing/parsenet.py +0 -0
  156. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/parsing/resnet.py +0 -0
  157. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/utils/__init__.py +0 -0
  158. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/utils/face_restoration_helper.py +0 -0
  159. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/utils/face_utils.py +0 -0
  160. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/facelib/utils/misc.py +0 -0
  161. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/r_chainner/README.md +0 -0
  162. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/r_chainner/__init__.py +0 -0
  163. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/r_chainner/gfpganv1_clean_arch.py +0 -0
  164. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/r_chainner/model_loading.py +0 -0
  165. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/r_chainner/stylegan2_clean_arch.py +0 -0
  166. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/facerestore_cf/r_chainner/types.py +0 -0
  167. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/node_controlnet_model_loader.py +0 -0
  168. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/node_image_loader.py +0 -0
  169. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/node_image_output.py +0 -0
  170. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/node_lora_loader.py +0 -0
  171. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/node_model_loader.py +0 -0
  172. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/nodes/node_upscale_model_loader.py +0 -0
  173. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/__init__.py +0 -0
  174. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/constants.py +0 -0
  175. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/context.py +0 -0
  176. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/families/__init__.py +0 -0
  177. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/families/image.py +0 -0
  178. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/families/post_processing.py +0 -0
  179. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/graph.py +0 -0
  180. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/horde_compat.py +0 -0
  181. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/patches.py +0 -0
  182. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/payload.py +0 -0
  183. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/payload_pp.py +0 -0
  184. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/registry.py +0 -0
  185. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/resolution.py +0 -0
  186. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline/template.py +0 -0
  187. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_controlnet.json +0 -0
  188. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_controlnet_annotator.json +0 -0
  189. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_controlnet_hires_fix.json +0 -0
  190. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_flux.json +0 -0
  191. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_image_facefix.json +0 -0
  192. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_image_upscale.json +0 -0
  193. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_qr_code.json +0 -0
  194. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_qwen.json +0 -0
  195. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_stable_cascade.json +0 -0
  196. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_stable_cascade_2pass.json +0 -0
  197. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_stable_cascade_remix.json +0 -0
  198. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_stable_diffusion.json +0 -0
  199. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_stable_diffusion_hires_fix.json +0 -0
  200. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_stable_diffusion_img2img_mask.json +0 -0
  201. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipeline_designs/pipeline_stable_diffusion_paint.json +0 -0
  202. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_controlnet.json +0 -0
  203. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_controlnet_annotator.json +0 -0
  204. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_controlnet_hires_fix.json +0 -0
  205. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_flux.json +0 -0
  206. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_image_facefix.json +0 -0
  207. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_image_upscale.json +0 -0
  208. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_qr_code.json +0 -0
  209. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_qwen.json +0 -0
  210. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_stable_cascade.json +0 -0
  211. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_stable_cascade_2pass.json +0 -0
  212. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_stable_cascade_remix.json +0 -0
  213. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_stable_diffusion.json +0 -0
  214. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_stable_diffusion_hires_fix.json +0 -0
  215. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_stable_diffusion_img2img_mask.json +0 -0
  216. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pipelines/pipeline_stable_diffusion_paint.json +0 -0
  217. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/py.typed +0 -0
  218. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pyinstaller_hooks/__init__.py +0 -0
  219. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/pyinstaller_hooks/hook-hordelib.horde.py +0 -0
  220. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/safety.py +0 -0
  221. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/safety_checker.py +0 -0
  222. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/settings.py +0 -0
  223. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/shared_model_manager.py +0 -0
  224. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/train.py +0 -0
  225. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/__init__.py +0 -0
  226. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/distance.py +0 -0
  227. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/dynamicprompt.py +0 -0
  228. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/gpuinfo.py +0 -0
  229. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/image_utils.py +0 -0
  230. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/ioredirect.py +0 -0
  231. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/logger.py +0 -0
  232. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/optional_deps.py +0 -0
  233. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/sanitizer.py +0 -0
  234. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/switch.py +0 -0
  235. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/torch_build.py +0 -0
  236. {horde_engine-3.2.6 → horde_engine-3.2.8}/hordelib/utils/torch_memory.py +0 -0
  237. {horde_engine-3.2.6 → horde_engine-3.2.8}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: horde-engine
3
- Version: 3.2.6
3
+ Version: 3.2.8
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.2.6'
22
- __version_tuple__ = version_tuple = (3, 2, 6)
21
+ __version__ = version = '3.2.8'
22
+ __version_tuple__ = version_tuple = (3, 2, 8)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -66,6 +66,7 @@ from hordelib.pipeline.payload_pp import (
66
66
  UpscalePayload,
67
67
  classify_post_processor,
68
68
  )
69
+ from hordelib.preload import controlnet_annotators_present
69
70
  from hordelib.shared_model_manager import SharedModelManager
70
71
  from hordelib.utils.ioredirect import ComfyUIProgress, ComfyUIProgressUnit
71
72
  from hordelib.utils.logger import HordeLog
@@ -120,6 +121,7 @@ __all__ = [
120
121
  "classify_post_processor",
121
122
  "clear_accelerator_cache",
122
123
  "controlnet_annotator_download_bytes",
124
+ "controlnet_annotators_present",
123
125
  "enumerate_accelerators",
124
126
  "estimate_job_burden",
125
127
  "feature_available",
@@ -49,6 +49,14 @@ def initialise(
49
49
  """
50
50
  global _is_initialised
51
51
 
52
+ # Opt the CUDA/ROCm caching allocator into expandable segments before ComfyUI imports torch.
53
+ # Fragmentation (a large "reserved but unallocated" pool) is a common cause of an out-of-memory
54
+ # error even when the device still reports free memory; torch's own OOM message recommends this
55
+ # setting. setdefault leaves any operator-provided value untouched. Harmless on non-CUDA backends
56
+ # (the variable is ignored). On ROCm/HIP builds the equivalent variable is set too.
57
+ os.environ.setdefault("PYTORCH_CUDA_ALLOC_CONF", "expandable_segments:True")
58
+ os.environ.setdefault("PYTORCH_HIP_ALLOC_CONF", "expandable_segments:True")
59
+
52
60
  # Wipe existing logs if requested
53
61
  if clear_logs and os.path.exists("./logs"):
54
62
  shutil.rmtree("./logs")
@@ -88,12 +88,32 @@ def _pinned_annotator_ref() -> str | None:
88
88
  return None
89
89
 
90
90
 
91
+ def _annotator_ckpts_dir() -> Path | None:
92
+ """Return the directory annotator checkpoints live in, or None if it cannot be determined.
93
+
94
+ ``hordelib.initialise()`` exports ``AUX_ANNOTATOR_CKPTS_PATH`` and is the authority once a run is
95
+ underway. When it is unset (e.g. a no-boot caller that only wants to *check* presence) the same value
96
+ is derived from :class:`~hordelib.settings.UserSettings`, which needs neither ComfyUI nor a GPU, so
97
+ presence can be read before (or without) initialisation.
98
+ """
99
+ ckpts_dir = os.environ.get("AUX_ANNOTATOR_CKPTS_PATH")
100
+ if ckpts_dir:
101
+ return Path(ckpts_dir)
102
+ try:
103
+ from hordelib.settings import UserSettings
104
+
105
+ return UserSettings.get_model_directory() / "controlnet" / "annotators"
106
+ except Exception as e:
107
+ logger.debug("Could not derive the annotator checkpoint directory: error={}", e)
108
+ return None
109
+
110
+
91
111
  def _preload_marker_path() -> Path | None:
92
112
  """Return the on-disk marker path, or None if the annotator directory is unknown."""
93
- ckpts_dir = os.environ.get("AUX_ANNOTATOR_CKPTS_PATH")
94
- if not ckpts_dir:
113
+ ckpts_dir = _annotator_ckpts_dir()
114
+ if ckpts_dir is None:
95
115
  return None
96
- return Path(ckpts_dir) / _PRELOAD_MARKER_NAME
116
+ return ckpts_dir / _PRELOAD_MARKER_NAME
97
117
 
98
118
 
99
119
  def _annotators_already_verified(ref: str) -> bool:
@@ -107,6 +127,32 @@ def _annotators_already_verified(ref: str) -> bool:
107
127
  return False
108
128
 
109
129
 
130
+ def controlnet_annotators_present() -> bool | None:
131
+ """Whether the controlnet annotators are already downloaded and verified on this machine.
132
+
133
+ Reads the on-disk preload marker (keyed to the pinned ``comfyui_controlnet_aux`` commit) exactly the
134
+ way :func:`download_all_controlnet_annotators` reads it for its fast-path skip, so a caller can decide
135
+ whether a (slow, one-time) annotator download is still pending *before* paying for it. Import-safe:
136
+ needs neither :func:`hordelib.initialise` nor a GPU, because the directory is derived from
137
+ :class:`~hordelib.settings.UserSettings` when the runtime env var is unset.
138
+
139
+ Returns:
140
+ ``True`` when the marker matches the pinned ref (a full set was downloaded and verified),
141
+ ``False`` when it is absent or stale (a download is still pending), or ``None`` when presence
142
+ cannot be determined (the pinned ref or the annotator directory is unknown).
143
+ """
144
+ try:
145
+ ref = _pinned_annotator_ref()
146
+ if ref is None:
147
+ return None
148
+ if _preload_marker_path() is None:
149
+ return None
150
+ return _annotators_already_verified(ref)
151
+ except Exception as e: # pragma: no cover - presence is best-effort; never raise into a caller
152
+ logger.debug("Could not determine controlnet annotator presence: error={}", e)
153
+ return None
154
+
155
+
110
156
  def _record_annotators_verified(ref: str) -> None:
111
157
  """Persist that annotators for ``ref`` are downloaded and verified on this machine.
112
158
 
File without changes
File without changes
File without changes