| 30 | namespace nb = nanobind; |
| 31 | |
| 32 | NB_MODULE(osrm_ext, m) |
| 33 | { |
| 34 | namespace api = osrm::engine::api; |
| 35 | namespace json = osrm::util::json; |
| 36 | |
| 37 | using osrm::OSRM; |
| 38 | using osrm::engine::EngineConfig; |
| 39 | using osrm::engine::api::MatchParameters; |
| 40 | using osrm::engine::api::NearestParameters; |
| 41 | using osrm::engine::api::RouteParameters; |
| 42 | using osrm::engine::api::TableParameters; |
| 43 | using osrm::engine::api::TileParameters; |
| 44 | using osrm::engine::api::TripParameters; |
| 45 | |
| 46 | init_EngineConfig(m); |
| 47 | |
| 48 | init_Approach(m); |
| 49 | init_Bearing(m); |
| 50 | init_Coordinate(m); |
| 51 | init_JSONContainer(m); |
| 52 | init_Optional(m); |
| 53 | |
| 54 | init_BaseParameters(m); |
| 55 | init_NearestParameters(m); |
| 56 | init_TableParameters(m); |
| 57 | init_RouteParameters(m); |
| 58 | init_MatchParameters(m); |
| 59 | init_TripParameters(m); |
| 60 | init_TileParameters(m); |
| 61 | |
| 62 | nb::class_<OSRM>(m, "OSRM", nb::is_final()) |
| 63 | .def(nb::init<EngineConfig &>(), |
| 64 | "Instantiates an instance of OSRM.\n\n" |
| 65 | "Examples:\n\ |
| 66 | >>> import osrm\n\ |
| 67 | >>> osrm_py = osrm.OSRM('.tests/test_data/ch/monaco.osrm')\n\ |
| 68 | >>> osrm_py = osrm.OSRM(\n\ |
| 69 | algorithm = 'CH',\n\ |
| 70 | storage_config = '.tests/test_data/ch/monaco.osrm',\n\ |
| 71 | max_locations_trip = 3,\n\ |
| 72 | max_locations_viaroute = 3,\n\ |
| 73 | max_locations_distance_table = 3,\n\ |
| 74 | max_locations_map_matching = 3,\n\ |
| 75 | max_results_nearest = 1,\n\ |
| 76 | max_alternatives = 1,\n\ |
| 77 | default_radius = 'unlimited'\n\ |
| 78 | )\n\n" |
| 79 | "Args:\n\ |
| 80 | storage_config (string): File path string to storage config.\n\ |
| 81 | EngineConfig (osrm.osrm_ext.EngineConfig): Keyword arguments from the EngineConfig class.\n\n" |
| 82 | "Returns:\n\ |
| 83 | __init__ (osrm.OSRM): A OSRM object.\n\n" |
| 84 | "Raises:\n\ |
| 85 | RuntimeError: On invalid OSRM EngineConfig parameters.") |
| 86 | .def("__init__", |
| 87 | [](OSRM *t, const std::string &storage_path) |
| 88 | { |
| 89 | EngineConfig config; |
nothing calls this directly
no test coverage detected