OpenWeatherMap.org API wrapper
Project description
A basic OpenWeatherMap.org API client.
News on experimental caching:
The version here in the repository is currently ahead of the latest version distributed on PyPy (0.9). It features Caching.
If the cache isn’t explicitly deactivated, the function “get_historic_weather()” stores data fetched from the API in an SQLite database. On subsequent requests, data is fetched directly from the database, if available.
In order to deactivate the cache, use
ow = openweather.OpenWeather(cache=False)
and in order to explicitly set a path for the cache DB file, use
ow = openweather.OpenWeather(cache="path/to/cache.db")
Install
To install the latest release:
pip install openweather
For the latest version from the repository, use:
pip install git+https://github.com/marians/openweather.git
Python module example
import openweather
from datetime import datetime
# create client
ow = openweather.OpenWeather()
# find weather stations near me
stations = ow.find_stations_near(
7.0, # longitude
50.0, # latitude
100 # kilometer radius
)
# iterate results
for station in stations:
print station
# get current weather at Cologne/Bonn airport
# (station id = 4885)
print ow.get_weather(4885)
# historic weather
start_date = datetime(2013, 09, 10)
end_date = datetime(2013, 09, 15)
# default: hourly interval
print ow.get_historic_weather(4885, start_date, end_date)
# daily aggregates
print ow.get_historic_weather(4885, start_date, end_date, "day")
Command line client example
Print current weather at station ID 4885:
$ openweather -s 4885
Print historic weather for 2013-10-01 at station ID 4885:
$ openweather -s 4885 -d 20131001
For valid formats of the -d or --date parameter, see daterangestr.
Print historic data in CSV format
$ python openweather.py -s 4885 -d 20131022 --csv
This is particularly usefull if you want to store that data to a file…
$ openweather -s 4885 -d 20131022 --csv > weather.csv
… or want to manipulate and display it (using csvkit):
$ openweather -s 4885 -d 20131027 --csv|csvcut -c 9,26,30,35,43|csvlook
|-------------+-------------+------------+------------+---------------|
| dt | main_temp_v | pressure_v | wind_deg_v | wind_speed_v |
|-------------+-------------+------------+------------+---------------|
| 1382824800 | 287.15 | 1005 | | 4.1 |
| 1382835600 | 290.4 | 1008.25 | 170 | 5.93 |
| 1382839200 | 289.15 | 1007.5 | 175 | 5.1 |
...
| 1382904000 | 287.15 | 1007 | 210 | 5.9 |
| 1382907600 | 287.15 | 1007 | 200 | 6.2 |
| 1382911200 | 287.15 | 1006 | 177 | 5.1 |
| | | | | |
|-------------+-------------+------------+------------+---------------|
Like openweather?
Feel free to tip me!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.