-
Notifications
You must be signed in to change notification settings - Fork 0
Added streamlit progress dashboard #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a comprehensive real-time monitoring dashboard for the Hill Climber optimization package, enabling users to visualize optimization progress as it runs. The implementation introduces SQLite-based database logging with a Streamlit web dashboard, bumping the version from 1.0.2 to 1.1.0.
Key Changes:
- Added Streamlit dashboard (
progress_dashboard.py) with live metrics visualization, replica status cards, and temperature exchange timeline - Implemented SQLite database backend (
hill_climber/database.py) with WAL mode for concurrent read/write access - Extended optimizer to support optional database logging with configurable collection intervals and buffer sizes
- Introduced
checkpoint_intervalparameter to decouple checkpoint frequency from batch frequency
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
progress_dashboard.py |
New 429-line Streamlit dashboard providing real-time visualization of optimization progress with auto-refresh, metric selection, and interactive Plotly charts |
hill_climber/database.py |
New database module with thread-safe SQLite writer supporting schema initialization, metrics logging, and replica status tracking |
hill_climber/optimizer.py |
Added database initialization, new db_* parameters, batch counter for checkpoint intervals, and database buffer collection from workers |
hill_climber/replica_worker.py |
Extended to collect and buffer metrics for database logging, with conditional database writer instantiation per worker |
pyproject.toml |
Added optional 'dashboard' dependency group with streamlit>=1.28.0 and plotly>=5.14.0, version bump to 1.1.0 |
hill_climber/__init__.py |
Version string updated to 1.1.0 |
docs/source/dashboard.rst |
New comprehensive documentation (346 lines) covering dashboard installation, usage, configuration, performance tuning, and troubleshooting |
docs/source/index.rst |
Added dashboard feature and documentation link to main page |
docs/source/conf.py |
Version updated to 1.1.0 |
README.md |
Added dashboard feature description, installation instructions, and usage example |
docs/README.md |
Reorganized documentation maintenance guide (content moved from deleted DOCUMENTATION_README.md) |
CITATION.cff |
Version updated to 1.1.0 |
.gitignore |
Added SQLite database files (*.db, *.db-shm, *.db-wal) to ignore list |
benchmark_parallel.py |
Deleted development/testing script (no longer needed) |
DOCUMENTATION_README.md |
Deleted (content moved to docs/README.md for better organization) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.