Skip to content

Strvm/ratp-api-python

Repository files navigation

RatpAPI Python Wrapper

Overview

RatpAPI is a Python wrapper for interacting with the RATP (Régie Autonome des Transports Parisiens) API. This library provides easy access to real-time traffic information, line-specific traffic details, and affluence data for journeys on the RATP network in Paris.

Features

  • Fetch global traffic information on the RATP network.
  • Retrieve traffic information for specific lines using the LineID enum for easy reference.
  • Get affluence data for journeys on particular lines.
  • Utilizes Pydantic models for data validation and parsing.

Installation

To use RatpAPI in your project, you can install it via pip:

pip install ratp-api-python

Usage

a

Setting Up

First, import the RatpAPI class and initialize it with your API key:

from ratp_api.main import RatpAPI

api = RatpAPI()

Using the LineID Enum

The LineID enum provides a convenient way to reference specific lines by their IDs:

from ratp_api.enums import LineID

# Example: Using LineID for RER A
line_id = LineID.RER_A

Fetching Global Traffic Information

To get global traffic data:

global_traffic = api.get_global_traffic()
print(global_traffic)

Fetching Line-Specific Traffic

To get traffic information for a specific line using the LineID enum:

line_data = api.get_line_traffic(line_id=LineID.METRO_14)
for situation in line_data.situations:
    print(situation)
# Output:
# isActive=True isPlanned=True criticity='HIGH' messages=["Jusqu'au 04/02, le week-end, trafic interrompu sur l'ensemble de la ligne en raison de travaux. Bus de remplacement. Plus d'informations sur la page dédiée."]
# isActive=False isPlanned=True criticity='HIGH' messages=["Du 01/02 au 08/02, du lundi au jeudi à partir de 22h, trafic interrompu sur l'ensemble de la ligne en raison de travaux. Bus de remplacement. Plus d'informations sur la page dédiée."]
# isActive=False isPlanned=True criticity='HIGH' messages=["Jusqu'au 31/01, du lundi au jeudi à partir de 22h, trafic interrompu sur l'ensemble de la ligne en raison de travaux. Bus de remplacement. Plus d'informations sur la page dédiée."]

Fetching Affluence for Journeys

To get affluence data for a specific journey on a line:

line_id = LineID.RER_A          # Using LineID enum

affluence_data = api.get_line_affluence(line_id=line_id)
print(affluence_data)

Fetching Affluence for All Lines

To get affluence data for all lines:

all_lines_affluence = api.get_all_lines_affluence()
print(all_lines_affluence)

Contributing

Contributions to the RatpAPI project are welcomed!

License

This project is licensed under the MIT License.


About

Python wrapper for the RATP API.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages