Skip to main content

Python 3.6+ module to make Flask compatible with AWS Lambda

Project description

Write Flask applications that support being run in in AWS Lambda behind API Gateway.

This project was forked from: https://github.com/techjacker/flask-lambda

Improvements:

  • Expose original input event from AWS on Flask’s request object

  • Production-grade logging

Requirements

  • Python 3.6+

  • Flask 0.10+

Installation

pip install flask-lambda-support

Usage

Here is an example of what a Flask app using this library would look like:

from flask_lambda import FlaskLambda

app = FlaskLambda(__name__)


@app.route('/foo', methods=['GET', 'POST'])
def foo():
   data = {
       'form': request.form.copy(),
       'args': request.args.copy(),
       'json': request.json
   }
   return (
       json.dumps(data, indent=4, sort_keys=True),
       200,
       {'Content-Type': 'application/json'}
   )


if __name__ == '__main__':
    app.run(debug=True)

You can access the original input event on the Flask request context:

from flask import request

assert request.aws_event['input']['httpMethod'] == 'POST'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flask_lambda_support-0.1.0-py36-none-any.whl (7.9 kB view details)

Uploaded Python 3.6

File details

Details for the file flask_lambda_support-0.1.0-py36-none-any.whl.

File metadata

  • Download URL: flask_lambda_support-0.1.0-py36-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3.6
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.19.7 CPython/3.6.6

File hashes

Hashes for flask_lambda_support-0.1.0-py36-none-any.whl
Algorithm Hash digest
SHA256 45c9894f18214599f7e53914cd75d25ca94005389ab210e93f3bbd4fc91ca5d8
MD5 549b4a9e4739ad390ce043dca2ac33df
BLAKE2b-256 ed66def078554c01a2b36f3c179b97118bfecb213111e1a0dc621fc29ce30d56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page