Skip to main content

Local generation tool suite for MAMUT-routing: OSM acquisition, road-graph engine, route geometry, and CVRP/VRPTW instance generation.

Project description

MAMUT-routing-tools

Local generation tool suite for the MAMUT-routing benchmark project: OSM city acquisition, a road-graph engine, BKS route-geometry materialization, and interactive CVRP/VRPTW instance generation. The public MAMUT-routing website is fully static; everything compute-heavy lives here and runs on your own machine.

Part of the ANR MAMUT project.

Status

Beta. The tool suite is being extracted from the website's former Julia backend; interfaces may change between releases.

Components

  • mamut-tools roadgraph: build and inspect drivable road graphs from OSM XML extracts. The construction is a faithful Python port of the OpenStreetMapX.jl pipeline the project previously used (same road classes, oneway rules, intersection segmentation, ENU distances, and strongly-connected trim), so graphs and route geometry stay consistent with previously published data.
  • mamut-tools geometry: materialize road-following polylines for Best-Known Solutions (BKS), in the exact artifact format the MAMUT-routing website consumes.
  • mamut-tools osm fetch-city: download an OSM extract (roads + amenities) for a city by name, via Nominatim geocoding and Overpass with retry, roads-only fallback, and tiled amenity backfill.
  • mamut-tools generate: interactive CVRP/VRPTW instance generation on city road graphs (single, bulk, preview, VRPTW derivation), the port of the historical MAMUT workbench generator.
  • mamut-tools solve: PyVRP solving of generated and benchmark instances via mamut-routing-lib; with the kayros extra (pip install 'mamut-routing-tools[kayros]'), KAYROS solves the time-dependent instances (Duration objective, anytime with exact certification tooling).
  • mamut-tools gui: a CLI-owned local workbench GUI (loopback server with token security) for fetching cities, previewing, generating, solving, and rendering road-following routes on a map.
  • Planned: the official time-dependent benchmark campaign pipeline.

Install

Requires Python >= 3.11. Two variants:

Option A — from PyPI (recommended for users)

Published on PyPI. With uv, no installation step is needed:

uvx --from mamut-routing-tools mamut-tools --help

Or install it into an environment:

pip install mamut-routing-tools
# or
uv add mamut-routing-tools

Option B — from source (recommended for contributors)

Clone the repository and use the project environment:

git clone https://github.com/ANR-MAMUT/MAMUT-routing-tools.git
cd MAMUT-routing-tools
uv sync
uv run mamut-tools --help
uv run pytest

In both variants the MAMUT-routing-lib contract library resolves from PyPI; the vendored submodule checkout exists for contract reference and unreleased-lib development.

Quick examples

# Road-graph statistics for a city extract
uv run mamut-tools roadgraph info path/to/City.osm

# Materialize a route-geometry group plan (website build contract)
uv run mamut-tools geometry materialize-plan plan.json --repo-root path/to/MAMUT-routing --result-dir out/

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

mamut_routing_tools-0.3.1.tar.gz (462.4 kB view details)

Uploaded Source

Built Distribution

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

mamut_routing_tools-0.3.1-py3-none-any.whl (472.3 kB view details)

Uploaded Python 3

File details

Details for the file mamut_routing_tools-0.3.1.tar.gz.

File metadata

  • Download URL: mamut_routing_tools-0.3.1.tar.gz
  • Upload date:
  • Size: 462.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mamut_routing_tools-0.3.1.tar.gz
Algorithm Hash digest
SHA256 619576f4e2699939b5ac2dc5c476a1a741008cc3c64c89c6b1079104a9bcf5ea
MD5 6f6bc32cb85a7df7af4cc3be90c7ea71
BLAKE2b-256 41c5a2209a4ba9bf8f76e839b645b0c69a819f2264fdd5c4d633ac80eeb01474

See more details on using hashes here.

Provenance

The following attestation bundles were made for mamut_routing_tools-0.3.1.tar.gz:

Publisher: publish.yml on ANR-MAMUT/MAMUT-routing-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mamut_routing_tools-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mamut_routing_tools-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9256c5197aa5d020bac23d1e53c00305cb37a7843093f50d6aa92b11c4eda973
MD5 5681a936d01cb25ea11eb92141cfb638
BLAKE2b-256 e1440733acb824059806ef52d859e9542eeeb343c7813af98546fb21df29a31b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mamut_routing_tools-0.3.1-py3-none-any.whl:

Publisher: publish.yml on ANR-MAMUT/MAMUT-routing-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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