The Python micro framework for building gPRC application.
Project description
gRPCAlchemy
The Python micro framework for building gPRC application.
Free software: MIT license
Documentation: https://grpcalchemy.readthedocs.io.
Installation
Disclaimer: Still at an early stage of development. Rapidly evolving APIs.
$ pipenv install grpcalchemy
✨🍰✨
Only Python 3.6+ is supported.
Example
Server
from grpcalchemy.orm import Message, StringField
from grpcalchemy import Server, Context
app = Server('server')
class HelloMessage(Message):
__filename__ = 'hello'
text = StringField()
@app.register
def test(request: HelloMessage, context: Context) -> HelloMessage:
return HelloMessage(text=f"Hello {request.text}")
if __name__ == '__main__':
app.run()
Client
from grpcalchemy import Server, Context
from grpcalchemy.orm import Message, StringField
class HelloMessage(Message):
__filename__ = 'hello'
text = StringField()
hello = Server("hello")
@hello.register
def test(request: HelloMessage, context: Context) -> HelloMessage:
return HelloMessage(text=f"Hello {request.text}")
if __name__ == '__main__':
with Client("localhost:50051") as client:
client.register(hello)
response: HelloMessage = client.hello(
rpc=test, message=HelloMessage(text="world"))
print(response.text) # Hello world
Features
gPRC Service Support
gRPC Client Support
- gRPC Message Support
Scalar Value Types
Message Types
Repeated Field
Maps
Middleware And Listeners
TODO
All Types Support
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.2.0 (2019)
Change gRPCAlchemy Server register to register_blueprint
Make gRPCAlchemy Server inherit from Blueprint
Support Json Format
Support Inheritance Message
0.1.6 (2019-01-21)
Various bug-fixes
Improve tests
Change Client API
Add PreProcess And PostProcess
Import Config Object
Add Event Listener
Change Field Object Into Descriptor
0.1.5 (2018-12-14)
Various bug-fixes
Improve tests
Add client
0.1.4 (2018-12-11)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for grpcalchemy-0.2.0.post0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c043d4643e6fc76c44d2d950598d832af4e9ab7cd6e8a05e0e0df685c76585f |
|
MD5 | 61edaf5917b3a7fb12818075435f0ca4 |
|
BLAKE2b-256 | d1f4bcbf1981b1d4d66bafd4711ecad940bab30cdb1d40d3bc2e7fc475b176cb |