Skip to main content

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.


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

grpcalchemy-0.2.7.tar.gz (31.3 kB view hashes)

Uploaded Source

Built Distribution

grpcalchemy-0.2.7-py2.py3-none-any.whl (21.8 kB view hashes)

Uploaded Python 2 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