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