A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

navitia

An open source web API, initially built to provide traveler information on urban transportation networks.
https://github.com/hove-io/navitia

Keywords

gtfs journey-planner mobility mobility-as-a-service navitia open-api public-transportation trip-planner trip-planning

Last synced: over 1 year ago
JSON representation

Acceptance Criteria

Repository metadata

The open source software to build cool stuff with locomotion

readme.rst

          .. image:: documentation/diagrams/kraken.jpg
    :alt: navitia
    :align: center

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 [email protected] reste bien entendu Ă  votre disposition pour vous Ă©tudier avec vous une formule adaptĂ©e Ă  vos besoins.

Cordialement,
Hove

=========
 Navitia
=========
``(pronounce [navi-sia])``


.. |Version Logo| image:: https://img.shields.io/github/v/tag/hove-io/navitia?logo=github&style=flat-square
    :target: https://github.com/hove-io/navitia/releases
    :alt: version

..  |Build Status| image:: https://img.shields.io/github/workflow/status/hove-io/navitia/Build%20Navitia%20Packages%20For%20Release?logo=github&style=flat-square
    :target: https://github.com/hove-io/navitia/actions?query=workflow%3A%22Build+Navitia+Packages+For+Release%22
    :alt: Last build

.. |License| image:: https://img.shields.io/github/license/hove-io/navitia?color=9873b9&style=flat-square
    :alt: license

.. |Chat| image:: https://img.shields.io/matrix/navitia:matrix.org?logo=riot&style=flat-square
    :target: https://app.element.io/#/room/#navitia:matrix.org
    :alt: chat

.. |Code Coverage| image:: https://sonarcloud.io/api/project_badges/measure?project=Hove_navitia&metric=coverage
    :alt: SonarCloud Coverage

.. |Vulnerabilities| image:: https://sonarcloud.io/api/project_badges/measure?project=Hove_navitia&metric=vulnerabilities
    :alt: SonarCloud Vulnerabilities

.. |Security Rating| image:: https://sonarcloud.io/api/project_badges/measure?project=Hove_navitia&metric=security_rating
    :alt: SonarCloud Security Rating




+----------------+----------------+-----------+--------+-----------------+-------------------+-------------------+
| Version        | Build status   | License   | Chat   | Code Coverage   | Vulnerabilities   | Security Rating   |
+----------------+----------------+-----------+--------+-----------------+-------------------+-------------------+
| |Version Logo| | |Build Status| | |License| | |Chat| | |Code Coverage| | |Vulnerabilities| | |Security Rating| |
+----------------+----------------+-----------+--------+-----------------+-------------------+-------------------+


.. |Maintainability Rating| image:: https://sonarcloud.io/api/project_badges/measure?project=Hove_navitia&metric=sqale_rating
    :alt: SonarCloud Maintainability Rating

.. |Quality Gate Status| image:: https://sonarcloud.io/api/project_badges/measure?project=Hove_navitia&metric=alert_status
    :alt: SonarCloud Quality Gate Status

.. |Duplicated Lines (%)| image:: https://sonarcloud.io/api/project_badges/measure?project=Hove_navitia&metric=duplicated_lines_density
    :alt: SonarCloud Duplicated Lines (%)

.. |Reliability Rating| image:: https://sonarcloud.io/api/project_badges/measure?project=Hove_navitia&metric=reliability_rating
    :alt: SonarCloud Reliability Rating

.. |Bugs| image:: https://sonarcloud.io/api/project_badges/measure?project=Hove_navitia&metric=bugs
    :alt: SonarCloud Bugs

.. |Lines of Code| image:: https://sonarcloud.io/api/project_badges/measure?project=Hove_navitia&metric=ncloc
    :alt: SonarCloud Lines of Code

+--------------------------+-----------------------+------------------------+----------------------+--------+-------------------+
| Maintainability          | Quality Gate          | Duplicated Lines (%)   | Reliability          |  Bugs  |   Lines of Code   |
+--------------------------+-----------------------+------------------------+----------------------+--------+-------------------+
| |Maintainability Rating| | |Quality Gate Status| | |Duplicated Lines (%)| | |Reliability Rating| | |Bugs| |  |Lines of Code|  |
+--------------------------+-----------------------+------------------------+----------------------+--------+-------------------+


Presentation
============
Welcome to the Navitia repository!

Navitia is a webservice providing:

#. multi-modal journeys computation

#. line schedules

#. next departures

#. exploration of public transport data

#. search & autocomplete on places

