Files
aza/AzA march 2026/aza_desktop.spec

157 lines
3.5 KiB
RPMSpec
Raw Permalink Normal View History

2026-03-25 22:03:39 +01:00
# -*- 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",
2026-04-19 20:41:37 +02:00
"_build_info",
2026-03-25 22:03:39 +01:00
"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",
)