/navitia

The open source software to build cool stuff with locomotion

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

navitia

Cher membre de la communauté Navitia,

Nous vous remercions de l’intérêt que vous portez à nos produits et plus particulièrement à notre plateforme d’information voyageurs.

Nous avons le plaisir de vous informer qu’une nouvelle version de Navitia sera prochainement disponible.

Dans le cadre du lancement de cette nouvelle version, nous avons pris la décision de limiter l’accès à notre code source. Cette décision se traduit par la fermeture progressive d’ici à fin septembre de nos répertoires sur Github. Cette décision est avant tout motivée par le désir d’offrir à nos clients une meilleure qualité de services tant sur le plan fonctionnel que sur le plan des performances. Elle répond également à un certain nombre d’exigences en termes de cyber sécurité.

La version historique de Navitia, ouverte en 2014, restera disponible. Cette version est également disponible avec notre offre fremium via https://navitia.io , offre qui évoluera progressivement vers notre nouvelle version Navitia à partir de fin 2023. Cette offre vous permet, sous certaines conditions, de disposer d’une assistance.

Notre service commercial sales@hove.com reste bien entendu à votre disposition pour vous étudier avec vous une formule adaptée à vos besoins.

Cordialement, Hove

Navitia

(pronounce [navi-sia])

Version Build status License Chat Code Coverage Vulnerabilities Security Rating
version Last build license chat SonarCloud Coverage SonarCloud Vulnerabilities SonarCloud Security Rating
Maintainability Quality Gate Duplicated Lines (%) Reliability Bugs Lines of Code
SonarCloud Maintainability Rating SonarCloud Quality Gate Status SonarCloud Duplicated Lines (%) SonarCloud Reliability Rating SonarCloud Bugs SonarCloud Lines of Code

Presentation

Welcome to the Navitia repository!

Navitia is a webservice providing:

  1. multi-modal journeys computation
  2. line schedules
  3. next departures
  4. exploration of public transport data
  5. search & autocomplete on places
  6. sexy things such as isochrones

Approach

Navitia is an open-source web API, initially built to provide traveler information on urban transportation networks.

Its main purpose is to provide day-to-day informations to travelers.
Over time, Navitia has been able to do way more, sometimes for technical and debuging purpose or because other functional needs fit quite well in what Navitia can do or just because it was quite easy and super cool.

Technically, Navitia is a HATEOAS API that returns JSON formated results.

Who's who

Navitia is instanciated and exposed publicly through api.navitia.io.
Developments on Navitia are lead by Hove (previously Kisio Digital and CanalTP).
Hove is a subsidiary of Keolis (itself a subsidiary of SNCF, French national railway company).

More information

Getting started

Want to test the API?

The easiest way to do this is a to go to navitia.io.
Signup, grab a token, read the doc and start using the API!

For a more friendly interface you can use the API through navitia playground (no matter the server used).

Want to dev and contribute to navitia?

If you want to build navitia, develop in it or read more about technical details please refer to CONTRIBUTING.md.

Curious of who's contributing? ⏯️ https://www.youtube.com/watch?v=GOLfMTMGVFI

Architecture overview

Navitia is made of 3 main modules:

  1. Kraken is the c++ core (Heavy computation)
  2. Jörmungandr is the python frontend (Webservice and lighter computation)
  3. Ed is the postgres database (Used for preliminary binarization)

Kraken and Jörmungandr communicate with each other through protocol buffer messages sent by ZMQ.

Transportation data (in the NTFS, or GTFS format) or routing data (mainly from OpenStreetMap for the moment) can be given to Ed.
Ed produces a binary file used by Kraken.

documentation/diagrams/Navitia_simple_architecture.png

More information here: https://github.com/hove-io/navitia/wiki/Architecture