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.1 (2019-02)
Implement Own gRPC Server
0.2.0 (2019-01-30)
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.post1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13188da3ac539e49a92e735e9a6d7529e026945a377073918dde127bd0939d92 |
|
MD5 | 338631696279157342d7165f34fbb2d1 |
|
BLAKE2b-256 | 1af6d12a7b83b044e18c4ff6c239db38b12fd859a2b734ce8d88a8665039da57 |