/vgn

Python API for the Verkehrsverbund Grossraum Nuernberg (VGN)

Primary LanguagePythonMIT LicenseMIT

VGN

License Version PyPI download month Python versions Documentation Status Build Status

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).

Example

import vgn
import asyncio


async def main():
    async with vgn.VGNClient() as vgn_client:
        res = await asyncio.gather(
            vgn_client.api_version(),
            vgn_client.all_stations(),
            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'Stations in nbg: {str(len(res[1]))}')
    print(f'Departures at plaerrer in nbg: {res[2]}')
    print(f'Departures of underground line 2 at plaerrer in nbg: {res[3]}')
    print(f'Bus departures in the next 30 minutes: {res[4]}')

if __name__ == '__main__':
    asyncio.run(main())