Note that since gRPC 1.7.0 the generated code is split into code for the messages (*_pb2.py) and the gRPC services (*_pb2_grpc.py). See: https://github.com/grpc/grpc/releases/tag/v1.7.0
Unfortunately, the generator generates empty *_pb2_grpc.py files for *.proto files that have no gRPC services in there e.g. query.proto results into query_pb2_grpc.py. This is a known issue: https://github.com/grpc/grpc/issues/14172
Signed-off-by: Michael Berlin <mberlin@google.com>