All Projects → GuangTianLi → Grpcalchemy

GuangTianLi / Grpcalchemy

Licence: mit
The Python micro framework for building gPRC application.

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Labels

Projects that are alternatives of or similar to Grpcalchemy

Matchbox
Network boot and provision Fedora CoreOS and Flatcar Linux clusters
Stars: ✭ 956 (+1417.46%)
Mutual labels:  grpc
Sol2proto
Ethereum contract ABI to gRPC protobuf IDL transpiler
Stars: ✭ 41 (-34.92%)
Mutual labels:  grpc
Google Assistant Java Demo
A simple Google Assistant Client in Java
Stars: ✭ 53 (-15.87%)
Mutual labels:  grpc
Go Grpc Prometheus
Prometheus monitoring for your gRPC Go servers.
Stars: ✭ 965 (+1431.75%)
Mutual labels:  grpc
Grpc Contract
A tool to generate the grpc server code for a contract
Stars: ✭ 40 (-36.51%)
Mutual labels:  grpc
V2ray python client
这个是v2ray python调用api的实例,可以根据这个实例调用所有的api,现在已经支持的接口为:add_user、remove_user、get_stats add_inbound、remove_inbound
Stars: ✭ 42 (-33.33%)
Mutual labels:  grpc
Ts Protoc Gen
Protocol Buffers Compiler (protoc) plugin for TypeScript and gRPC-Web.
Stars: ✭ 913 (+1349.21%)
Mutual labels:  grpc
Kubemq
KubeMQ is Enterprise-grade message broker native for Docker and Kubernetes
Stars: ✭ 58 (-7.94%)
Mutual labels:  grpc
Multiplay Grpc Server
gRPC server for Multiplaying in Rust
Stars: ✭ 41 (-34.92%)
Mutual labels:  grpc
Condor Framework
Framework for building GRPC services in Node JS. Include middleware, and more.
Stars: ✭ 52 (-17.46%)
Mutual labels:  grpc
Ssl grpc example
Example using SSL with gRPC in Python
Stars: ✭ 36 (-42.86%)
Mutual labels:  grpc
Csharp Grpc
OpenTracing Instrumentation for gRPC
Stars: ✭ 40 (-36.51%)
Mutual labels:  grpc
Micro Mesh
gRPC微服务架构实践
Stars: ✭ 50 (-20.63%)
Mutual labels:  grpc
Tensorflowservingcsharpclient
Implement Tensor Flow Serving C# client example with gRPC. MNIST prediction console application and web paint ASP.NET Core 2.0 and ReactJS application.
Stars: ✭ 31 (-50.79%)
Mutual labels:  grpc
Protoc Gen Twirp swagger
Swagger generator for twirp
Stars: ✭ 54 (-14.29%)
Mutual labels:  grpc
Prometheus Net
.NET library to instrument your code with Prometheus metrics
Stars: ✭ 944 (+1398.41%)
Mutual labels:  grpc
Grpc Gke Nlb Tutorial
gRPC load-balancing on GKE using Envoy
Stars: ✭ 42 (-33.33%)
Mutual labels:  grpc
Blazor Wasm Identity Grpc
Blazor WASM, IdentityServer4, Kestrel Web Server, Entity Framework Code First SQLite Database with Multiple Roles, Additional User Claims & gRPC with Roles Authorization.
Stars: ✭ 61 (-3.17%)
Mutual labels:  grpc
Grpcc
A gRPC cli interface for easy testing against gRPC servers
Stars: ✭ 1,078 (+1611.11%)
Mutual labels:  grpc
Node Grpc Server Note Crud
gRPC Server and Client Example for CRUD Note Service using node.js
Stars: ✭ 50 (-20.63%)
Mutual labels:  grpc

=========== gRPCAlchemy

.. image:: https://img.shields.io/pypi/v/grpcalchemy.svg :target: https://pypi.python.org/pypi/grpcalchemy

.. image:: https://github.com/GuangTianLi/grpcalchemy/workflows/test/badge.svg :target: https://github.com/GuangTianLi/grpcalchemy/actions

.. image:: https://readthedocs.org/projects/grpcalchemy/badge/?version=latest :target: https://grpcalchemy.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

.. image:: https://img.shields.io/pypi/pyversions/grpcalchemy.svg :target: https://pypi.org/project/grpcalchemy/

.. image:: https://codecov.io/gh/GuangTianLi/grpcalchemy/branch/master/graph/badge.svg :target: https://codecov.io/gh/GuangTianLi/grpcalchemy

The Python micro framework for building gPRC application based on official gRPC <https://github.com/grpc/grpc>_ project.

Installation

.. code-block:: shell

$ pipenv install grpcalchemy
✨🍰✨

Only Python 3.6+ is supported.

Example

Server

.. code-block:: python

from grpcalchemy.orm import Message, StringField
from grpcalchemy import Server, Context, grpcmethod

class HelloMessage(Message):
    text: str

class HelloService(Server):
    @grpcmethod
    def Hello(self, request: HelloMessage, context: Context) -> HelloMessage:
        return HelloMessage(text=f'Hello {request.text}')

if __name__ == '__main__':
    HelloService.run()

Then Using gRPC channel to connect the server:

.. code-block:: python

from grpc import insecure_channel

from protos.helloservice_pb2_grpc import HelloServiceStub
from protos.hellomessage_pb2 import HelloMessage

with insecure_channel("localhost:50051") as channel:
    response = HelloServiceStub(channel).Hello(
        HelloMessage(text="world")
    )

Features

  • gPRC Service Support
  • gRPC Message Support
    • Scalar Value Types
    • Message Types
    • Repeated Field
    • Maps
  • Define Message With Type Hint
  • Middleware
  • App Context Manger
  • Error Handler Support
  • Streaming Method Support
  • gRPC-Health Checking and Reflection Support (Alpha)
  • Multiple Processor Support

TODO

  • Test Client Support
  • Async Server Support
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].