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.0.tar.gz (461.9 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.0-py3-none-any.whl (471.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mamut_routing_tools-0.3.0.tar.gz
  • Upload date:
  • Size: 461.9 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.0.tar.gz
Algorithm Hash digest
SHA256 fe1428122639b285ae870f6be1136cc281de681815e0864fcb0e9a4884c93316
MD5 43f4ce3db09462bd21def8e5debccaf9
BLAKE2b-256 d00986e8b48baadb8e1b16cc4f7ad590d0ad7d1398443489f630c68f2bb860f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mamut_routing_tools-0.3.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mamut_routing_tools-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 399a75605f261fc5bcea0d9be60357db1d115a209feb402465c2be2558e2865e
MD5 fe1721b4107f0fdb0c4fdacb55fcdc7a
BLAKE2b-256 da07f539e670b9ade269a79bbe1375f90e4b0b9dc96920f79adda33cdc101cd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mamut_routing_tools-0.3.0-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