Skip to main content

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

Metadata

Release files for multimodalrouter 0.1.16

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

Source distribution (sdist)

Source distribution for multimodalrouter 0.1.16
File Size Uploaded
multimodalrouter-0.1.16.tar.gz 332.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for multimodalrouter 0.1.16
File Interpreter ABI Platform
multimodalrouter-0.1.16-py3-none-any.whl Python 3 none any Details

Total release size: 357.4 kB

Release files / multimodalrouter-0.1.16.tar.gz

Download URL multimodalrouter-0.1.16.tar.gz
Size 332.7 kB
Tags Source
SHA-256 checksum
How to use checksums
06a85eeaaf12377b1598c408abbb54000553bc040b5e3075f34db1d45029d5e2
BLAKE2b-256 checksum
How to use checksums
e58bcea663cade2042bd157915ee6d938500128f968d2a7a7c962a834eceb6ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / multimodalrouter-0.1.16-py3-none-any.whl

Download URL multimodalrouter-0.1.16-py3-none-any.whl
Size 24.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d3556ea92c4f5acf509e7f6a5df877b392a85e3a543ae64642002885a9484826
BLAKE2b-256 checksum
How to use checksums
868d0dcd5b3b3439ad38b9dd5821b3f7cfd8505f6d8d7cd993f480edc7947a33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.1.16 This release

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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