a dumb-simple weather dashboard built from OpenWeatherMaps APi, MongoDB, Windy, and Plotly Dash
wdash
consists of two scripts, neither of which needs to be installed as a python module in order to run:
daemon.py
: Pulls data from OpenWeatherMaps, stores it in a mongodb.app.py
: The plotly dash app which will display the dashboard.
You can find instructions for how to do so here: https://docs.mongodb.com/manual/administration/install-community/
Next, ensure mongodb is running. You can check by trying to connect to your mongodb with the mongo
shell command.
Navigate to the wdash
directory and run
pip install -r requirements.txt
All the variables needed to configure wdash
are in config.yml
.
Any latitude and longitude in the world.
The host of your mongodb instance, e.g., localhost
The port of your mongodb instance, e.g., 27017
The name of the mongodb database you'd like to use or create to hold your wdash data, e.g., wdash
The interval to update (gather current weathers and forecasts), in seconds. The default 1800
corresponds to every 30 minutes.
The port you'd like the wdash
interface to run on.
Your OpenWeatherMaps API key. Only the free-tier API key is required for full functionality. You'll need to create a free account to get an API key.
The embeddable url for your windy map, which you can obtain from Windy
Simply run
source run.sh
In the wdash
directory for the daemon and app to run in the background. All output will be logged to log.txt
in the wdash
directory.