A desktop‐packaged Streamlit application for Life Cycle Optimization using Pulpo.
If you just want to use the application without installing anything else:
- Download the latest
pulpo-gui.exefrom the Release Page - Double‐click
pulpo-gui.exe. - Your default browser will automatically open to
http://localhost:8501where the GUI is available.
Note: Make sure port 8501 is free on your machine. If it’s in use, restart the app or stop the service occupying that port.
Follow these steps to clone the repository, create a Python environment, and run the app locally.
git clone https://github.com/flechtenberg/pulpo-gui.git
cd pulpo-guipython -m venv .venv
# Windows
.\.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activateInstall core requirements:
pip install -r requirements.txtrequirements.txtincludes Streamlit, Pyomo, bw2data, and other core libs.pulpo-dev[bw2]installspulpoplus Brightway2 integration.highspyis required for the HiGHS solver backend.
You have two options:
-
Via the launcher script (recommended):
python pulpo-gui/launcher.py
-
Directly with Streamlit:
streamlit run pulpo-gui/pulpo-gui.py --server.headless false
Your browser should open at http://localhost:8501 with the Pulpo GUI.
If you need to repackage the app (e.g., after code changes), use PyInstaller (pip install it!) with all required data and dependencies bundled.
Run this command from the project root:
pyinstaller --onefile --icon=pulpo-gui/data/Pulpo.ico --add-data "pulpo-gui/data;data" --add-data "pulpo-gui/pulpo-gui.py;." --collect-all streamlit --collect-all pyomo --collect-all bw2data --collect-all pulpo --collect-all highspy pulpo-gui/launcher.py--onefile: packages everything into a singleexe.--add-data: includes your icon and static data.--collect-all: ensures Streamlit, Pyomo, Brightway2, Pulpo, and Highspy assets/plugins are included. In case you introduce new dependencies add them also viacollect-all.- The resulting standalone executable appears in
dist/launcher.exe(you may rename it topulpo-gui.exe).
Pulpo GUI is open source and welcomes contributions!
-
Fork the repository and create a feature branch:
git checkout -b feature/awesome-change
-
Implement your feature or bug fix.
-
Update or add tests if applicable.
-
Commit and push your branch:
git add . git commit -m "Add awesome change" git push origin feature/awesome-change
-
Open a Pull Request against
mainand describe your changes.
- For general questions, open a discussion or ask on the repository’s Discussions page.
This project is licensed under the BSD 3-Clause License. See LICENSE for details.