Skip to main content

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.

Buy me a coffee

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

niluclient-0.1.2.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

niluclient-0.1.2-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file niluclient-0.1.2.tar.gz.

File metadata

  • Download URL: niluclient-0.1.2.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for niluclient-0.1.2.tar.gz
Algorithm Hash digest
SHA256 381a0008f325b9c7eac9bcbf002ce56f08c1257db477e12ccb90519219b0d587
MD5 881c20515082cc9ed80531c4c684a25f
BLAKE2b-256 80231e1f75cf22d509a9806a717dc8469046a099bcb24a73a4dc9f5b411eff7c

See more details on using hashes here.

File details

Details for the file niluclient-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: niluclient-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for niluclient-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 497d245a74cc2254c2245cd50a7d8789d6207ed632a2f71e6773078a34825e94
MD5 0a7c492dc110e06c775323d68f78f35a
BLAKE2b-256 1b80ca268c11063abaaad2cdb0b69f5aff5ed5a6f22f678c6ac2d7b64edbd6f6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page