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 and context on the Flask request context:
from flask import request
assert request.aws_event['input']['httpMethod'] == 'POST'
assert request.aws_context.get_remaining_time_in_millis() == 10_000
Development
You can publish a new version to PyPI with the following commands:
python3 setup.py sdist bdist_wheel
twine upload PATH_TO_WHL_FILE
[Refer to the official documentation on Python packaging for more information](https://packaging.python.org/tutorials/packaging-projects)
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
Built Distribution
File details
Details for the file flask_lambda_support-0.1.5-py36-none-any.whl
.
File metadata
- Download URL: flask_lambda_support-0.1.5-py36-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3.6
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20fb5699c3d2bc4adaddf093906547f31bb31f152a53da54bb077583fc3b67b4 |
|
MD5 | 24ca3e38741292411e7a92744a1b1abd |
|
BLAKE2b-256 | 35b736bc9a6102bc4bd3fbc6c45eaf53d79188cd33cf56982c96b1b4b3fa2b23 |