Python Library to generate proto buffer code from python using type hints
Project description
Protomodel
Python Library to generate proto buffer code from python using type hints
Example
Generate a file hello.py and add the following code:
from protomodel import message, service, rpc
@message
class HelloRequest:
name: str
@message
class HelloReply:
message: str
@service
class Greeter:
@rpc
def say_hello(hello_request: HelloRequest) -> HelloReply:
pass
Generate file
Run the following command to generate a proto buffer file
python -m protomodel generate --python_file=hello.py --proto_name=hello.proto
And then you will get the following result:
syntax = "proto3";
package app.proto;
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
Adding another types
Python Code:
@message
class Item:
id: int
name: str
description: str
price: float
enabled: bool
@message
class ItemsList:
items: list[Item]
Result:
message Item {
int32 id = 1;
string name = 2;
string description = 3;
double price = 4;
bool enabled = 5;
}
message ItemsList {
repeated Item items = 1;
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
protomodel-0.0.10.tar.gz
(3.7 kB
view hashes)
Built Distribution
Close
Hashes for protomodel-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfea782c0f7ff46f285c4bdb56b2dde2f157d5c31a64511e2d4482566446e778 |
|
MD5 | 5baf082d48c80efde5d456494a00ee71 |
|
BLAKE2b-256 | d64062b6c9e6b35de3db50dab0f9b5429549fb86db896f8c57b426d86dc8bde0 |