A python package for integrating ripozo with Flask

Related tags

Flask flask-ripozo
Overview

flask-ripozo

test status test coverage Documentation Status

This package provides a dispatcher for ripozo so that you can integrate ripozo with Flask. As with all dispatchers it is simply for getting the request arguments and appropriately routing them to the various resources for handling.

Check out the tutorial.

Or maybe the ripozo documentation.

Example

This example describes a minimal flask-ripozo application.

from flask import Flask

from flask_ripozo import FlaskDispatcher

from ripozo.decorators import apimethod
from ripozo.adapters import SirenAdapter, HalAdapter
from ripozo.resources import ResourceBase


class HelloWorldViewset(ResourceBase):
    resource_name = 'myresource'     # The name of the resource.  This will be appended to
                                      # the _namespace to complete the url.

    # The decorator indicates that the base url will be used
    # and that it will be registered for GET requests
    # a GET request to /api/myresource would be dispatched to this
    # method and handled here
    @apimethod(methods=['GET'])
    def hello(cls, request, *args, **kwargs):
        faked_response_properties = {'content': 'hello world'}
        return cls(properties=faked_response_properties)

# Create the flask application
app = Flask(__name__)

# Create the dispatcher
dispatcher = FlaskDispatcher(app, url_prefix='/api')

# Specify the valid response types
dispatcher.register_adapters(SirenAdapter, HalAdapter)

# This will register all of the apimethod decorated methods in
# this class specified.  In this case it adds the /api/myresource GET
# route to the application
dispatcher.register_resources(HelloWorldViewset)

if __name__ == '__main__':
    app.run() # Run the app
You might also like...
Flask pre-setup architecture. This can be used in any flask project for a faster and better project code structure.

Flask pre-setup architecture. This can be used in any flask project for a faster and better project code structure. All the required libraries are already installed easily to use in any big project.

Pf-flask-rest-com - Flask REST API Common Implementation by Problem Fighter Library

In the name of God, the Most Gracious, the Most Merciful. PF-Flask-Rest-Com Docu

Open-source Flask Sample built on top of flask-dance library
Open-source Flask Sample built on top of flask-dance library

Open-source Flask Sample built on top of flask-dance library. The project implements the social login for Github and Twitter - Originally coded by TestDriven.IO.

Flask-redmail - Email sending for Flask

Flask Red Mail: Email Sending for Flask Flask extension for Red Mail What is it?

Flask-template - A simple template for make an flask api

flask-template By GaGoU :3 a simple template for make an flask api notes: you ca

flask extension for integration with the awesome pydantic package

Flask-Pydantic Flask extension for integration of the awesome pydantic package with Flask. Installation python3 -m pip install Flask-Pydantic Basics v

Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.

The Mixer is a helper to generate instances of Django or SQLAlchemy models. It's useful for testing and fixture replacement. Fast and convenient test-

Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.

The Mixer is a helper to generate instances of Django or SQLAlchemy models. It's useful for testing and fixture replacement. Fast and convenient test-

Comments
  • Fix: parsing URL params from request gives wrong  dict values.

    Fix: parsing URL params from request gives wrong dict values.

    In get_request_query_body_args:

    dict(request_obj.args)
    

    will not work as intended, since request_obj.args is ImmutableMultiDict (when method is called with flask.request as argument), and thus will give {'x': [42]} instead of {'x': 42}

    It was also not caught in tests because test were not using data type identical to flask.request.args

    opened by tadams42 7
  • Update exception_handler to catch all exceptions, not just RestExceptions

    Update exception_handler to catch all exceptions, not just RestExceptions

    This will cause the Flask dispatcher to always flow through ripozo. Prior behavior led to exceptions other than RestExceptions being dropped down to calling code, which meant that exceptions would not respect the Accepts header/otherwise use ripozo.

    Any exception that has a status_code will use that, otherwise it defaults to 500 (internal server error).

    opened by jmaroeder 6
  • minimal example doesn't work

    minimal example doesn't work

    Imports doesn't match the current ripozo module state (see commit below). If this is corrected however I get:

        super(FlaskDispatcher, self).__init__(**kwargs)
    TypeError: __init__() got an unexpected keyword argument 'base_url'
    

    while executing dispatcher = FlaskDispatcher(app, base_url='/api') pointing to line 101 in dispacher.py

    opened by TvrtkoM 3
flask-reactize is a boostrap to serve any React JS application via a Python back-end, using Flask as web framework.

flask-reactize Purpose Developing a ReactJS application requires to use nodejs as back end server. What if you want to consume external APIs: how are

Julien Chomarat 4 Jan 11, 2022
Flask-Discord-Bot-Dashboard - A simple discord Bot dashboard created in Flask Python

Flask-Discord-Bot-Dashboard A simple discord Bot dashboard created in Flask Pyth

Ethan 8 Dec 22, 2022
Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.

Flask-Bcrypt Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application. Due to the recent increased prevelance of

Max Countryman 310 Dec 14, 2022
Flask-Rebar combines flask, marshmallow, and swagger for robust REST services.

Flask-Rebar Flask-Rebar combines flask, marshmallow, and swagger for robust REST services. Features Request and Response Validation - Flask-Rebar reli

PlanGrid 223 Dec 19, 2022
Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.

Flask-Bcrypt Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application. Due to the recent increased prevelance of

Max Countryman 282 Feb 11, 2021
Flask-Starter is a boilerplate starter template designed to help you quickstart your Flask web application development.

Flask-Starter Flask-Starter is a boilerplate starter template designed to help you quickstart your Flask web application development. It has all the r

Kundan Singh 259 Dec 26, 2022
Brandnew-flask is a CLI tool used to generate a powerful and mordern flask-app that supports the production environment.

Brandnew-flask is still in the initial stage and needs to be updated and improved continuously. Everyone is welcome to maintain and improve this CLI.

brandonye 4 Jul 17, 2022
Flask Project Template A full feature Flask project template.

Flask Project Template A full feature Flask project template. See also Python-Project-Template for a lean, low dependency Python app. HOW TO USE THIS

Bruno Rocha 96 Dec 23, 2022
A Fast API style support for Flask. Gives you MyPy types with the flexibility of flask

Flask-Fastx Flask-Fastx is a Fast API style support for Flask. It Gives you MyPy types with the flexibility of flask. Compatibility Flask-Fastx requir

Tactful.ai 18 Nov 26, 2022
Flask-app scaffold, generate flask restful backend

Flask-app scaffold, generate flask restful backend

jacksmile 1 Nov 24, 2021