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.
- 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.
To use RatpAPI in your project, you can install it via pip:
pip install ratp-api-python
a
First, import the RatpAPI
class and initialize it with your API key:
from ratp_api.main import RatpAPI
api = RatpAPI()
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
To get global traffic data:
global_traffic = api.get_global_traffic()
print(global_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."]
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)
To get affluence data for all lines:
all_lines_affluence = api.get_all_lines_affluence()
print(all_lines_affluence)
Contributions to the RatpAPI project are welcomed!
This project is licensed under the MIT License.