#. 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.

.. _HATEOAS: https://en.wikipedia.org/wiki/HATEOAS


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

.. _api.navitia.io: https://api.navitia.io


More information
----------------

* main web site https://www.navitia.io
* playground https://playground.navitia.io
* integration documentation https://doc.navitia.io
* technical documentation https://github.com/hove-io/navitia/tree/dev/documentation/rfc
* twitter @navitia https://twitter.com/navitia


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? :play_or_pause_button: https://www.youtube.com/watch?v=GOLfMTMGVFI

Architecture overview
=====================
Navitia is made of 3 main modules:

#. *Kraken* is the c++ core (Heavy computation)

#. *Jörmungandr* is the python frontend (Webservice and lighter computation)

#. *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*.

.. image:: documentation/diagrams/Navitia_simple_architecture.png

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

Alternatives?
=============
Navitia is written in C++ / python, here are some alternatives:

* | `OpenTripPlanner `_ : written in java.
  | More information here https://github.com/hove-io/navitia/wiki/OpenTripPlanner-and-Navitia-comparison.
* `rrrr `_ : the lightest one, written in python/c
* `Motis `_ : Multi objective algorithm similar to Navitia in its approach
* `Mumoro `_ : an R&D MUltiModal MUltiObjective ROuting algorithm

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: over 1 year ago

Total Commits: 16,407
Total Committers: 116
Avg Commits per committer: 141.44
Development Distribution Score (DDS): 0.882

Commits in past year: 1,068
Committers in past year: 21
Avg Commits per committer in past year: 50.857
Development Distribution Score (DDS) in past year: 0.681

Name Email Commits
Abderrahim Azime a****e@c****r 1936
antoine-de a****s@g****m 1500
Alexandre Jacquin a****n@c****r 1388
xlqian p****n@c****r 1337
Vincent Lara l****t@g****m 1196
kadhikari k****i@c****r 1167
Vincent Lara v****a@c****r 1110
Pierre-Etienne Bougue p****e@c****r 903
Benoit Brisset b****t@g****m 753
Guillaume Pinot t****i@t****u 633
Nonifier o****t@k****g 512
Tristram Gräbener t****r@c****r 467
Pascal Benchimol p****l@k****m 408
Abderrahim AZIME a****e@h****m 341
Stephan Simart s****t@g****m 270
mbounabi M****i@K****g 267
AurelienLP a****e@c****r 243
Hicham h****i@k****m 233
TGR T****R@a****1 198
ajn a****n@a****1 161
patoche p****h@c****r 159
Erwan Turck e****k@t****r 128
Zoé Brunet z****t@h****r 128
Stephan s****t@c****r 58
Julien Maulny d****n@h****r 54
Pascal Rhod p****d@c****r 50
Jean SIMARD w****n@t****o 46
Xavier RAFFIN x****n@t****r 46
Baptiste Brun-Arasa b****a@g****m 46
Ludovic de Jouvencel d****o@f****r 39
and 86 more...

Committer domains:


Issue and Pull Request metadata

Last synced: over 1 year ago

Total issues: 168
Total pull requests: 4,032
Average time to close issues: 4 months
Average time to close pull requests: 5 days
Total issue authors: 79
Total pull request authors: 81
Average comments per issue: 2.62
Average comments per pull request: 0.91
Merged pull request: 3,725
Bot issues: 0
Bot pull requests: 56

Past year issues: 11
Past year pull requests: 279
Past year average time to close issues: about 10 hours
Past year average time to close pull requests: 5 days
Past year issue authors: 9
Past year pull request authors: 19
Past year average comments per issue: 0.64
Past year average comments per pull request: 0.99
Past year merged pull request: 232
Past year bot issues: 0
Past year bot pull requests: 14

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/hove-io/navitia

Top Issue Authors

  • koch-t (16)
  • eturck (12)
  • pbougue (12)
  • yipcma (7)
  • TeXitoi (6)
  • jbcrestot (5)
  • vpassama (5)
  • xavierraffin (4)
  • prhod (4)
  • grote (4)
  • kinnou02 (4)
  • Tristramg (4)
  • VincentCATILLON (4)
  • cvenet30980 (3)
  • frodrigo (3)

Top Pull Request Authors

  • kinnou02 (555)
  • antoine-de (494)
  • azime (334)
  • xlqian (318)
  • kadhikari (296)
  • l-vincent-l (257)
  • pbougue (233)
  • TeXitoi (217)
  • nonifier (169)
  • benoit-bst (159)
  • stifoon (128)
  • pbench (111)
  • mbounabi (94)
  • AzHicham (89)
  • AurelienLP (85)

