Asynchronous Python API for the Verkehrsverbund Grossraum Nuernberg (VGN).
Uses the official REST-API to query realtime public transport information for Nuremberg.
With the python 3.7 feature asyncio tasks fast and non-blocking queries are possible.
Read the docs for more information.
Consider installing cchardet
and aiodns
via pip for speedup (see the aiohttp documentation).
import vgn
import asyncio
async def main():
async with vgn.VGNClient() as vgn_client:
res = await asyncio.gather(
vgn_client.api_version(),
vgn_client.departure_schedule(704),
vgn_client.departure_schedule_for_line(704, "U2"),
vgn_client.rides(vgn.TransportType.BUS, 30),
)
print(f'Api version: {res[0]}')
print(f'Departures at plaerrer in nbg: {res[1]}')
print(f'Departures of underground line 2 at plaerrer in nbg: {res[2]}')
print(f'Bus departures in the next 30 minutes: {res[3]}')
if __name__ == '__main__':
asyncio.run(main())