Exploring historical weather data with DarkSky API
kdubss opened this issue · comments
Summary
To Build a Python/Flask server with endpoints that will serve up historical & forecasted weather data (fetched from the Dark Sky API) via. D3.js (i.e. a line-chart).
- At this point, the tasks below surmises the goals for constructing a work-in-progress MVP.
A. Explore the Dark Sky API
- Specifically,
1 . Accessing historical weather data (via. the Time Machine Request).
2. Accessing forecast weather data (via. the Forecast Request).
(Two separate requests)
B. Construct a D3.js linechart
- Specifically,
3. Use the historical weather data to visualize past weather data (i.e. temperature).
4. Use the forecast weather data, which will be overlain on top of the historical weather data, to see the actual data observed and the data forecasted for the future.
C. Build a Python/Flask server with end-points that will serve up the D3 linechart
D. Other possible APIs
- NOAA's Climate Data Online.
- OpenWeatherMaps' Weather API.
- possible other data-API's if the DarkSky API is insufficient.
Tasks
A. Explore the Dark Sky API
- Time Machine Requests' functionality completed -- see commit 7de51...
- Additional functionality to convert human-readable datetime to unix-timestamp...functionality completed -- see commit f136...
- Forecast request functionality re-factored -- see commit 929d...
- Module functionality to print out MVP docs of the Dark Sky API (for MVP purposes') completed -- see commits 5360... and e213...
Tasks
D. Build a Python/Flask server with end-points that will serve up the D3 linechart
- Build working/functional Flask server (bare-bones -- see commit a3d3...)
- Flask routing / end-points
- Organize file-structure/scaffold
- Construct template views / view functions (again...bare-bones MVP -- see commit b1d5...)
- Construct layout.html template file, which will act as the "partial", which will be present on every view
- Generate preliminary layout of line chart in
matplotlib
, to be built byD3.js
Other
- Update the README to show the "entry point"...
- i.e. which flask server to start, which path to hit, etc.
- Copy commits into a branch and make a pull request for the issue
- Create D3 charts for historical (time-machine) and forecast weather