Top Issue Labels

  • enhancement (34)
  • bug (17)
  • documentation (16)
  • question (10)
  • interface (8)
  • internal_feature (7)
  • waiting (3)
  • schema (3)
  • wontfix (3)
  • pt_schedule (3)
  • places (2)
  • street_planner (2)
  • traveler_profil (1)
  • pt_referential (1)

Top Pull Request Labels

  • not_in_changelog (232)
  • do_not_merge (89)
  • hotfix (61)
  • dependencies (40)
  • python (37)
  • documentation (34)
  • internal_feature (28)
  • ok_to review (28)
  • ok_to_merge (27)
  • pt_planner (18)
  • merge_after_release (15)
  • real_time_and_perturbation (13)
  • bug (9)
  • run_artemis (9)
  • enhancement (8)
  • interface (7)
  • bina_required (5)
  • waiting (5)
  • invalid (3)
  • street_planner (3)
  • ++data_version (3)
  • traveler_profil (2)
  • question (2)
  • modify_db (2)
  • duplicate (2)
  • pt_schedule (2)
  • build_docker (1)

Dependencies

.github/workflows/clang_tidy.yml actions
  • actions/checkout v3 composite
  • peter-evans/create-pull-request v3 composite
.github/workflows/publish_navitia_documentation.yml actions
  • actions/checkout v3 composite
  • addnab/docker-run-action v3 composite
  • crazy-max/ghaction-github-pages v2 composite
.github/workflows/sonarcloud.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • rabbitmq 3-alpine docker
  • redis 6-alpine docker
.github/workflows/workflow.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • hendrikmuhs/ccache-action v1.2 composite
  • rabbitmq 3-alpine docker
  • redis 6-alpine docker
requirements_pre-commit.txt pypi
  • pre-commit ==2.9.2
source/benchmark/Pipfile pypi
  • docopt *
  • numpy *
  • pygal ==2.3.1
  • requests >=2.0.0
  • sortedcontainers ==2.1.0
  • tqdm *
source/benchmark/Pipfile.lock pypi
  • certifi ==2022.6.15
  • chardet ==3.0.4
  • docopt ==0.6.2
  • idna ==2.10
  • numpy ==1.22.0
  • pygal ==2.3.1
  • requests ==2.23.0
  • sortedcontainers ==2.1.0
  • tqdm ==4.45.0
  • urllib3 ==1.25.11
source/cities/requirements.txt pypi
  • GeoAlchemy2 ==0.2.4
  • Jinja2 ==2.11.3
  • Mako ==0.9.1
  • MarkupSafe ==0.23
  • SQLAlchemy ==1.3.3
  • Shapely ==1.3.0
  • alembic ==1.0.11
source/eitri/requirements.txt pypi
  • GeoAlchemy2 ==0.2.4
  • SQLAlchemy ==1.3.3
  • alembic ==1.0.11
  • coloredlogs ==10.0
  • docker ==3.4.1
  • future ==0.15.2
  • psycopg2 *
  • requests ==2.20.0
  • retrying ==1.3.3
  • typing ==3.7.4
source/jormungandr/requirements.txt pypi
  • Flask ==1.1.1
  • Flask-Caching ==1.7.2
  • Flask-Cors ==3.0.9
  • Flask-SQLAlchemy ==2.4
  • Jinja2 ==2.11.3
  • MarkupSafe ==0.23
  • SQLAlchemy ==1.3.3
  • Shapely ==1.5.0
  • Werkzeug ==0.15.5
  • amqp ==2.5.2
  • amqp ==5.0.6
  • aniso8601 ==0.82
  • blinker ==1.3
  • click ==6.7
  • click ==7.1.2
  • coloredlogs ==10.0
  • configparser ==4.0.2
  • dramatiq *
  • enum34 ==1.1.6
  • flask_restful ==0.3.7
  • flexpolyline ==0.1.0
  • future ==0.15.2
  • geojson ==1.3.5
  • gevent ==1.3.7
  • gevent ==21.8.0
  • greenlet ==0.4.15
  • itsdangerous ==1.1.0
  • jmespath ==0.9.3
  • kombu ==4.0.2
  • kombu ==5.0.2
  • newrelic ==2.70.0.51
  • numpy ==1.9.0
  • numpy ==1.22.0
  • pickle-mixin ==1.0.2
  • protobuf ==3.15.0
  • psycopg2 *
  • pybreaker ==0.2.3
  • python-dateutil ==2.5.3
  • python-json-logger ==0.1.7
  • pytz ==2013.9
  • pyzmq ==15.4.0
  • pyzmq ==22.3.0
  • redis ==2.10.6
  • requests ==2.25.1
  • retrying ==1.3.3
  • serpy-ctp ==0.2.1
  • setuptools ==44.1.0
  • shortuuid ==0.5.0
  • six ==1.13.0
  • sortedcontainers ==2.1.0
  • typing ==3.7.4
  • urllib3 ==1.26.5
  • vine ==1.3.0
  • vine ==5.0.0
  • zeep ==1.1.0
