# -*- mode: python ; coding: utf-8 -*- from PyInstaller.utils.hooks import collect_submodules hiddenimports = ( collect_submodules("adam.tools") + collect_submodules("transformers.models.dinov2") + ["transformers", "torch", "PIL"] ) a = Analysis( ["main.py"], pathex=[], binaries=[], datas=[ ("assets/adam_atom.png", "assets"), ("config/tools.json", "config"), ("config/settings.json", "config"), ("config/external_tools.json", "config"), ], hiddenimports=hiddenimports, hookspath=[], hooksconfig={}, runtime_hooks=[], # Some ML/scientific packages advertise optional Qt integrations. ADAM uses # PySide6 exclusively, and PyInstaller cannot bundle multiple Qt bindings. excludes=[ "PyQt5", "PyQt6", "PySide2", "IPython", "jupyter", "matplotlib", "nltk", "notebook", "pandas", "pytest", "sklearn", "tensorboard", "tensorflow", "torch.utils.tensorboard", ], noarchive=False, optimize=0, ) pyz = PYZ(a.pure) exe = EXE( pyz, a.scripts, [], exclude_binaries=True, name="ADAM", debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=False, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, icon="assets/adam_atom.ico", ) coll = COLLECT( exe, a.binaries, a.datas, strip=False, upx=True, upx_exclude=[], name="ADAM", )