yet another Python binding to OSRM #7446
Replies: 3 comments 10 replies
-
|
Thanks for posting this, and a big shoutout to @whytro for laying the groundwork during GSoC 2023! Great to see it finally land on PyPI. The nanobind approach sounds solid, and the fact that it imports as Given how many OSRM related packages are already out there, it makes a lot of sense to work toward an official set of bindings. The next step I would love to see is getting it to build and pass tests across all supported platforms and Python versions, Windows included. If anyone in the community has the patience to dig into the Windows test failures, that would be a fantastic contribution! Let us keep the conversation going here around what a path to an official binding might look like. |
Beta Was this translation helpful? Give feedback.
-
|
Yeah I agree, it's much smoother to have bindings live in the upstream repo. Especially for versioning/releasing. I did the same with the Valhalla bindings a while back. What's particularly nice about publishing bindings is that it's a binary release for all (supported) platforms. They contain the relevant executables too and one doesn't even need python installed to install those, a simple wheel download from pypi is enough. I'd be happy to do the leg work & maintain the same for OSRM bindings. I wanna get more involved anyways, I have some appetite for deep diving into new routing concepts:) Anyways, in that case I'd also strongly recommend for Osrm to release regularly. I switched Valhalla to quarterly releases via GHA (posts a PR). Before that, we were also often having a year in between with tons of master commits unreleased. What do you think @DennisOSRM, should we have a similar GHA here? |
Beta Was this translation helpful? Give feedback.
-
|
it did take almost a full day, but windows is working now: ha, posted this prematurely! will (hopefully) be successful in a bit there's some problems when testing map matching on win: nilsnolde/osrm-bindings#40. I'd get to that while contributing the project to upstream OSRM. if you're not cool with that or have some early comments, let me know @DennisOSRM. so far I didn't even check if tests are executed on win in this repo's GHA. I guess I should be able to finish also the arm variants for mac & linux tonight. windows arm is apparently also forced on everyone these days, but I won't touch that;) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Initially started (and almost finished) by @whytro during GSoC 2023, I finally got around to publish the package: https://pypi.org/project/osrm-bindings/.
It's implemented with nanobind and very close to OSRM C++ API, in fact there's no python code at all other than tests. I was surprise by how many OSRM packages there are on PyPI: https://pypi.org/search/?q=osrm. Name choice was getting pretty limited,
osrm-bindingsis meeh, but whatever.. It's still importing asosrm.I was battling Windows for a while but didn't have the patience. Maybe someone else does. It's building but the tests are failing, I didn't make any attempt to reproduce & fix locally: https://github.com/nilsnolde/osrm-bindings/blob/c2a4563122ee6ebcec6ce0c0b6d486d0303df94d/pyproject.toml#L92-L97.
Beta Was this translation helpful? Give feedback.
All reactions