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.3.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

flask_deprecate-0.1.3-py2.py3-none-any.whl (6.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file flask-deprecate-0.1.3.tar.gz.

File metadata

File hashes

Hashes for flask-deprecate-0.1.3.tar.gz
Algorithm Hash digest
SHA256 4c184765622e6d9baadab929ac54bc818d43ee074c94649efd623ec0e7875274
MD5 052f3531950c48ba6479cb5319fa3218
BLAKE2b-256 fe33815d256dc821d8584813c5c30b74a0f565db50e812f82fa724b015958c7a

See more details on using hashes here.

File details

Details for the file flask_deprecate-0.1.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for flask_deprecate-0.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8aa44313f8a18098a5c88cae6265f72008d0549a678f4db902856bcd42e1dc42
MD5 bf80b578d42f19109717b5eac9b858c0
BLAKE2b-256 2a695b7252c7235de335524788cc03e9f16a7bbbe6f82e172a3dcea241b871b5

See more details on using hashes here.

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