This is a Flask (Python) application that auto-detects local weather based off of user's external IP address.
Example screenshot of flask_weather application
- Install dependencies
pip install -r requirements.txt
- Add environment variables
weather_key="###############";
. The weather_key is the API key received from registering at https://darksky.net/dev.- add
secret_key="********"
. It should be a random string that is hard to guess.
- Run
python app.py
- Run Tests
python flask_weather_tests.py
Gets a user's external IP address and then used http://freegeoip.net to get more specific location information to pass into Weather API (https://darksky.net/dev/). Weather information (current temperature and % chance of rain) is returned based on the location associated with the IP.
To work on this locally clone the repo, request and add an API key (locally) from darksky and then run app.py
weather.html
displays the weather information and displays appropriate weather icon (https://erikflowers.github.io/weather-icons/) based on what the current weather is.
To display temperature in Celsius instead of Fahrenheit, set celsius = True
environment variables.
Right now it is 41° and there is a 0% chance of rain.
Right now it is X° and there is a Y% chance of rain.