Skip to content

🇫🇷 Récupérez les horaires des prochains bus et trams Divia, et les disponibilités des DiviaVélodi, directement depuis Python !

License

Notifications You must be signed in to change notification settings

filau/python_divia_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

« API Â» Divia â€” Python

Ce module servant d’« API Â» vous permet d’accĂ©der aux horaires des prochains bus et tram du rĂ©seau dijonnais Divia, en temps rĂ©el, grâce au service TOTEM, ainsi qu’aux disponilitĂ©s en temps rĂ©els des vĂ©los et emplacements sur les stations DiviaVĂ©lodi, et ce directement depuis un script Python !
La partie « bus et tram Â» de cette bibliothèque est très largement inspirĂ©e (aussi bien sur le principe que dans la logique et les techniques utilisĂ©es) de divia-api par @gauthier-th (en JavaScript).

Démo

Une dĂ©mo de l’API est disponible en cliquant ici : DĂ©mo (est c’est aussi open-source !)

Installation

Cette bibliothèque est disponible pour Python 3.6 et versions postérieures.

$  pip install divia-api
$  python setup.py install

Exemple d’utilisation de l’API bus et tram

from divia_api import DiviaAPI

api = DiviaAPI()

line = api.find_line("T2", 'R')  # Récupération de la ligne 2 du tram, dans la direction « R » (« A » étant la valeur par défaut).
line = api.get_line("185")  # Récupération de la ligne par son identifiant unique (ici le 185, qui correspond à la ligne 2 du tram, dans la direction « R ».

stop = line.find_stop("Darcy")  # Récupération de l’arrêt « Darcy » pour cette ligne.
stop = line.get_stop("1494")  # Récupération de l’arrêt « Darcy » pour cette ligne, à partir de son identifiant unique.

stop = api.find_stop("T2", "Darcy", 'R')  # Les étapes précédentes (récupération de la ligne et de l’arrêt) peuvent également être combinées.

totem_result = stop.totem()  # Interrogation du service TOTEM et récupération des prochains horaires. C’est une liste d’objets « datetime.datetime » qui est retournée par la fonction.

print(totem_result)  # Affichage du résultat.

Exemple de l’utilisation de l’API Vélodi

from divia_api import VelodiAPI

velodi_api = VelodiAPI()

station = velodi_api.find_station("Lycée Carnot")  # Récupération de la station DiviaVélodi « Lycée Carnot ».

station = velodi_api.get_station("34")  # Récupération d’une station par son identifiant. Ici, l’identifiant « 34 » correspond à la station « Lycée Carnot ».

realtime = station.check()  # Requête de données à jour sur la disponibilité des vélos et des emplacements dans cette station.

print(realtime.bikes, "  ", realtime.docks)  # Affichage du résultat (nombre de vélos disponibles et nombre de places disponibles sur la station).

realtime_all_stations = velodi_api.check_multiple_stations(velodi_api.stations)  # Requête de données à jour sur l’intégralité des stations du réseau.

for station in realtime_all_stations:
    print(f"Station {station.station.code} : {station}")  # Affichage, pour chaque station du réseau, du numéro de la station et du résultat.

__________

Divia est une marque déposée de Keolis Dijon Multimodalité. Nous ne sommes en aucun cas affiliés à Keolis ou à ses filiales et succursales.

Cette bibliothèque est ditribuée sous la Licence publique générale GNU amoindrie, version 3.
© 2023, Firmin Launay (hey@firminlaunay.me)

About

🇫🇷 Récupérez les horaires des prochains bus et trams Divia, et les disponibilités des DiviaVélodi, directement depuis Python !

Topics

Resources

License

Stars

Watchers

Forks

Languages