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:
Why is it happening?
Is it safe?
To test:
unzip the attached code and run bazel run example
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:
To test: unzip the attached code and run
bazel run example