Releases: openaq/openaq-python
Releases · openaq/openaq-python
Release list
v1.1.0
v1.0.3
v1.0.2
v1.0.1
v1.0.0
[1.0.0] - 2026-06-18
Added
- orjson optional dependency extras group (
openaq[orjson]) - Additional test coverage
Changed
- Rate limit wait behavior now enforces a minimum 1-second sleep when reset time
is zero or in the past, preventing races at the reset boundary. - Headers rate limit fields changed from
int | Nonedefaulting toNoneto
intdefaulting to 0. orjsonencoder path in json() now correctly decodesbytestostr.- Modernized type annotations throughout:
MappingandSequenceimports.
migrated from typing tocollections.abc.isinstancechecks updated to union
syntax(X | Y). Headers typed asdict[str, str];_ResponseBase TypeVar
bound tightened to_ResponseBase[Any].dict()return type annotated as
dict[str, Any]. - Replaced Black and isort with Ruff as sole code style and formatting tool
- Config file location moved from ~/.openaq.toml to ~/.config/openaq/config.toml.
- Replaced mkdocs documentation with Astro Starlight.
Removed
- mkdocs.yml and MkDocs-based documentation infrastructure
- black, isort, and pydocstyle from style tooling dependencies
v1.0.0rc4
v1.0.0rc3
[1.0.0rc2] - 2026-05-28
Removed
-httpx dependency, refactored to only use python core libs
- AsyncOpenAQ, library is now synchronous only
Updated
OpenAQrate rate limiter checker to use server headers alone for tracking- Architectural refactors based on sync-only structure
v1.0.0rc2
[1.0.0rc2] - 2026-02-24
Updated
- HTTPX client configuration settings for timeout
- HTTPX client configuration settings for limits
Fixed
- Fixed creation of headers on client classes to remove mutable default argument.
- Fixed creation of transport on client classes to remove mutable default argument.
- automatic rate limiting for AsyncOpenAQ, no longer relies solely on HTTP
headers, a more reliable method for async usage.
v1.0.0rc1
[1.0.0rc1] - 2026-02-13
Breaking changes
Added
auto_waitparameter for OpenAQ and AsyncOpenAQ to provide automatic waiting
based on rate limit headers- New validation function to ensure
isoandcountries_idare not used
together - New validation function to ensure
datetime_fromis always less than
datetime_to - New validation function to ensure
date_tois always less than
date_to - New validation function to ensure
date_to/date_fromand
datetime_from/datetime_toare correctly paired with correct data resource. - New validation function to ensure valid combinations of
dataandrollup
Fixed
- Correctly pass
date_toanddate_fromfordaysandyearsmeasurement
resources. - Added missing arguments for
locations.list()functions:manufacturers_id,
instruments_idand theowners_id
Updated
dataargument no longer defaults tomeasurementsin measurements.list()
function, it is now a required argument.datetime_fromno longer defaults in the library.