Skip to main content

Easy decorators for deprecating flask views and blueprints

Project description

Flask-Deprecate

https://img.shields.io/pypi/v/flask_deprecate.svg https://img.shields.io/travis/timmartin19/flask_deprecate.svg Documentation Status

Easy decorators for deprecating flask views and blueprints

Example

from flask import Flask, Response

from flask_deprecate import deprecate_view

app = Flask('myapp')

@app.route('/myroute')
@deprecate_view("Don't use this!")
def myroute():
    return Response()

An HTTP compliant “Warning” header is injected indicating the route is deprecated and optionally providing an upgrade path.

You can also deprecate an entire blueprint in favor of a new one

from flask import Flask, Response, Blueprint

from flask_deprecate import deprecate_blueprint

old_bp = Blueprint('old', 'old', url_prefix='/v1')
new_bp = Blueprint('new', 'new', url_prefix='/v2')

@old_bp.route('/my_route')
def my_old_route():
    return Resonse()

@new_bp.route('/my_new_route')
def my_new_route():
    return Response()

deprecate_blueprint(old_bp, new_blueprint=new_bp)
app.register_blueprint(old_bp)
app.register_blueprint(new_bp)

This will inject the Warning header for every route on the old blueprint and additionally direct the client to use the new /v2 api.

Documentation

You will need to install the package dependencies first, see the Installation section for details.

To build and open the documentation simply run:

bin/build-docs

Installation

If you need to install pyenv/virtualenvwrapper you can run the bin/setup-osx command Please note that this will modify your bash profile

Assuming you have virtualenv wrapper installed

mkvirtualenv flask-deprecate
workon flask-deprecate
pip install -r requirements_dev.txt
pip install -e .

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.1.0 (2018-02-07)

  • First release on PyPI.

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

flask-deprecate-0.1.2.tar.gz (12.8 kB view hashes)

Uploaded source

Built Distribution

flask_deprecate-0.1.2-py2.py3-none-any.whl (6.3 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page