motis-openapi-progenitor

Crates.iomotis-openapi-progenitor
lib.rsmotis-openapi-progenitor
version0.3.0
created_at2025-03-29 22:52:38.089672+00
updated_at2025-09-20 22:39:00.062776+00
descriptionAPI-wrapper around the motis api used for routing
homepage
repository
max_upload_size
id1611804
size516,477
Frank Elsinga (CommanderStorm)

documentation

README

API client for motis v3

This API-client was automatically generated to support the motis v3 api. It was generated (mostly, some manual editing was done).

See https://github.com/oxidecomputer/progenitor for docs on the generator used

The following code can generate the client:

wget https://raw.githubusercontent.com/motis-project/motis/refs/heads/master/openapi.yaml
sed -i 's/openapi: 3.1.0/openapi: 3.0.0/' openapi.yaml

rm -fr src Cargo.*
cargo progenitor -i openapi.yaml -o motis-openapi-progenitor -n motis-openapi-progenitor -v 0.3.1  --interface builder
mv motis-openapi-progenitor/* .
rm -fr motis-openapi-progenitor

(
  echo '#![forbid(unsafe_code)]'
  echo '#![doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/README.md"))]'
  cat src/lib.rs
) > tmpfile
mv tmpfile src/lib.rs
rm openapi.yaml

To use it, you can use the Client as following

let res = motis_openapi_progenitor::Client::new("https://api.transitous.org").plan()
    .from_place("de-DELFI_000010073203") // landshut süd trains station
    .to_place("48.1371079,11.5753822,0") // munich coordinate at level 0
    .detailed_transfers(false)
    .send().await.unwrap();
println!("{res:?}");
Commit count: 0

cargo fmt