source/jormungandr/requirements_dev.txt pypi
  • flex ==6.10.0 development
  • jsonschema ==2.6.0 development
  • mock ==1.0.1 development
  • pytest ==4.6.5 development
  • pytest-cov ==2.5.1 development
  • pytest-mock ==1.10.0 development
  • pytest-timeout ==1.3.3 development
  • requests-mock ==1.0.0 development
  • swagger-spec-validator ==2.1.0 development
  • validators ==0.10 development
source/log_analyzer/requirements.txt pypi
  • numpy ==1.22.0
  • plotly ==4.6.0
  • sortedcontainers ==2.1.0
source/monitor/requirements.txt pypi
  • Flask ==1.1.1
  • Jinja2 ==2.11.3
  • MarkupSafe ==0.23
  • Werkzeug ==0.15.5
  • argparse ==1.2.1
  • itsdangerous ==1.1.0
  • protobuf *
  • pyzmq ==15.4.0
  • wsgiref ==0.1.2
source/sql/requirements.txt pypi
  • GeoAlchemy2 ==0.2.4
  • Mako ==0.9.1
  • SQLAlchemy ==1.3.3
  • alembic ==1.0.11
  • psycopg2 *
source/tyr/requirements.txt pypi
  • Flask ==1.1.1
  • Flask-Cors ==3.0.9
  • Flask-Migrate ==2.5.2
  • Flask-SQLAlchemy ==2.4
  • Flask-Script ==0.6.7
  • Jinja2 ==2.11.3
  • Mako ==0.9.1
  • MarkupSafe ==0.23
  • SQLAlchemy ==1.3.3
  • Shapely ==1.5.0
  • Werkzeug ==0.15.5
  • alembic ==1.0.11
  • amqp ==2.5.2
  • amqp ==5.0.6
  • aniso8601 ==0.82
  • argparse ==1.2.1
  • billiard ==3.5.0.5
  • celery ==4.1.0
  • celery ==5.2.2
  • coloredlogs ==10.0
  • configobj ==5.0.6
  • flask_restful ==0.3.7
  • geojson ==1.3.5
  • itsdangerous ==1.1.0
  • jsonschema ==2.6.0
  • kombu ==4.0.2
  • minio ==6.0.2
  • protobuf ==3.15
  • psycopg2 *
  • python-dateutil ==2.5.3
  • pytz ==2013.9
  • redis ==2.10.6
  • requests ==2.26.0
  • retrying ==1.3.3
  • setuptools ==44.1.0
  • six ==1.13.0
  • typing ==3.7.4
  • urllib3 ==1.26.5
  • validate-email ==1.3
  • wsgiref ==0.1.2
source/tyr/requirements_dev.txt pypi
  • docker ==3.4.1 development
  • jmespath ==0.9.3 development
  • mock ==1.0.1 development
  • pytest ==4.6.5 development
  • pytest-cov ==2.5.1 development
  • python-dateutil ==2.5.3 development
.github/workflows/build_dockers_debian11.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
  • getsentry/action-github-app-token v2.0.0 composite
.github/workflows/dockers_builder_dev.yml actions
  • actions/checkout v3 composite
  • aws-actions/amazon-ecr-login v1 composite
  • getsentry/action-github-app-token v2.0.0 composite
  • peter-evans/repository-dispatch v2 composite
.github/workflows/dockers_builder_release.yml actions
  • actions/checkout v3 composite
  • aws-actions/amazon-ecr-login v1 composite
  • getsentry/action-github-app-token v2.0.0 composite
  • peter-evans/repository-dispatch v2 composite
pyproject.toml pypi
source/jormungandr/setup.py pypi
source/monitor/setup.py pypi
source/navitiacommon/setup.py pypi
source/tyr/setup.py pypi

Score: 10.931534305156966