Skip to main content

A library to convert between AQI value and pollutant concentration (µg/m³ or ppm)

Project description

A library to convert between AQI value and pollutant concentration (µg/m³ or ppm) using the following algorithms:

  • United States Environmental Protection Agency (EPA)

  • China Ministry of Environmental Protection (MEP)

Testing Status Documentation Status license BSD 3-Clause

Install

$ pip install python-aqi

Usage

Library

Convert a pollutant to its IAQI (Intermediate Air Quality Index):

import aqi
myaqi = aqi.to_iaqi(aqi.POLLUTANT_PM25, '12', algo=aqi.ALGO_EPA)

Get an AQI out of several pollutant concentrations, default algorithm is EPA:

import aqi
myaqi = aqi.to_aqi([
    (aqi.POLLUTANT_PM25, '12'),
    (aqi.POLLUTANT_PM10, '24'),
    (aqi.POLLUTANT_O3_8H, '0.087')
])

Convert an IAQI to its pollutant concentration:

import aqi
mycc = aqi.to_cc(aqi.POLLUTANT_PM25, '22', algo=aqi.ALGO_EPA)

Command line

List supported algorithms and pollutants:

$ aqi -l
aqi.algos.epa: pm10 (µg/m³), o3_8h (ppm), co_8h (ppm), no2_1h (ppb), o3_1h (ppm), so2_1h (ppb), pm25 (µg/m³)
aqi.algos.mep: no2_24h (µg/m³), so2_24h (µg/m³), no2_1h (µg/m³), pm10 (µg/m³), o3_1h (µg/m³), o3_8h (µg/m³), so2_1h (µg/m³), co_1h (mg/m³), pm25 (µg/m³), co_24h (mg/m³)

Convert PM2.5 to IAQI using EPA algorithm:

$ aqi aqi.algos.epa pm25:12
50

Convert PM2.5 to IAQI using EPA algorithm (full length):

$ aqi -c aqi aqi.algos.epa pm25:12
50

Convert pollutants concentrations to AQI using EPA algorithm:

$ aqi aqi.algos.epa pm25:40.9 o3_8h:0.077 co_1h:8.4
114

Convert pollutants concentrations to AQI using EPA algorithm, display IAQIs:

$ aqi -v aqi.algos.epa pm25:40.9 o3_8h:0.077 co_1h:8.4
pm25:102 o3_8h:104 co_1h:90
114

Convert PM2.5 IAQI to concentration using EPA algorithm:

$ aqi -c cc aqi.algos.epa pm25:39
pm2.5:9.3

Development

To install the development environment:

$ pip install -r dev_requirements.txt

Test

Test the package:

$ python -m unittest discover

Automatic testing in various environments:

$ tox

Release

Use bumpr to release the package:

$ bumpr -b -m

Project

Resources

License

python-aqi is published under a BSD 3-clause license, see the LICENSE file distributed with the project.

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

python-aqi-0.6.1.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

python_aqi-0.6.1-py2-none-any.whl (11.1 kB view details)

Uploaded Python 2

File details

Details for the file python-aqi-0.6.1.tar.gz.

File metadata

  • Download URL: python-aqi-0.6.1.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.18.4 setuptools/36.5.0 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/2.7.13

File hashes

Hashes for python-aqi-0.6.1.tar.gz
Algorithm Hash digest
SHA256 141a03a0fed48880dc8706ca57b03f30fa91ab60e9330474bf9c9a8fb9b96020
MD5 5c8fdaf409a38df6551e56f83a834919
BLAKE2b-256 418942266c6fb056ef52776effba731acaf2bf3b564f7845ef970918ee9f68f9

See more details on using hashes here.

File details

Details for the file python_aqi-0.6.1-py2-none-any.whl.

File metadata

  • Download URL: python_aqi-0.6.1-py2-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.18.4 setuptools/36.5.0 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/2.7.13

File hashes

Hashes for python_aqi-0.6.1-py2-none-any.whl
Algorithm Hash digest
SHA256 325ff7a76b66b9045e042c8086e4debd1422079b9a72cc5a072951a67b344904
MD5 9205a04a798cc92f721d37ac09df42ae
BLAKE2b-256 f0612962b405ef1a1663c8d5fc8f888118fe6d123c63c93f0245d94b03defc31

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