Skip to main content

micro grpc framework like flask

Project description

homi

PyPI - Python Version PyPI PyPI download month codecov ViewCount

micro grpc framework like flask

install

pip install homi

Feature

  • config less to run server
  • use decorator pattern to connect service method
  • auto parse request data to dict, you don't use grpc request object
  • auto set argument what you want
  • support all grpc service type(unary-unary,unary-stream,stream-unary,stream-stream)
  • you just return dict type, not grpc object

Example

check more example

import homi

import helloworld_pb2
import helloworld_pb2_grpc


@homi.register(helloworld_pb2_grpc, 'Greeter',method='SayHello')
def hello(request,context):
    print(f"{request.name} is request SayHello")
    return helloworld_pb2.HelloReply(message=f"Hello {request.name}!")

# or you can do just like this! It's easy!!

@homi.register(helloworld_pb2_grpc, 'Greeter') # auto find same method name
def SayHello(name,**kwargs): # auto deserialize request to dict
    print(f"{name} is request SayHello")
    return {"message":f"Hello {name}!"} # auto serialize dict to response

run server

# if app file name is app.py
homi run

# run ohter app file
homi run other_app.py

# change port
homi run -p 50055

# change total worker
homi run -w 5

Relation Project

  • grpc_requests : GRPC for Humans! python grpc reflection support client

Change Logs

  • 0.0.1 (init project)
    • run server using cli
    • helloworld example
  • 0.0.3
    • support all method type
    • add flak8 lint
    • add test case
    • #9 auto parse response message
  • 0.0.4.alpha
    • add real server testcase
    • support grpc-health

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

homi-0.0.4a3.tar.gz (11.0 kB view hashes)

Uploaded Source

Built Distribution

homi-0.0.4a3-py3-none-any.whl (19.2 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