Metadata-Version: 2.5
Name: openaq
Version: 1.2.0
Summary: Official OpenAQ Python SDK.
Project-URL: Documentation, https://python.openaq.org
Project-URL: Issues, https://github.com/openaq/openaq-python/issues
Project-URL: Source, https://github.com/openaq/openaq-python
Project-URL: Changelog, https://github.com/openaq/openaq-python/releases
Author-email: Russ Biggs <russ@openaq.org>
Maintainer-email: OpenAQ <dev@openaq.org>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: air quality,environment,openaq
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Typing :: Typed
Requires-Python: >=3.11
Provides-Extra: all
Requires-Dist: orjson>=3.11.6; extra == 'all'
Provides-Extra: orjson
Requires-Dist: orjson>=3.11.6; extra == 'orjson'
Description-Content-Type: text/markdown

# OpenAQ Python SDK

The official Python SDK for the OpenAQ API.

[![PyPI - Version](https://img.shields.io/pypi/v/openaq.svg)](https://pypi.org/project/openaq)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/openaq.svg)](https://pypi.org/project/openaq)
![Codecov](https://img.shields.io/codecov/c/github/openaq/openaq-python)
![Static Badge](https://img.shields.io/badge/type%20checked-mypy-039dfc)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![slack](https://img.shields.io/badge/Slack-OpenAQ-blue?logo=slack&color=%23198cff
)](https://join.slack.com/t/openaq/shared_invite/zt-yzqlgsva-v6McumTjy2BZnegIK9XCVw)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.21813086.svg)](https://doi.org/10.5281/zenodo.21813086)

-----

## Table of Contents

- [Installation](#installation)
- [License](#license)
- [Documentation](#documentation)
- [Development](#development)

## Installation

The OpenAQ Python SDK is available on [PyPI](https://pypi.org/project/openaq/).

```console
pip install openaq
```

## Documentation

Documentation available at [python.openaq.org](https://python.openaq.org)

Information on building documentation site locally can be found in [docs/README.md](./docs/README.md)

## License

The source code is distributed under the terms of the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) license.

## Development

Code is linted using [ruff](https://github.com/astral-sh/ruff).

Codebase can be automatically formatted and linted by running:

```console
hatch run style:fmt
```

style can be checked with:

```console
hatch run style:check
```

[mypy](https://mypy-lang.org/) static type checking:

```console
hatch run types:check
```

Testing uses [pytest](https://docs.pytest.org/en/7.4.x/).

```console
hatch run test:test
```

## Acknowledgements

For many years [py-openaq](https://github.com/dhhagan/py-openaq) by David Hagan
filled the gap for a Python API SDK for the OpenAQ API. Thank you to David for
many years of maintaining py-openaq and for taking the original step to develop
a Python tool for OpenAQ.
