Skip to main content

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

Metadata

Release files for divia-api 2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for divia-api 2.4
File Size Uploaded
divia-api-2.4.tar.gz 11.3 kB Details

Release files / divia-api-2.4.tar.gz

Download URL divia-api-2.4.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
20697e8137aa930f2b1151f84be5ccd66b52965007adb860486d418c59613f40
BLAKE2b-256 checksum
How to use checksums
02094354c6fc73b448887e2935af309b821f7efbc794abacdf2f80dcf814a600
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.11

Release history Release notifications | RSS feed

This release

2.4 This release

1 release file

2.3

1 release file

2.2

1 release file

2.1

1 release file

2.0

1 release file

1.4

1 release file

1.3

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page