""" 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", ]