8000 GitHub - fizx/protobuf-init: python protoc plugin for generating __init__.py (init) files
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fizx/protobuf-init

 
 

Repository files navigation

protobuf-init

To install:

pip install protobuf-init

This package will create __init__.py files when compiling *.proto files. Optionally, it will create relative imports from generated *_pb.py, *_pb_grpc.py, and *_grpc.py files from protobuf, grpcio, and grpclib packages, respectively.

Using the protos folder of this project as an example, the following command will generate the contents of the example package, also in this project (assuming grpcio-tools is installed):

export PROTO_PATH=./protos
export GEN_PATH=.
python -m grpc_tools.protoc \
    --python_out=$GEN_PATH \
    --mypy_out=$GEN_PATH \
    --init_python_out=$GEN_PATH \
    --init_python_opt=imports=protobuf+grpcio+grpclib \
    --grpc_python_out=$GEN_PATH \
    --grpclib_python_out=$GEN_PATH \
    --proto_path=$PROTO_PATH 
    $(find $PROTO_PATH -name '*.proto')

The --init_python_out=$GEN_PATH flag indicates to call the plugin to create the init files.

The --init_python_opt=imports=protobuf+grpcio+grpclib indicates which relative imports to include in the init files. Allowed options are protobuf, grpcio, grpclib, separated by +. (Note that both grpcio and grpclib generate <ServiceName>Stub objects which would collide in the init file.)

51FA

About

python protoc plugin for generating __init__.py (init) files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.1%
  • Makefile 4.9%
0