Skip to main content

divia_api is a Python library that allows to retrieve the timetable of Divia’s bus and tramways, along with some infos about DiviaVélodi bikes, straight from a Python script.

Project description

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

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

divia-api-2.4.tar.gz (11.3 kB view details)

Uploaded Source

File details

Details for the file divia-api-2.4.tar.gz.

File metadata

  • Download URL: divia-api-2.4.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for divia-api-2.4.tar.gz
Algorithm Hash digest
SHA256 20697e8137aa930f2b1151f84be5ccd66b52965007adb860486d418c59613f40
MD5 424e3a077e67327808ee4d3253ddfbac
BLAKE2b-256 02094354c6fc73b448887e2935af309b821f7efbc794abacdf2f80dcf814a600

See more details on using hashes here.

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