The Python micro framework for building gPRC application.
Project description
===========
gRPCAlchemy
===========
.. image:: https://img.shields.io/pypi/v/grpcalchemy.svg
:target: https://pypi.python.org/pypi/grpcalchemy
.. image:: https://img.shields.io/travis/GuangTianLi/grpcalchemy.svg
:target: https://travis-ci.org/GuangTianLi/grpcalchemy
.. 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.
* Free software: MIT license
* Documentation: https://grpcalchemy.readthedocs.io.
Installation
----------------
| Disclaimer: Still at an early stage of development. Rapidly evolving APIs.
.. 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
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()
Features
----------
* gPRC Service Support
* gRPC Client Support
* gRPC Message Support
* Scalar Value Types
* Message Types
* Repeated Field
* Maps
* Middleware And Listeners
* Global Variable Support
* Current App Context Support
* Current Rpc Context Support
TODO
-------
* Stream Method Support
=======
History
=======
0.2.7(2019-03-19)
------------------
* Support YAML file in Config Module
* Improve Config Module
0.2.5-6(2019-03-06)
------------------
* Implement Rpc Context
* Improve Config Module
0.2.4(2019-03-01)
------------------
* Implement Globals Variable
* Implement APP Context
0.2.2-3 (2019-02-26)
------------------
* Improve Config module
* Improve rpc_call_wrap
0.2.1 (2019-02-14)
------------------
* Implement Own gRPC Server
* Implement gRPC Server Test Client
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.
gRPCAlchemy
===========
.. image:: https://img.shields.io/pypi/v/grpcalchemy.svg
:target: https://pypi.python.org/pypi/grpcalchemy
.. image:: https://img.shields.io/travis/GuangTianLi/grpcalchemy.svg
:target: https://travis-ci.org/GuangTianLi/grpcalchemy
.. 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.
* Free software: MIT license
* Documentation: https://grpcalchemy.readthedocs.io.
Installation
----------------
| Disclaimer: Still at an early stage of development. Rapidly evolving APIs.
.. 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
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()
Features
----------
* gPRC Service Support
* gRPC Client Support
* gRPC Message Support
* Scalar Value Types
* Message Types
* Repeated Field
* Maps
* Middleware And Listeners
* Global Variable Support
* Current App Context Support
* Current Rpc Context Support
TODO
-------
* Stream Method Support
=======
History
=======
0.2.7(2019-03-19)
------------------
* Support YAML file in Config Module
* Improve Config Module
0.2.5-6(2019-03-06)
------------------
* Implement Rpc Context
* Improve Config Module
0.2.4(2019-03-01)
------------------
* Implement Globals Variable
* Implement APP Context
0.2.2-3 (2019-02-26)
------------------
* Improve Config module
* Improve rpc_call_wrap
0.2.1 (2019-02-14)
------------------
* Implement Own gRPC Server
* Implement gRPC Server Test Client
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
grpcalchemy-0.2.7.tar.gz
(31.3 kB
view hashes)
Built Distribution
Close
Hashes for grpcalchemy-0.2.7-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3ca40db5501e99a444988a9ec0f07c2cf09cddea887ab17aa8fa8578db46c58 |
|
MD5 | 1b93b19326ada7de22897022e3e76ff0 |
|
BLAKE2b-256 | 6ac54e7d009ac313434d42506e2b2ddd0c77aca1679a824905de1e495f0d1ce3 |