skillfed

aio-geojson-client

An async GeoJSON client library.

aio-geojson-client v2026.6.0 83.0K downloads/30d#14,115 on PyPI2
Permissive license Apache-2.0 Active released

What it is and what it does

aio-geojson-client is an async Python library for consuming GeoJSON feeds over HTTP. It wraps aiohttp, geojson, and haversine to fetch and parse geographic data feeds asynchronously, making it suitable for integration into event-driven applications like Home Assistant. The library provides a Feed Manager that tracks changes across updates—reporting entries as new, updated, or removed—and maintains timestamps for both attempted and successful updates, allowing consumers to distinguish between transient failures and actual data changes.

The package is designed as a base for domain-specific implementations (earthquake feeds, volcano alerts, fire incident tracking) that extract and filter relevant information from various GeoJSON sources. It handles three status outcomes (OK, OK_NO_DATA, ERROR) and supports both global filters and ad-hoc overrides per update call, giving applications fine-grained control over which entries to process.

Use it for:

  • Fetch earthquake or volcano alerts from GeoNet feeds and track new incidents in real time.
  • Monitor fire incident data from NSW Rural Fire Service and notify users of nearby events.
  • Build a Home Assistant integration that polls generic GeoJSON feeds and updates entity state on changes.
  • Track geographic entities (events, hazards, incidents) and maintain a local cache of current and historical entries.
  • Implement location-based filtering on remote GeoJSON feeds without downloading the entire dataset.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides async access to GeoJSON feeds with automatic feed management, tracking new, updated, and removed entries across updates.

Yes, if you need async GeoJSON feed consumption with built-in change tracking. The library is stable (Production/Stable classifier), has low install friction, carries no known vulnerabilities, and is actively maintained. The Apache-2.0 license is permissive. Best suited for Home Assistant integrations or applications that poll geographic data feeds and need to distinguish new, updated, and removed entries.

Install

aio-geojson-client on PyPI

pip

pip install aio-geojson-client

uv

uv add aio-geojson-client

poetry

poetry add aio-geojson-client

Installing aio-geojson-client

Before you install

Low install friction with three lightweight runtime dependencies (aiohttp, geojson, haversine). Active maintenance with a release 47 days ago and commits through June 2026.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions.

Quickstart

pip install aio-geojson-client

from aio_geojson_client import AioGeoJsonClient
import aiohttp

async with aiohttp.ClientSession() as session:
    client = AioGeoJsonClient(session, feed_url)
    status, entries = await client.update()

Requires Python 3.11 or later; async context requires an event loop.

Verify before relying

  • Whether the package is actively maintained beyond the June 2026 release or if development has stalled.
  • Performance characteristics when handling large GeoJSON feeds or frequent updates.
  • Whether haversine is used for distance filtering or only as an optional dependency.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 3 — aiohttp, geojson, haversine
Maintenance actively maintained — 47 days since the last release
Last repo commit
First released
Downloads 82,964/month — #14,115 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: aio_geojson_client-2026.6.0-py3-none-any.whl

Keywords: homeassistant, geojson

Development Status :: 5 - Production/StableOperating System :: OS IndependentProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

async geojson feed clientgeojson async parserfeed update trackinggeojson data fetchinglocation data feedshomeassistant geojsonasync http geojson
geojsonasync-httpfeed-management

More WWW/HTTP packages

urllib3

urllib3 is an HTTP client library that provides…

permissive · top 100 on PyPI

requests

Requests is a Python HTTP library that…

permissive · top 100 on PyPI

h11

h11 is a pure-Python HTTP/1.1 protocol…

permissive · top 100 on PyPI

httpx

HTTPX is a fully featured HTTP client library…

permissive · top 100 on PyPI

httpcore

A minimal low-level HTTP client library that…

permissive · top 100 on PyPI

aiohttp

aiohttp is an async HTTP client and server…

permissive · top 100 on PyPI

aio-georss-client

Provides async access to GeoRSS feeds with…

permissive · top 15,000 on PyPI

aio-geojson-nsw-rfs-incidents

Async client library for fetching and filtering…

permissive · top 15,000 on PyPI

aio-geojson-geonetnz-quakes

Provides async access to the GeoNet NZ Quakes…

permissive · top 15,000 on PyPI

aio-geojson-geonetnz-volcano

Async client library for retrieving New Zealand…

permissive · top 15,000 on PyPI

georss-client

A framework for building client libraries that…

permissive · top 15,000 on PyPI

georss-generic-client

Provides generic access to GeoRSS feeds with…

permissive · top 15,000 on PyPI

aio-georss-gdacs

Provides async access to Global Disaster Alert…

permissive · top 15,000 on PyPI

georss-qld-bushfire-alert-client

Fetches and parses Queensland Bushfire Alert…

permissive · top 15,000 on PyPI

georss-ign-sismologia-client

Fetches and parses earthquake event data from…

permissive · top 15,000 on PyPI

stream-python

Official Python client library for Stream Feeds…

permissive · top 5,000 on PyPI