m0rp43us / openmeteopy

openmeteopy is a client Python wrapper library for Open-Meteo web API. It allows quick and easy consumption of OM data from Python applications via a simple object model and in a human-friendly fashion.

Home Page:https://pypi.org/project/openmeteo-py/0.0.1/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Documentation Status

OpenmeteoPy

Download Meteorological Data from OPEN-METEO API (https://open-meteo.com/en)

Open-Meteo collaborates with National Weather Services providing Open Data with 11 to 2 km resolution. Our high performance APIs select the best weather model for your location and provide data as a simple JSON API.

APIs are free without any API key for open-source developers and non-commercial use. You can embed them directly into your app.

What is it?

openmeteopy is a client Python wrapper library for Open-Meteo web API. It allows quick and easy consumption of Open-Meteo data from Python applications via a simple object model and in a human-friendly fashion.

You can use all Openmeteo's available APIs,which are 14 (explained in the table below).

openmeteopy runs on Python 3.6+.

Full documentation is reported here: DOCUMENTATION.

Installation (pypi)

working on it

Installation (manually)

git clone https://github.com/m0rp43us/openmeteopy
cd openmeteopy-main/
pip install .

APIs

API Description Documentation Options Class Hourly Class Daily Class 15 Minutes Class
Weather forecast Select your location, weather variables and start using the API. Weather Forecast ForecastOptions() HourlyForecast() DailyForecast() -
Historical Weather Discover how weather has shaped our world from 1940 until now Historical Weather HistoricalOptions() HourlyHistorical() DailyHistorical() -
ECMWF Weather Forecast Global High Frequency Forecasts at 0.4° resolution ECMWF Weather Forecast EcmwfOptions() HourlyEcmwf() - -
GFS & HRRR Forecast Global GFS model combined with hourly HRRR updates at 3-km resolution GFS & HRRR Forecast GfsOptions() HourlyGfs() DailyGfs() -
MeteoFrance Global ARPEGE model combined with high resolution AROME model MeteoFrance MeteoFranceOptions() HourlyMeteoFrance() DailyMeteoFrance() -
DWD ICON Open data weather forecasts from the German weather service DWD DWD ICON DwdOptions() HourlyDwd() DailyDwd() FifteenMinutesDwd()
JMA 5-km high resolution forecasts for Japan, Korea, parts of China and Russia JMA JmaOptions() HourlyJma() DailyJma() -
MET Norway Hourly updates & 1 km forecasts for Scandinavia MET Norway MetnoOptions() HourlyMetno() - -
GEM 2.5 km high resolution forecasts for North America GEM GemOptions() HourlyGem() DailyGem() -
Marine Weather Hourly wave forecasts at 5 km resolution Marine Weather MarineOptions() HourlyMarine() DailyMarine() -
Air Quality Pollutants and pollen forecast in 11 km resolution Air Quality AirQualityOptions() HourlyAirQuality() - -
Geocoding Search locations in any language globally Geocoding GeocodingOptions() - - -
Elevation 90 meter resolution digital elevation model Elevation ElevationOptions() - - -
Global Flood Simulated river discharge at 5 km resolution from 1984 up to 7 months forecast Global Flood FloodOptions() - DailyForecast() -

Output formats:

You can get your output in python dictionary, json string, pandas DataFrame, numpy array. Additionally, you can save APIs response to files in csv, excel or json format.

Output Library function
dict (full server response) client._fetch()
dict (cleaned version) client.get_dict()
json string (cleaned version) client.get_json_str()
numpy array client.get_numpy()
pandas DataFrame (keys are dates,value are correspongding values) client.get_pandas()
save to csv (keys are dates,value are correspongding values) save_csv(<filepath>)
save to excel (keys are dates,value are correspongding values) save_excel(<filepath>)
save to json save_json(<filepath>)

Upcoming Changes,updates,things to do :

  • Add the other 2 variables to ECWMF pressure level parameters
  • remove pressure level variables from JMA (Remove inheritence from FranceMeteo)
  • Add Support of Date Types (input and output)
  • Add versionning and package to pypi

About

openmeteopy is a client Python wrapper library for Open-Meteo web API. It allows quick and easy consumption of OM data from Python applications via a simple object model and in a human-friendly fashion.

https://pypi.org/project/openmeteo-py/0.0.1/

License:MIT License


Languages

Language:Python 96.3%Language:Jupyter Notebook 3.7%