Skip to main content

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

Project description

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(view_func=sample_fxn_1)

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

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

        # define a delete
        self.setdelete().route('/delete_something', view_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.

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

froi-0.2.1.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

froi-0.2.1-py3-none-any.whl (8.5 kB view hashes)

Uploaded 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