Skip to content

Releases: openaq/openaq-python

v1.1.0

Choose a tag to compare

@russbiggs russbiggs released this 02 Jul 16:38
85d27ea

[1.1.0] - 2026-07-02

Added

  • Additional check for valid API key in client instantiation.

Changed

  • Updated rate limiter to handle rare corner case caused by incorrect rounding
    logic.

v1.0.3

Choose a tag to compare

@russbiggs russbiggs released this 29 Jun 14:19
6dd7a11

[1.0.3] - 2026-06-19

No major changes bumping due to versioning issue in PyPI publishing.

v1.0.2

Choose a tag to compare

@russbiggs russbiggs released this 19 Jun 14:17
889e5d2

[1.0.2] - 2026-06-19

No major changes, version bumped due to PyPI conflict.

v1.0.1

Choose a tag to compare

@russbiggs russbiggs released this 19 Jun 13:55
b20a40d

[1.0.1] - 2026-06-19

No major changes, version bumped due to PyPI conflict.

v1.0.0

Choose a tag to compare

@russbiggs russbiggs released this 19 Jun 02:48
4cc957d

[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 | None defaulting to None to
    int defaulting to 0.
  • orjson encoder path in json() now correctly decodes bytes to str.
  • Modernized type annotations throughout: Mapping and Sequence imports.
    migrated from typing to collections.abc. isinstance checks updated to union
    syntax (X | Y). Headers typed as dict[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.0rc4 Pre-release
Pre-release

Choose a tag to compare

@russbiggs russbiggs released this 29 May 17:24
23b05cc

Fixed

  • Upper case HTTP methods for Cloudfront

Added

  • Transport updates
  • Additional tests

v1.0.0rc3

v1.0.0rc3 Pre-release
Pre-release

Choose a tag to compare

@russbiggs russbiggs released this 28 May 15:39
a9c8aae

[1.0.0rc2] - 2026-05-28

Removed

-httpx dependency, refactored to only use python core libs

  • AsyncOpenAQ, library is now synchronous only

Updated

  • OpenAQ rate rate limiter checker to use server headers alone for tracking
  • Architectural refactors based on sync-only structure

v1.0.0rc2

v1.0.0rc2 Pre-release
Pre-release

Choose a tag to compare

@russbiggs russbiggs released this 25 Feb 00:27
3072476

[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

v1.0.0rc1 Pre-release
Pre-release

Choose a tag to compare

@russbiggs russbiggs released this 13 Feb 20:15
4a94b18

[1.0.0rc1] - 2026-02-13

Breaking changes

Added

  • auto_wait parameter for OpenAQ and AsyncOpenAQ to provide automatic waiting
    based on rate limit headers
  • New validation function to ensure iso and countries_id are not used
    together
  • New validation function to ensure datetime_from is always less than
    datetime_to
  • New validation function to ensure date_to is always less than
    date_to
  • New validation function to ensure date_to/date_from and
    datetime_from/datetime_to are correctly paired with correct data resource.
  • New validation function to ensure valid combinations of data and rollup

Fixed

  • Correctly pass date_to and date_from for days and years measurement
    resources.
  • Added missing arguments for locations.list() functions: manufacturers_id,
    instruments_id and the owners_id

Updated

  • data argument no longer defaults to measurements in measurements.list()
    function, it is now a required argument.
  • datetime_from no longer defaults in the library.

v0.7.0

Choose a tag to compare

@russbiggs russbiggs released this 14 Jan 01:03
f8a1a06

[0.7.0] - 2026-01-13

Fixed

  • Properly cast datetime values to Datetime in response classes Thanks @PPetar1
  • Fix ManufactuersResponse dataclass results field Thanks @PPetar1

Updated

  • dataclass creation performance optimizations with slots
  • ResponseBase creation performance optimization