nilsnolde / py-osrm

Python bindings to the OSRM routing framework
https://gis-ops.github.io/py-osrm/
BSD 2-Clause "Simplified" License
8 stars 8 forks source link

Package OSRM executables #14

Closed nilsnolde closed 1 year ago

nilsnolde commented 1 year ago

Since each release will target a specific OSRM version/release, we should include the batteries to build graphs which are compatible with the specific version. Two options (in order of complexity):

  1. Simply copy the binary executables into the package: https://stackoverflow.com/questions/64286409/how-to-extend-a-python-package-by-binary-executables. Since that wouldn't put those exes into the PATH, we might want to consider to create a small Python wrapper executable which calls subprocess on the actual OSRM executables. Also those executables will have to be statically linked to its dependencies.
  2. Create Python bindings for the OSRM build process for both CH & MLD (e.g. py_osrm.build_extract && py_osrm.build_ch/mld. That might be feasible but probably a lot more work than 1. Maybe it's also very easy, I'd imagine those OSRM executables are just a thin wrapper around library API. You can have a quick look @whytro and see if that's a doable route.