danielgtaylor / danielgtaylor/python-betterproto
Importing well known types
- Dominant language
- Python
- Stars
- 1.8k
- Forks
- 234
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I'm not sure how to work with well known types.
Having a proto file like this:
```
syntax = "proto3";
package simple;
import "google/protobuf/empty.proto";
service SimpleSender {
rpc Send(SendParams) returns (google.protobuf.Empty) {}
}
message SendParams {
string body = 1;
}
```
I get output like this:
```python
# Generated by the protocol buffer compiler. DO NOT EDIT!
# sources: Simple.proto
# plugin: python-betterproto
from dataclasses import dataclass
import betterproto
import grpclib
from .google import protobuf
@dataclass
class SendParams(betterproto.Message):
body: str = betterproto.string_field(1)
class SimpleSenderStub(betterproto.ServiceStub):
async def send(self, *, body: str = "") -> protobuf.Empty:
request = SendParams()
request.body = body
return await self._unary_unary(
"/simple.SimpleSender/Send", request, protobuf.Empty,
)
```
There is ofcourse no `google` package. I tried to generate code from proto files included in `grpc_tools` but I'm not able to get any python code.
What is the best way to work with well known types?
Contributor guide
Assessment
This issue has not been assessed yet.