# -*- mode: python ; coding: utf-8 -*- from pathlib import Path from PyInstaller.utils.hooks import collect_submodules project_root = Path(SPECPATH) data_dir = project_root / "data" hiddenimports = [] hiddenimports += collect_submodules("uvicorn") hiddenimports += collect_submodules("fastapi") hiddenimports += collect_submodules("starlette") hiddenimports += collect_submodules("anyio") hiddenimports += collect_submodules("pydantic") hiddenimports += [ # --- local modules used by basis14.py (desktop) --- "aza_config", "aza_prompts", "aza_persistence", "aza_ui_helpers", "aza_audio", "aza_todo_mixin", "aza_text_windows_mixin", "aza_diktat_mixin", "aza_settings_mixin", "aza_ordner_mixin", "aza_arbeitsplan_mixin", "aza_notizen_mixin", "aza_totp", "aza_consent", "aza_audit_log", "desktop_backend_autostart", "desktop_update_check", "aza_version", "_build_info", "openai_runtime_config", "aza_launcher", "aza_activation", "security_vault", "aza_med_validator", "aza_style", "aza_admin", "aza_systemstatus", "aza_global_paste", "aza_firewall", "aza_docapp", "translate", "apps.diktat.audio_notiz_app", "apps.diktat.diktat_app", # --- local modules used by backend_main.py --- "backend_main", "aza_tls", "aza_rate_limit", "aza_security", "aza_license_logic", "aza_device_enforcement", "aza_news_backend", "aza_monitoring", "aza_stripe_idempotency", "aza_backup", "aza_macro", "stripe_routes", "admin_routes", "project_status_routes", "services", "services.live_event_search", "services.event_llm_direct", "services.news_llm_search", "services.event_extract_llm", "services.link_verify", # --- third-party that PyInstaller may miss --- "bcrypt", "pyotp", "qrcode", "qrcode.image.pure", "PIL", "PIL.Image", "PIL.ImageTk", "pynput", "pynput.keyboard", "pynput.keyboard._win32", "pynput.mouse", "pynput.mouse._win32", "pynput._util", "pynput._util.win32", "dotenv", "openai", "requests", "stripe", "httpx", "sounddevice", "_sounddevice_data", "numpy", "docx", "docx.opc", "docx.opc.constants", "docx.opc.part", "docx.opc.pkgreader", "lxml", "lxml.etree", ] datas = [ (str(project_root / "logo.png"), "."), (str(project_root / "logo.ico"), "."), (str(project_root / "apps"), "apps"), (str(project_root / "backend_url.txt"), "."), (str(project_root / "backend_token.txt"), "."), (str(project_root / "project_status.json"), "."), (str(project_root / "project_plan.json"), "."), (str(project_root / "project_todos.json"), "."), (str(project_root / "project_roadmap.json"), "."), (str(project_root / "assets"), "assets"), (str(project_root / "legal"), "legal"), ] a = Analysis( [str(project_root / "basis14.py")], pathex=[str(project_root)], binaries=[], datas=datas, hiddenimports=hiddenimports, hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], noarchive=False, ) pyz = PYZ(a.pure) exe = EXE( pyz, a.scripts, [], exclude_binaries=True, name="aza_desktop", debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=True, disable_windowed_traceback=False, icon=str(project_root / "logo.ico"), ) coll = COLLECT( exe, a.binaries, a.datas, strip=False, upx=True, upx_exclude=[], name="aza_desktop", )