pybind11_protobuf icon indicating copy to clipboard operation
pybind11_protobuf copied to clipboard

proto package is not preserved

Open estrulyov opened this issue 3 years ago • 3 comments

For this test I pulled the example code from https://github.com/davidtwomey/pybind11_protobuf_example.git and updated it to use native_proto_caster + latest versions of libs pybind_proto_example.zip .

The issue is that the proto created in python has the type <class 'example_pb2.TestMessage'> but the proto created in C++ has the type <class 'TestMessage'>

The module name is not preserved despite package being specified in example.proto. This breaks isinstance().

We see even more weirdness in our code with nested protos. Sometimes the nested proto includes the full module name (python-style) and sometimes it doesn't (C++ style).

Questions:

  1. Why is it happening?
  2. Is it safe?

To test: unzip the attached code and run bazel run example

estrulyov avatar Sep 12 '22 21:09 estrulyov

@laramiel

rwgk avatar Sep 12 '22 21:09 rwgk

ping...

estrulyov avatar Sep 20 '22 22:09 estrulyov

Sorry, I did some experiments with the zip file on my macbook and had a few build related issues that surfaced first.

cue malcolm in the middle meme

Will try to look some more soon-ish.

laramiel avatar Sep 21 '22 00:09 laramiel