pyinstaller --name="Battery Health Report Generator" --icon="icons/app_icon.ico" --add-data="icons;icons" --add-data="stylesheets;stylesheets" --windowed --onedir --contents-directory "." app.py clean.py extract.py generate.py load_json.py1. To make it window-based, add the -w (a.k.a. --windowed) option. Then your executable will start without the console attached.
2. To get the .exe file and data in one folder, use --contents-directory. (It's necessary to pass --onedir too)


