A Streamlit application for selecting heat pumps based on capacity, temperature conditions, and refrigerant type.
- User authentication with admin and viewer roles
- Heat pump selection based on heating capacity and operating conditions
- Support for both Air Source and Water Source heat pumps
- Customizable search weights and exact matching options
- Excel data export functionality
- Clone the repository
- Install dependencies:
pip install -r requirements.txt
- Create
.streamlit/secrets.tomlwith your configuration - Run the application:
streamlit run app.py
This application is configured for deployment on AWS App Runner using Docker.
- AWS Account with App Runner access
- GitHub repository with your code
- Environment variables configured in App Runner
Set these in your App Runner service configuration:
ADMIN_EMAIL: Admin user email (default: admin@prometheanenergy.com)ADMIN_PASSWORD: Admin user passwordVIEWER_EMAIL: Viewer user email (default: common@prometheanenergy.com)VIEWER_PASSWORD: Viewer user passwordCOOKIE_NAME: Cookie name for auth (default: modelpicker_auth)COOKIE_KEY: Secret key for cookie encryption (required for security)COOKIE_EXPIRY_DAYS: Cookie expiry in days (default: 7)DATA_PATH: Path to Excel data file (default: data/models.xlsx)
- Push your code to GitHub
- Create a new App Runner service in AWS Console
- Connect to your GitHub repository
- Use "Use a configuration file" and specify
apprunner.yaml - Set the required environment variables
- Deploy!
├── app.py # Main Streamlit application
├── requirements.txt # Python dependencies
├── Dockerfile # Container configuration
├── apprunner.yaml # AWS App Runner configuration
├── .dockerignore # Docker ignore file
├── .gitignore # Git ignore file
├── data/
│ └── models.xlsx # Heat pump data
└── .streamlit/
└── secrets.toml # Local secrets (not in git)
- The
secrets.tomlfile is excluded from git for security - Use strong passwords and a secure cookie key in production
- Environment variables are used for sensitive configuration in production