aiolimburgnet
Async Python client for the public limburg.net waste
collection calendar API. It has no dependency on Home Assistant — it's a
plain aiohttp-based library, usable standalone or as the backing library
for the limburg_net Home Assistant integration.
Installation
pip install aiolimburgnet
Usage
import asyncio
import aiohttp
from aiolimburgnet import LimburgNetClient
async def main() -> None:
async with aiohttp.ClientSession() as session:
client = LimburgNetClient(session)
city = await client.find_city("Genk")
street = await client.find_street(city, "Stationsstraat")
events = await client.get_upcoming_events(
city, street, house_number="12", suffix=""
)
for event in events:
print(event.date, event.waste_type)
asyncio.run(main())
API
LimburgNetClient(session: aiohttp.ClientSession)await client.find_city(query: str) -> Cityawait client.find_street(city: City, query: str) -> Streetawait client.get_upcoming_events(city, street, house_number, suffix="", months_ahead=3, from_date=None) -> list[CollectionEvent](from_datepicks the first month; defaults to today in the system timezone)
The search API matches by prefix. find_city / find_street return the exact
(case-insensitive) match, or the only result if there is just one; otherwise
they raise, with the matching names in the exception's candidates list.
City, Street, and CollectionEvent are frozen dataclasses. All lookup
failures raise a subclass of LimburgNetError:
CityNotFoundError— no single city matched the query (candidateslists ambiguous matches)StreetNotFoundError— no single street matched the query within that city (samecandidates)LimburgNetConnectionError— the API could not be reached, timed out (30 s), or returned an error or unexpected data
Development
pip install -e ".[test]"
pytest
Metadata
Release files for aiolimburgnet 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aiolimburgnet-0.2.1.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiolimburgnet-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.1 kB
Release files / aiolimburgnet-0.2.1.tar.gz
| Download URL | aiolimburgnet-0.2.1.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ad548d9d506ed9a947eddc6517760e108043172cf8e63b1c87bce5bd7a669b3
|
|
BLAKE2b-256 checksum How to use checksums |
f305315edcd437faf34791d47402944de65809b954acbd84d65469d11926ccf2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency logRelease files / aiolimburgnet-0.2.1-py3-none-any.whl
| Download URL | aiolimburgnet-0.2.1-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27a1d14c3318e3d597b9e2c86af9dc2468278d4f7af70cbca249b0b7484e880f
|
|
BLAKE2b-256 checksum How to use checksums |
1f0b39329c01deec68b665c975937e6bfbff784debedfc722ab10915f5cd1921
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency log