Files
rfcp/installer/rfcp-server.spec
2026-01-31 15:25:18 +02:00

120 lines
3.0 KiB
Python

# -*- mode: python ; coding: utf-8 -*-
import sys
from pathlib import Path
block_cipher = None
backend_path = Path('../backend')
a = Analysis(
[str(backend_path / 'run_server.py')],
pathex=[str(backend_path)],
binaries=[],
datas=[
(str(backend_path / 'app'), 'app'),
],
hiddenimports=[
# Uvicorn internals
'uvicorn.logging',
'uvicorn.loops',
'uvicorn.loops.auto',
'uvicorn.loops.asyncio',
'uvicorn.protocols',
'uvicorn.protocols.http',
'uvicorn.protocols.http.auto',
'uvicorn.protocols.http.h11_impl',
'uvicorn.protocols.http.httptools_impl',
'uvicorn.protocols.websockets',
'uvicorn.protocols.websockets.auto',
'uvicorn.protocols.websockets.wsproto_impl',
'uvicorn.lifespan',
'uvicorn.lifespan.on',
'uvicorn.lifespan.off',
# FastAPI / Starlette
'fastapi',
'fastapi.middleware',
'fastapi.middleware.cors',
'fastapi.routing',
'fastapi.responses',
'fastapi.exceptions',
'starlette',
'starlette.routing',
'starlette.middleware',
'starlette.middleware.cors',
'starlette.responses',
'starlette.requests',
'starlette.concurrency',
'starlette.formparsers',
'starlette.staticfiles',
# Pydantic
'pydantic',
'pydantic.fields',
'pydantic_settings',
'pydantic_core',
# HTTP / networking
'httpx',
'httpcore',
'h11',
'httptools',
'anyio',
'anyio._backends',
'anyio._backends._asyncio',
'sniffio',
# MongoDB (motor/pymongo)
'motor',
'motor.motor_asyncio',
'pymongo',
'pymongo.errors',
'pymongo.collection',
'pymongo.database',
'pymongo.mongo_client',
# Async I/O
'aiofiles',
'aiofiles.os',
'aiofiles.ospath',
# Scientific
'numpy',
'numpy.core',
'scipy',
'scipy.special',
'scipy.interpolate',
# Multipart
'multipart',
'python_multipart',
# Encoding
'email.mime',
'email.mime.multipart',
],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=['tkinter', 'matplotlib', 'PIL', 'pandas', 'IPython'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='rfcp-server',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True, # Show console for debugging — set to False for release
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon='../desktop/assets/icon.ico' if sys.platform == 'win32' else None,
)