Skip to main content

grpc for Humans. grpc reflection support client

Project description

grpc_requests

PyPI - Python Version PyPI PyPI download month codecov Views

##GRPC for Humans

Feature

  • connect server using reflection
  • no need stub class request grpc
  • supprot method
    • unary-unary
    • unary-stream
    • stream-unary
    • stream-stream

install

pip install grpc_requests

example

from grpc_requests import Client

port = '50051'
host = "localhost"
endpoint = f"{host}:{port}"

client = Client.get_by_endpoint(endpoint)
print(client.service_names) # ["helloworld.Greeter"]

service = "helloworld.Greeter"
method = 'SayHello'

request_data = {"name": 'sinsky'} # You Don't Need Stub!
result = client.unary_unary(service, method, request_data)
print(type(result)) # result is dict Type!!! not Stub Object!
print(result) # {"message":"Hellow sinsky"}

using Stub example

from grpc_requests import Client
from helloworld_pb2 import HelloRequest

port = '50051'
host = "localhost"
endpoint = f"{host}:{port}"

client = Client.get_by_endpoint(endpoint)
print(client.service_names) # ["helloworld.Greeter"]

service = "helloworld.Greeter"
method = 'SayHello'

result = client.unary_unary(service, method, HelloRequest(name='sinsky'))
print(type(result)) # result is dict Type!!! not Stub Object!
print(result) # {"message":"Hellow sinsky"}

# or get raw response data
result = client.unary_unary(service, method, HelloRequest(name='sinsky'),raw_output=True)
print(type(result)) # HelloReply stub class

Relation Project

  • homi : micro grpc framework like flask. easy to use!

Change Logs

  • 0.0.1
    • sync proto using reflection
    • auto convert request(response) from(to) dict
    • support unary-unary

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grpc_requests-0.0.1.tar.gz (4.7 kB view hashes)

Uploaded Source

Built Distribution

grpc_requests-0.0.1-py3-none-any.whl (8.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page