There are bazel-based projects that wish to build and use pybind11. Currently, this is in Google's monorepo, which is almost exclusively bazel-based, but soon also in some OSS projects that we contribute code to and synchronize with the monorepo. Ideally, the build glue and starlark macros written to adapt pybind11 into the bazel system would be shared among many projects, rather than have poorly vendored copies in each.
The contributors are currently considering producing a repo that is essentially just a bazel wrapper on the pybind11 repo: the wrapper refers to pybind11 as an external dependency and exposes build targets, starlark macros (e.g., pybind_library and pybind_shared_library macros that generate cc_library and cc_binary rules). It would likely be separate from pybind11 proper unless y'all wanted to retrofit build systems.
One question we're considering is _where_ to host it. IMO, the clear winner would be in the pybind organization itself, since it's directly related to using pybind11. Is this something y'all would be amenable to?
If so, is there a process by which you'd want to adopt this? e.g., create an empty repo with some explicit external-to-the-organization contributors to build it out? Or have us create a repo with the desired behavior to be reviewed and then forked into pybind at a later point?
/cc @rmmh @av8ramit @gunan @petebu
I would be happy to host such a repository in the pybind11 organization. Please let me know who to add with commit rights.
.. and how to name the repo :)
I need to talk with our OSS releasing team first, but given the provisional green light here, I'm going to propose to them that it land in https://github.com/pybind/pybind11_bazel.
Ok, I've gone ahead and created that repository. You are admin and should feel free to add collaborators as needed.
Would you also consider hosting repositories for some custom type casters we've written for abseil and protobuf? These could be called "pybind11_abseil" and "pybind11_protobuf".
I think the pybind11 org is the best place for these but putting them in the main repo is not ideal since that would introduce dependencies on the third party libraries.
Yes, I would be happy to host such extensions in the organization (as long as it is not in the main pybind11 repo :)).
Great! In that case, would you mind creating "pybind11_abseil" and "pybind11_protobuf" repos and adding me as admin. :)
done.
I'll go ahead and close this ticket.
@petebu Is there any timeline on publishing pybind11_abseil and pybind11_protobuf?
Most helpful comment
I would be happy to host such a repository in the pybind11 organization. Please let me know who to add with commit rights.