Fast multimodal routing in Rust designed for memory-constrained machines
Rust
150
128 commits
updated Jun 24, 2025
Solari is a high-performance transit routing engine built using the RAPTOR algorithm, optimized for lightweight, global-scale public transit routing. Designed to serve developers building applications requiring fast and resource-efficient transit planning (e.g., maps apps, trip-planning APIs), it avoids heavy preprocessing steps while supporting planet-scale coverage through memory-mapped timetables.
Planet-Scale Coverage:
memmap2).Multi-Agency Support:
Timezone Awareness:
HTTP API Endpoint:
POST /v1/plan
Example request:
curl -d '{"from":{"lat":47.679591,"lon":-122.356388},"to":{"lat":47.616440,"lon":-122.320440},"start_at":1742845000000}' \
https://transit.maps.earth/v1/plan
GTFS Compatibility:
gtfs-structures crate.rustc >= 1.86 tested).libssl-dev on Ubuntu).It used to be pretty simple to get a Solari instance up and running but we added support for pedestrian routing during transfers which complicated setup. Awaiting new documentation.
memmap2 to load timetable data directly from disk, enabling fast access without RAM overhead./v1/plan response format may evolve as documentation finalizes, but no compatibility breaking changes to the v1 endpoint after the initial release.You may want to use this project if you need:
Avoid if you require:
128 commits
Rust
99.9%
Fast multimodal routing in Rust designed for memory-constrained machines
Rust
150
128 commits
updated Jun 24, 2025
Solari is a high-performance transit routing engine built using the RAPTOR algorithm, optimized for lightweight, global-scale public transit routing. Designed to serve developers building applications requiring fast and resource-efficient transit planning (e.g., maps apps, trip-planning APIs), it avoids heavy preprocessing steps while supporting planet-scale coverage through memory-mapped timetables.
Planet-Scale Coverage:
memmap2).Multi-Agency Support:
Timezone Awareness:
HTTP API Endpoint:
POST /v1/plan
Example request:
curl -d '{"from":{"lat":47.679591,"lon":-122.356388},"to":{"lat":47.616440,"lon":-122.320440},"start_at":1742845000000}' \
https://transit.maps.earth/v1/plan
GTFS Compatibility:
gtfs-structures crate.rustc >= 1.86 tested).libssl-dev on Ubuntu).It used to be pretty simple to get a Solari instance up and running but we added support for pedestrian routing during transfers which complicated setup. Awaiting new documentation.
memmap2 to load timetable data directly from disk, enabling fast access without RAM overhead./v1/plan response format may evolve as documentation finalizes, but no compatibility breaking changes to the v1 endpoint after the initial release.You may want to use this project if you need:
Avoid if you require:
128 commits
Rust
99.9%