Skip to content

Python API for IMGW (Polish: Instytut Meteorologii i Gospodarki Wodnej) public data access

License

Notifications You must be signed in to change notification settings

SimonMolinsky/imgw-data-loader

Repository files navigation

imgw-data-loader

Python API for IMGW (Polish: Instytut Meteorologii i Gospodarki Wodnej) public data access.

Setup

pip install imgw-data

Usage

get_current_weather()

Function gets current weather from IMGW website. Monitored variables (polish: english):

  • 'id_stacji': 'station_id'
  • 'stacja': 'station_name'
  • 'data_pomiaru': 'observation_date'
  • 'godzina_pomiaru': 'observation_hour'
  • 'temperatura': 'temperature'
  • 'predkosc_wiatru': 'wind_speed'
  • 'kierunek_wiatru': 'wind_direction'
  • 'wilgotnosc_wzgledna': 'relative_humidity'
  • 'suma_opadu': 'precipitation'
  • 'cisnienie': 'pressure'

Download as a Python object

from imgw_data import get_current_weather


current_weather_json = get_current_weather()  # downloads data as JSON
current_weather_csv = get_current_weather(as_csv=True)  # downloads data as string csv
current_weather_xml = get_current_weather(as_xml=True)  # downloads data as string xml
current_weather_html = get_current_weather(as_html=True)  # downloads data as string html

current_weather_pl = get_current_weather(translate_to_english=False)  # downloads original data with Polish sentences

print(current_weather_json)
[
  {'station_id': '12295',
   'station_name': 'Białystok',
   'observation_date': '2024-04-12',
   'observation_hour': '7',
   'temperature': '12.2',
   'wind_speed': '2',
   'wind_direction': '250',
   'relative_humidity': '68.8',
   'precipitation': '0',
   'pressure': '1028.6'}, 
   {...},
]

Download and export to file

from imgw_data import get_current_weather


current_weather_json = get_current_weather(fname='data.json')  # stores data as JSON
current_weather_csv = get_current_weather(fname='data.csv', as_csv=True)  # stores data as string csv
current_weather_xml = get_current_weather(fname='data.xml', as_xml=True)  # stores data as string xml
current_weather_html = get_current_weather(fname='data.html', as_html=True)  # stores data as string html

get_active_stations_coordinates()

Returns list with station id, station longitude, station latitude among the current active stations.

from imgw_data.stations import get_active_stations_coordinates


active_stations = get_active_stations_coordinates()
print(active_stations[0])
['12295', 23.162281307080264, 53.10725901708551]

Dependencies

  • Python >= 3.8
  • requests

About

Python API for IMGW (Polish: Instytut Meteorologii i Gospodarki Wodnej) public data access

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages