protobuf_to_pydantic
protobuf_to_pydantic copied to clipboard
Support `BaseModel` serialization to `Protobuf Message`
The current step of converting BaseModel
to Protobuf Message
is tedious and has poor performance. e.g:
from google.protobuf.json_format import ParseDict
from pydantic import BaseModel
from demo_pb2 import DemoMessage
class Demo(BaseModel):
pass
ParseDict(Demo().dict(), DemoMessage())
Serialization can be optimized in the following ways:
-
1.Convert directly to Message:
from protobuf_to_pydantic.p2p_model import P2PBaseModel class Demo(P2PBaseModel): pass Demo().to_message()
-
2.Serialized to dict, then converted to Message by the developer (https://github.com/pydantic/pydantic/issues/1409#issuecomment-1376406994)
from google.protobuf.json_format import ParseDict from pydantic import BaseModel from demo_pb2 import DemoMessage class Demo(BaseModel): pass DemoMessage(**Demo().dict())