Metadata-Version: 2.1
Name: grpcalchemy
Version: 0.7.2
Summary: The Python micro framework for building gPRC application.
Home-page: https://github.com/GuangTianLi/grpcalchemy
Author: GuangTian Li
Author-email: guangtian_li@qq.com
License: MIT license
Description: ===========
        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.
        
        
        * Free software: MIT license
        * Documentation: https://grpcalchemy.readthedocs.io.
        
        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
        
        
        =======
        History
        =======
        
        0.7.*(2021-03-20)
        --------------------
        
        * Remove Default Feature in Message
        * Refactor Composite Message Type
        * Support gRPC with xDS
        * Add `PROTO_AUTO_GENERATED` setting to make runtime proto generation optional
        
        0.6.*(2020-10-27)
        --------------------
        
        * fix [#36] compatibility in windows
        * fix [#34] compatibility in windows
        * gRPC-Health Checking and Reflection Support (Alpha)
        * Multiple Processor Support
        
        0.5.0(2020-04-27)
        --------------------
        
        * Support Streaming Method
        * Deprecate request parameter in app context and handle exception
        
        0.4.0(2019-09-24)
        --------------------
        
        * Support related directory path to generate protocol buffer files
        * Enable use type hint to define message
        * Add error handle to handle Exception
        * Add ``get_blueprints`` to get blueprints need to register
        
        0.3.0(2019-08-19)
        --------------------
        
        https://github.com/GuangTianLi/grpcalchemy/projects/1
        
        0.2.7-10(2019-04-16)
        ----------------------
        
        * Support SSL
        * Improve Implement of Server with grpc.server
        * Support YAML file in Config Module
        * Improve Config Module
        * Add context in current rpc
        
        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.
        
Keywords: grpcalchemy
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6.0
Description-Content-Type: text/x-rst
