An API client for getting pollution data from NILU sensor stations in Norway.
Project description
niluclient
Python client for getting air pollution data from NILU sensor stations in Norway. The package comes with clients that can fetch and cache data from nilus api.
Acknowledgements
According to the api documentation from nilu.no and luftkvalitet.info, when using data fetched through this client an acknowledgement to both nilu.no and luftkvalitet.info needs to be included.
Usage
Finding all station in an area:
import niluclient as nilu
stations = nilu.lookup_stations_in_area('Bergen')
Finding all stations and sensor reading within 20 km from a location:
import niluclient as nilu
client = nilu.create_location_client(60.123456, 5.123456)
# name of all stations found.
station_names = client.station_names
# dict of all stations with readings.
stations = client.station_data
# all stations NO2 readings
for station in stations:
no2_value = station.sensors[nilu.NO2].value
Finding readings from a specified station, and update cached value:
import niluclient as nilu
client = nilu.create_station_client('Kannik')
no2_value = client.data.sensors[nilu.NO2].value
no2_unit = client.data.sensors[nilu.NO2].unit_of_measurement
# after an hour. (Data from the api will only update on the hour)
client.update()
new_no2_value = client.data.sensors[nilu.NO2].value
Client api coverage
Air quality index: Fetch measured value and index.
- GET /aq/utd (Implemented for station filtering) -
niluclient.NiluStationClient
- GET /aq/utd/{latitude}/{longitude}/{radius} -
niluclient.NiluLocationClient
- GET /aq/historical/{fromtime}/{totime}/{station}
- GET /aq/historical/{fromtime}/{totime}/{latitude}/{longitude}/{radius}
Observations: Fetch measured value.
- GET /obs/utd
- GET /obs/utd/{latitude}/{longitude}/{radius}
- GET /obs/historical/{fromtime}/{totime}/{station}
- GET /obs/historical/{fromtime}/{totime}/{latitude}/{longitude}/{radius}
Day average Calculates day average for a given time period.
- GET /stats/day/{fromtime}/{totime}/{station}
- GET /stats/day/{fromtime}/{totime}/{latitude}/{longitude}/{radius}
Lookup api: Lists metadata used for filtering.
- GET /lookup/areas - (Partially with the
niluclient.AREAS
constants) - GET /lookup/stations -
niluclient.lookup_stations_in_area('')
- GET /lookup/components - (Partially with the
niluclient.MEASURABLE_COMPONENTS
constants) - GET /lookup/aqis
Source: endpoints and description fetched from nilu api documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for niluclient-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 497d245a74cc2254c2245cd50a7d8789d6207ed632a2f71e6773078a34825e94 |
|
MD5 | 0a7c492dc110e06c775323d68f78f35a |
|
BLAKE2b-256 | 1b80ca268c11063abaaad2cdb0b69f5aff5ed5a6f22f678c6ac2d7b64edbd6f6 |