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.2.0.tar.gz (47.0 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.2.0-py3-none-any.whl (58.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mamut_routing_tools-0.2.0.tar.gz
  • Upload date:
  • Size: 47.0 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.2.0.tar.gz
Algorithm Hash digest
SHA256 d570363faf139a0c7198a0d0c3f14c42fc641b3c7189715bc51b0ce3f45e6c32
MD5 3f0003ebe38d84fb75498c920d6a1c8c
BLAKE2b-256 c2d2df9b77c5c37163fff2f9fa91d96f2df1ff783dcf9fb365c1c7f7f6d4e651

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mamut_routing_tools-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7354a23d4303c54efb0be5e88887723c54fc38b55f2e68a5385df1522bde2ee6
MD5 c4294e24c653a3cd126c8b372e29335a
BLAKE2b-256 735001d363f3d25ffc930222c7f49a607d5e2188089c19f0bdfe41a04d58d5c1

See more details on using hashes here.

Provenance

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