valhalla / valhalla

Open Source Routing Engine for OpenStreetMap
https://valhalla.github.io/valhalla/
Other
4.47k stars 678 forks source link

move python bindings packaging to main valhalla #4624

Open nilsnolde opened 6 months ago

nilsnolde commented 6 months ago

as it seems like I'll be taking a OSS sabbatical for a while and I'm trying to distribute my projects:)

we have https://github.com/gis-ops/pyvalhalla which only packages the bindings and pushes them to PyPI. the whole workflow is really messed up currently and I'd like to clean it up, so everything works with vcpkg & builds cleanly on CI.

to be honest, the whole linux business to publish c++-extended pypi packages is :vomiting_face: (osx & win is no problem) because of ABI compat with python, packages for distribution have to be compiled on distros with a glibc version as low as possible for maximum distro compatibility. I set up https://github.com/gis-ops/manylinux, which is a forked manylinux image (based on almalinux) with glibc 2.28 also installing all necessary dependencies, which should be good for another few years before being deprecated.

I'd propose to add the workflows etc to our main repo which get triggered when there was a tag/release created. would you be fine with that? there's very little extra files needed, mainly the setup.py and the GHA workflow yaml.

nilsnolde commented 6 months ago

and possibly we could fork the manylinux image to the org, similar as I did. it's not much changed from upstream, mostly installing valhalla dependencies and preserving python static libraries as we need them for compilation.