Skip to main content

Python wrapper for the Madrid EMT (Empresa Municipal de Transportes) API

Project description

EMTMadrid

Python wrapper for the Madrid EMT (Empresa Municipal de Transportes) API, providing easy access to real-time transportation data in Madrid.

Install

Install the package using pip:

pip install emt-madrid

Authentication Instructions

To use the EMT Mobilitylabs API you need to register in their website. Once you are registered you will receive a confirmation email to activate your account. It will not work until you have completed all the steps.

Usage

import asyncio

from aiohttp import ClientSession

from emt_madrid import EMTAPIAuthenticator, EMTAPIBusStop

EMAIL = "email-from-EMT"
PASSWORD = "password-from-EMT"

STOP_ID = "stop-id-from-EMT" # For example: "72"


async def fetch_bus_info():
    """Fetches bus information from the EMT API."""
    async with ClientSession() as session:
        emt_api_authenticator = EMTAPIAuthenticator(session, EMAIL, PASSWORD)
        await emt_api_authenticator.authenticate()
        token = emt_api_authenticator.token
        emt_api_bus_stop = EMTAPIBusStop(session, token, STOP_ID)
        await emt_api_bus_stop.update_stop_info()
        await emt_api_bus_stop.update_bus_arrivals()
        return emt_api_bus_stop.get_stop_info()


async def main():
    """Main function to execute the code."""
    bus_info = await fetch_bus_info()
    print(bus_info)


asyncio.run(main())

Attribution

Thanks to EMT Madrid MobilityLabs for providing the data and documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emt_madrid-0.0.3.tar.gz (25.9 kB view hashes)

Uploaded Source

Built Distribution

emt_madrid-0.0.3-py3-none-any.whl (18.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page