glowpath/backend/hooks/hook-open_webui.py

55 lines
1.5 KiB
Python

"""
PyInstaller hook for open-webui package.
This hook ensures all necessary files and modules are included in the bundle.
"""
from PyInstaller.utils.hooks import (
collect_data_files,
collect_submodules,
collect_dynamic_libs,
)
# Collect all submodules
hiddenimports = collect_submodules("open_webui")
# Collect data files (templates, static files, etc.)
datas = collect_data_files("open_webui")
# Collect any dynamic libraries
binaries = collect_dynamic_libs("open_webui")
# Add specific hidden imports that might be missed
hiddenimports += [
"open_webui.main",
"open_webui.apps",
"open_webui.config",
"open_webui.constants",
"open_webui.utils",
"open_webui.models",
"uvicorn.protocols.http.auto",
"uvicorn.protocols.websockets.auto",
"uvicorn.lifespan.on",
"uvicorn.loops.auto",
# Sentence transformers and embedding related imports
"sentence_transformers",
"sentence_transformers.models",
"sentence_transformers.models.Transformer",
"sentence_transformers.models.Pooling",
"sentence_transformers.models.Normalize",
"sentence_transformers.util",
"sentence_transformers.cross_encoder",
"transformers",
"transformers.models",
"transformers.models.auto",
"transformers.models.bert",
"transformers.tokenization_utils",
"torch",
"torch.nn",
"torch.optim",
"tokenizers",
"tokenizers.implementations",
"huggingface_hub",
"huggingface_hub.file_download",
"sklearn.metrics.pairwise",
]