A Python package to retrieve realtime data of passages at stops of STIB/MIVB, the public transport company of Brussels (Belgium)
Main purpose at the moment is to feed a sensor in Home-Assistant (see: https://github.com/Emilv2/home-assistant/tree/stib-mivb/homeassistant/components/stib_mivb )
Important note: a developer account needs to be created at https://opendata.stib-mivb.be/ to generate a subscription key for the api's.
pip install pystibmivb"""Example usage of pystibmivb."""
import asyncio
import aiohttp
from pystibmivb import STIBAPIClient, STIBStop, STIBAPIAuthClient
from pystibmivb import STIBService
from pystibmivb import ShapefileService
CLIENT_ID = '' # Put your openapi client ID here
CLIENT_SECRET = '' # Put your openapi client secret here
async def go(LOOP):
stop_name = "Scherdemael"
lines_filter = [(46, "Glibert")]
custom_session = aiohttp.ClientSession()
APIClient = STIBAPIClient(LOOP, custom_session, STIBAPIAuthClient(custom_session, CLIENT_ID, CLIENT_SECRET))
service = STIBService(APIClient)
stop = STIBStop(service, stop_name, lines_filter, 3)
print(await stop.get_passages())
shapefile_service = ShapefileService(APIClient)
scherdemael = await shapefile_service.get_stop_infos(stop_name)
print(scherdemael.get_lines())
# doesn't really make sense to specify a filter but hey... you can
print(scherdemael.get_lines(lines_filter))
print(scherdemael.get_lines_with_destinations(lines_filter))
await custom_session.close()
if __name__ == '__main__':
LOOP = asyncio.get_event_loop()
LOOP.run_until_complete(go(LOOP))
Old repository: https://github.com/helldog136/pystibmvib Initial inspiration came from : https://github.com/bollewolle/pydelijn