All Projects → Eastwu5788 → Mask

Eastwu5788 / Mask

Licence: MIT license
A gRpc server like Flask (像Flask一样的gRpc服务)

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Mask

FashionShopApp
Fashion Shop App : Flask, ChatterBot, ElasticSearch, Recommender-System
Stars: ✭ 28 (+75%)
Mutual labels:  flask-sqlalchemy
flask-tweeeter
A full-stack Twitter clone made using the Flask framework for Python 🐦
Stars: ✭ 28 (+75%)
Mutual labels:  flask-sqlalchemy
flask-restful-api-template
Template for flask-restful api project
Stars: ✭ 71 (+343.75%)
Mutual labels:  flask-sqlalchemy
Flask movie project
🎬 Flask构建的小花椒视频网站(重新配置 ing……)
Stars: ✭ 15 (-6.25%)
Mutual labels:  flask-sqlalchemy
artifacts
A clone of Etsy, an e-commerce site themed around selling items procured by time travelers.
Stars: ✭ 16 (+0%)
Mutual labels:  flask-sqlalchemy
Flask Sqlalchemy
Adds SQLAlchemy support to Flask
Stars: ✭ 3,658 (+22762.5%)
Mutual labels:  flask-sqlalchemy
flask-arrested
Flask-Arrested: A Framework For Rapidly Building REST APIs with Flask.
Stars: ✭ 40 (+150%)
Mutual labels:  flask-sqlalchemy
github-traffic-stats
Manage and automatically collect Github traffic statistics for repositories
Stars: ✭ 30 (+87.5%)
Mutual labels:  flask-sqlalchemy
Resume-Generator
A Resume builder which allows users to build their own custom resumes with details like experience,projects , skills ,education etc. Users can also have the feature to download their resumes . To contribute send PR at development branch from where it will be merged in master once checked.
Stars: ✭ 28 (+75%)
Mutual labels:  flask-sqlalchemy
MagicPress
Based on the flask of the personal blog, simple and elegant, full-featured, suitable for humans
Stars: ✭ 20 (+25%)
Mutual labels:  flask-sqlalchemy
maniwani
Imageboard software for the 21st century
Stars: ✭ 66 (+312.5%)
Mutual labels:  flask-sqlalchemy
flask-restful-api-boilerplate
This is boilerplate template for a Python Flask application with things you need to get started.
Stars: ✭ 14 (-12.5%)
Mutual labels:  flask-sqlalchemy
GitDigger
The community for open source project. It provides new ways to help developers discover and contributing to open source projects.
Stars: ✭ 15 (-6.25%)
Mutual labels:  flask-sqlalchemy
eleanor
Code used during my Chaos Engineering and Resiliency Patterns talk.
Stars: ✭ 14 (-12.5%)
Mutual labels:  flask-sqlalchemy
flask-authz
Use Casbin in Flask, Casbin is a powerful and efficient open-source access control library.
Stars: ✭ 100 (+525%)
Mutual labels:  flask-sqlalchemy

Mask logo

Travis Coveralls License Docs PyPI IM

Mask

A gRpc server just like Flask.

Install

Mask support pypi packages, you can simply install by:

pip install mask

Document

Mask manual could be found at: https://mask.readthedocs.io/en/latest

A Simple Example

This is very easy to use Mask in your project.

from mask import Mask
from mask.parse import pre, Rule


app = Mask(__name__)


rule = {
    "name": Rule(type=str, gte=2, dest="Name")
}


@app.route(method="SayHello", service="Hello")
def say_hello(request, context):
    """ Handler SayHello request
    """
    params = pre.parse(rule=rule, request=request, context=context)
    return HelloResponse(message="Hello Reply: %s" % params["Name"])


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=1020)

Service

Mask support Service to organize a group of route which is likely with Blueprint in Flask.


    # 3p
    from mask import Mask, Service
    from mask.parse import pre, Rule
    # project
    from examples.protos.hello_pb2 import HelloResponse


    app = Mask(__name__)
    app.config["REFLECTION"] = True


    # Bind service to application
    service = Service(name="Hello")
    app.register_service(service)


    rule = {
        "name": Rule(type=str, gte=2, dest="Name")
    }

    # Service route
    @service.route(method="SayHello")
    def say_hello_handler(request, context):
        """ Handler SayHello request
        """
        params = pre.parse(rule=rule, request=request, context=context)
        return HelloResponse(message="Hello Reply: %s" % params["Name"])


    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=1020)

Middleware

Mask support middleware to hook before request and after request.

# 3p
from mask import Mask
# project
from examples.protos.hello_pb2 import HelloResponse


app = Mask(__name__)
app.config["REFLECTION"] = True


def before_request(request, context):
    print(request.name)


def after_request(response):
    print(response.message)


app.before_request(before_request)
app.after_request(after_request)


@app.route(method="SayHello", service="Hello")
def say_hello_handler(request, context):
    """ Handler SayHello request
    """
    return HelloResponse(message="Hello Reply: %s" % request.name)


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=1020)

Coffee

Please give me a cup of coffee, thank you!

BTC: 1657DRJUyfMyz41pdJfpeoNpz23ghMLVM3

ETH: 0xb098600a9a4572a4894dce31471c46f1f290b087

Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].