Skip to main content

A graph-based routing library for dynamic routing.

Project description

Multi Modal Router

The Multi Modal Router is a graph-based routing engine that allows you to build and query any hub-based network. It supports multiple transport modes like driving, flying, or shipping, and lets you optimize routes by distance, time, or custom metrics. It can be expanded to any n-dimensional space making it versatile in any coordinate space

NOTE: This project is a work in progress and features might be added and or changed

In depth Documentation

installation guide

graph module documentation

code examples

command line interface documentation

utilities documentation

Features

Building Freedom / Unlimited Usecases

The graph can be build from any data aslong as the required fields are present (example). Whether your data contains real world places or you are working in a more abstract spaces with special coordinates and distance metrics the graph will behave the same (with minor limitations due to dynamic distance calculation, but not a problem when distances are already precomputed. solutions).

Example Usecases

  • real world flight router

    • uses data with real flight data and actuall airport coordinates
    • builds a graph with airport Hubs
    • connects airports based on flight routes
    • finds the shortest flights or multi leg routes to get from A to B
    • simple example implementation here
  • social relation ship graph

    • uses user data like a social network where users are connected through others via a group of other users
    • builds a graph with users as Hubs
    • connects users based on know interactions or any other connection meric
    • finds users that are likely to share; interests, friends, a social circle, etc.
  • coordinate based game AI and pathfinding

    • uses a predefined path network (e.g. a simple maze)
    • builds the garph representation of the network
    • finds the shortest way to get from any point A to any other point B in the network
    • you can checkout a simple example implementation for a maze pathfinder here

example from the maze solver

graph visualizations

Use the build-in visualization tool to plot any 2D or 3D Graph.

example plot of flight paths

Important considerations for your usecase

Depending on your usecase and datasets some features may not be usable see solutions below

potential problems based on use case

Please check your data for the following

distance present coordinate format unusable features special considerations
YES degrees None None
YES not degrees runtime distance calculations set drivingEnabled = False or do this
NO degrees None distances must be calculated when preprocessing
NO not degrees ALL U cant build the graph with neither distances or supported coordinates! solution

example dataframe with the required fields

License

see here

dependencies

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

multimodalrouter-0.1.5.tar.gz (326.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

multimodalrouter-0.1.5-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file multimodalrouter-0.1.5.tar.gz.

File metadata

  • Download URL: multimodalrouter-0.1.5.tar.gz
  • Upload date:
  • Size: 326.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for multimodalrouter-0.1.5.tar.gz
Algorithm Hash digest
SHA256 e08ca23e7c3ebe32711c3217b0414aab20321a8ad5a8f2657198bf53603bd69f
MD5 ed92a6575cc2a3a1d6591a68f1c0ed42
BLAKE2b-256 5c2ede4ed4d459a63563cfc418ccb0116a80d88b8ea81b85b4b02f679f19de3c

See more details on using hashes here.

File details

Details for the file multimodalrouter-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for multimodalrouter-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 501dc0a55709ad0a3d022c41290bc7e335c9e67f2b4a6418b49e4aecb616ba55
MD5 1395389e51c27760fc6b86ef7eddca0b
BLAKE2b-256 5563bd08604ae7c0925f58fa3451154b2b16b5e0de33d28d11427cddcc327271

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page