Python 3 resolver for go-micro grpc services.
Make sure you have the needed protobuf and plugins.
Notes:
- You will need to set or replace the variables!
- Make sure you have the python package grpcio-tools installed!
PATH=$PATH:$GOBIN_PATH protoc -I=$SOURCE_OF_MICRO_PROJECT --proto_path=$GOPATH/src:. --python_out=plugins=micro,grpc:. $PATH_TO_PROTO_FILE
python -m grpc_tools.protoc -I=$SOURCE_OF_MICRO_PROJECT --python_out=. --grpc_python_out=. $PATH_TO_PROTO_FILE
from micro_client.registry.etcdregistry import etcd, Registry
from micro_client.common import Services
s = Services(Registry(etcd.Client(port=2379), '/micro-registry'))
import requests
from micro_client.registry.consulregistry import Registry
from micro_client.common import Services
s = Services('http://127.0.0.1:8500/v1', session=requests.Session()))
service = s.resolve('some')
print(service.connection_info)
# Import the stub and grpc structures for use
import grpc
from some_pb2_grpc import SomeStub
from some_pb2 import Input, Structures
# Get the stub
stub = services.insecure('some', SomeStub)
# Call it
result = stub.SomeCall(Input(Data=1), Structures(Some="data", ID=1))