# -*- mode: python ; coding: utf-8 -*- # PyInstaller spec file for macOS executable (Web-based UI) block_cipher = None a = Analysis( ['web_flasher.py'], pathex=[], binaries=[], datas=[ ('templates', 'templates'), ], hiddenimports=[ 'serial.tools.list_ports', 'flask', 'jinja2', 'werkzeug', 'flask_socketio', 'socketio', 'engineio.async_drivers.threading', ], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], 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='ESP32_Flasher', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=False, # macOS app bundle (no console window) disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, ) # Create macOS app bundle app = BUNDLE( exe, name='ESP32_Flasher.app', icon=None, # Add path to .icns file if you have one bundle_identifier='com.soundshot.esp32flasher', info_plist={ 'NSPrincipalClass': 'NSApplication', 'NSHighResolutionCapable': 'True', 'CFBundleShortVersionString': '1.0.0', 'CFBundleDisplayName': 'ESP32 Flasher', }, )