aio-geojson-client
An async GeoJSON client library.
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-clientuv
uv add aio-geojson-clientpoetry
poetry add aio-geojson-clientInstalling 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
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
aio-georss-clientProvides async access to GeoRSS feeds with…
permissive · top 15,000 on PyPI
aio-geojson-nsw-rfs-incidentsAsync client library for fetching and filtering…
permissive · top 15,000 on PyPI
aio-geojson-geonetnz-quakesProvides async access to the GeoNet NZ Quakes…
permissive · top 15,000 on PyPI
aio-geojson-geonetnz-volcanoAsync client library for retrieving New Zealand…
permissive · top 15,000 on PyPI
georss-clientA framework for building client libraries that…
permissive · top 15,000 on PyPI
georss-generic-clientProvides generic access to GeoRSS feeds with…
permissive · top 15,000 on PyPI
aio-georss-gdacsProvides async access to Global Disaster Alert…
permissive · top 15,000 on PyPI
georss-qld-bushfire-alert-clientFetches and parses Queensland Bushfire Alert…
permissive · top 15,000 on PyPI
georss-ign-sismologia-clientFetches and parses earthquake event data from…
permissive · top 15,000 on PyPI
stream-pythonOfficial Python client library for Stream Feeds…
permissive · top 5,000 on PyPI