How dustinspace217/astrowidget works
astrowidget periodically gathers astronomy and weather forecasts for configured sites, scores broadband and narrowband imaging prospects, and publishes shared state for desktop widgets. Its separate calibration workflow records forecasts and user decisions, grades captured FITS sessions, and reports whether the resulting data is sufficient for scoring review. The README documents four widget front ends and the principal forecast capabilities; sampled excerpts confirm fetcher/scoring and calibration links, while unsampled front-end and scoring internals are represented only where documented.
Main entry points: astrowidget_fetch.py Forecast fetcher · calibration_log.py Calibration database · scoring_engine.dart Scoring engine · allsky_sqm.py All-sky capture
Components 23
Forecast collection
- Forecast fetcher
fetcher/astrowidget_fetch.py - Forecast state
- Desktop notifications
fetcher/astrowidget_fetch.py
Scoring
- Scoring engine
scoring/lib/scoring/scoring_engine.dart - Astronomy factors
scoring/lib/astro - Weather factors
scoring/lib/weather
Widget presentation
- Plasma widget
plasmoid/space.dustin.astrowidget/contents/ui/main.qml - Standalone widget
desktop/qml/Main.qml - Rainmeter widget
rainmeter/AstroWidget/AstroWidget.ini - Übersicht widget
ubersicht/astrowidget.widget/index.jsx
Calibration
- Calibration database
fetcher/calibration_log.py - Nightly decision form
forms/nightly_decision.py - FITS metrics
grader/fits_metrics.py - Session grader
grader/grade.py - Readiness report
grader/calibration_readiness.py - All-sky capture
fetcher/allsky_sqm.py
Other components
- Scheduled run
- Open-Meteo
- Astrospheric
- 7Timer!
- NASA FIRMS
- Widget user
- indi-allsky camera
Connections 27
- Scheduled run → Forecast fetcher: starts
- Forecast fetcher → Open-Meteo: fetches weather
- Forecast fetcher → Astrospheric: fetches optional feed
- Forecast fetcher → 7Timer!: fetches fallback data
- Forecast fetcher → NASA FIRMS: queries fire data
- Forecast fetcher → Scoring engine: invokes with forecast
- Scoring engine → Astronomy factors: uses astronomy factors
- Scoring engine → Weather factors: uses weather factors
- Scoring engine → Forecast fetcher: returns verdicts
- Forecast fetcher → Forecast state: writes forecast state
- Forecast state → Plasma widget: read by
- Forecast state → Standalone widget: read by
- Forecast state → Rainmeter widget: read by
- Forecast state → Übersicht widget: read by
- Widget user → Plasma widget: views
- Widget user → Standalone widget: views
- Widget user → Rainmeter widget: views
- Widget user → Übersicht widget: views
- Forecast fetcher → Desktop notifications: dispatches alerts
- Forecast fetcher → Calibration database: logs forecasts
- Widget user → Nightly decision form: records outcome
- Nightly decision form → Calibration database: writes decisions
- FITS metrics → Session grader: supplies metrics
- Session grader → Calibration database: writes grades
- Readiness report → Calibration database: reads joined data
- All-sky capture → indi-allsky camera: fetches chart data
- All-sky capture → Calibration database: stores sky readings