A Flask wrapper to easily handle routes defined as Python native objects


Keywords
flask, wrapper, router, interface, flask-routing, flask-swagger, flask-wrapper
License
MIT
Install
pip install froi==0.3.0

Documentation

Froi (Flask Router Object Interface)

A wrapper for Flask's native routing as a form of template. Routes will be defined as objects to easily define domains.

# Inside some route object
from froi import Froi
class SomeRoute(Froi):
    def __init__(self, app):
        super().__init__(app, 'SomeRoute', '/some_route')

    def install(self):
        # define a get route on base
        self.setget().route(func=sample_fxn_1)

        # define a post
        self.setpost().route('/do_something', func=sample_fxn_2)

        # define a put
        self.setput().route('/edit_something', func=sample_fxn_3)

        # define a delete
        self.setdelete().route('/delete_something', func=sample_fxn_4)

# Inside your server handler
from flask import Flask
from some_route import SomeRoute
app = Flask(config.APP_NAME)
SomeRoute(app).install()
app.run()

If you want a RESTful pattern to handle the routes, you can omit defining the install function.

from froi import Froi
class SomeRoute(Froi):
    def __init__(self, app):
        super().__init__(app, 'SomeRoute', '/some_route')

    def get(self):
        ... do something

    def post(self):
        ... do something

This will automatically create the defined GET, POST, PUT, and DELETE endpoints.