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