Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/hrbonz/python-aqi

A library to convert between AQI value and pollutant concentration (µg/m³ or ppm)
https://github.com/hrbonz/python-aqi

Last synced: about 2 months ago
JSON representation

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

Lists

README

        

###########################
python-aqi - AQI conversion
###########################

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)

.. image:: https://travis-ci.org/hrbonz/python-aqi.svg?branch=master
:target: https://travis-ci.org/hrbonz/python-aqi
:alt: Testing Status

.. image:: https://readthedocs.org/projects/python-aqi/badge/?version=0.6.1
:target: https://readthedocs.org/projects/python-aqi/?badge=latest
:alt: Documentation Status

.. image:: http://img.shields.io/badge/license-BSD%203--Clause-blue.svg
:target: http://opensource.org/licenses/BSD-3-Clause
:alt: 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
=======

* `Source code on github `_
* `Documentation on readthedocs `_
* `Package on pypi `_

Resources
=========

* EPA AQI: Technical Assistance Document for the Reporting of Daily Air
Quality – the Air Quality Index (AQI) December 2013) found at http://www.epa.gov/airnow/aqi-technical-assistance-document-dec2013.pdf
* National Ambient Air Quality Standards for Particulate Matter found at http://www.gpo.gov/fdsys/pkg/FR-2013-01-15/pdf/2012-30946.pdf
* MEP AQI:

* GB3095—2012 (2012/02/29) found at http://www.mep.gov.cn/gkml/hbb/bwj/201203/t20120302_224147.htm
* HJ633-2012 (2012/02/29) found at http://www.zzemc.cn/em_aw/Content/HJ633-2012.pdf

License
=======

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