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 thekayrosextra (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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
619576f4e2699939b5ac2dc5c476a1a741008cc3c64c89c6b1079104a9bcf5ea
|
|
| MD5 |
6f6bc32cb85a7df7af4cc3be90c7ea71
|
|
| BLAKE2b-256 |
41c5a2209a4ba9bf8f76e839b645b0c69a819f2264fdd5c4d633ac80eeb01474
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mamut_routing_tools-0.3.1.tar.gz -
Subject digest:
619576f4e2699939b5ac2dc5c476a1a741008cc3c64c89c6b1079104a9bcf5ea - Sigstore transparency entry: 2195390634
- Sigstore integration time:
-
Permalink:
ANR-MAMUT/MAMUT-routing-tools@b311e328d33a0a594f7629606fcbb875250ca73a -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/ANR-MAMUT
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b311e328d33a0a594f7629606fcbb875250ca73a -
Trigger Event:
release
-
Statement type:
File details
Details for the file mamut_routing_tools-0.3.1-py3-none-any.whl.
File metadata
- Download URL: mamut_routing_tools-0.3.1-py3-none-any.whl
- Upload date:
- Size: 472.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9256c5197aa5d020bac23d1e53c00305cb37a7843093f50d6aa92b11c4eda973
|
|
| MD5 |
5681a936d01cb25ea11eb92141cfb638
|
|
| BLAKE2b-256 |
e1440733acb824059806ef52d859e9542eeeb343c7813af98546fb21df29a31b
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mamut_routing_tools-0.3.1-py3-none-any.whl -
Subject digest:
9256c5197aa5d020bac23d1e53c00305cb37a7843093f50d6aa92b11c4eda973 - Sigstore transparency entry: 2195390637
- Sigstore integration time:
-
Permalink:
ANR-MAMUT/MAMUT-routing-tools@b311e328d33a0a594f7629606fcbb875250ca73a -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/ANR-MAMUT
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b311e328d33a0a594f7629606fcbb875250ca73a -
Trigger Event:
release
-
Statement type: