{ "info": { "author": "Rich Jones", "author_email": "rich@openwatch.net", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "flask-zappa\n===========\n\nServerless Flask on AWS Lambda + API Gateway\n\n|Logo| # flask-zappa |Build Status| #### Serverless Flask with AWS\nLambda + API Gateway\n\n**flask-zappa** makes it super easy to deploy Flask applications on AWS\nLambda + API Gateway. Think of it as \"serverless\" web hosting for your\nFlask apps.\n\nThat means:\n\n- **No more** tedious web server configuration!\n- **No more** paying for 24/7 server uptime!\n- **No more** worrying about load balancing / scalability!\n- **No more** worrying about keeping servers online!\n- **No more** worrying about security vulernabilities and patches!\n\n**flask-zappa** handles:\n\n- Packaging projects into Lambda-ready zip files and uploading them to\n S3\n- Correctly setting up IAM roles and permissions\n- Automatically configuring API Gateway routes, methods and integration\n responses\n- Deploying the API to various stages of readiness\n\n**Awesome!**\n\nThis project is for Flask-specific integration. If you are intersted in\nhow this works under the hood, you should look at the **`Zappa core\nlibrary `__**, which can be used by\nany WSGI-compatible web framework and\n**`django-zappa `__**, which\nworks for django apps.\n\nInstallation\n------------\n\n::\n\n $ pip install flask-zappa\n\nConfiguration\n-------------\n\nThere are a few settings that you must define before you deploy your\napplication. First, you must have your AWS credentials stored in\n*~/.aws/credentials'*.\n\nFinally, define a ZAPPA\\_SETTINGS setting in your local settings file\nwhich maps your named deployment environments to deployed settings and\nan S3 bucket (which must already be created). These can be named\nanything you like, but you may wish to have seperate *dev*, *staging*\nand *production* environments in order to separate your data.\n\n.. code:: python\n\n ZAPPA_SETTINGS = {\n 'production': {\n 's3_bucket': 'production-bucket',\n 'settings_file': '~/Projects/MyApp/settings/production_settings.py',\n },\n 'staging': {\n 's3_bucket': 'staging-bucket',\n 'settings_file': '~/Projects/MyApp/settings/staging_settings.py',\n },\n }\n\nNotice that each environment defines a path to a settings file. This\nfile will be used as your *server-side* settings file. Specifically, you\nwill want to define `a new\nSECRET\\_KEY `__,\nas well as your deployment DATABASES information.\n\nA Note About Databases\n~~~~~~~~~~~~~~~~~~~~~~\n\nSince Zappa requirements are called from a bundled version of your local\nenvironment and not from pip, and because we have no way to determine\nwhat platform our Zappa handler will be executing on, we need to make\nsure that we only use portable packages. So, instead of using the\ndefault MySQL engine, we will instead need to use\n*mysql-python-connector*.\n\nCurrently, Zappa only supports MySQL and Aurora on RDS.\n\nBasic Usage\n-----------\n\nInitial Deployments\n~~~~~~~~~~~~~~~~~~~\n\nUpdates\n~~~~~~~\n\nManagement\n~~~~~~~~~~\n\nAdvanced Usage\n--------------\n\nThere are other settings that you can define in your ZAPPA\\_SETTINGS to\nchange Zappa's behavior. Use these at your own risk!\n\n.. code:: python\n\n ZAPPA_SETTINGS = {\n 'dev': {\n 'aws_region': 'us-east-1', # AWS Region (default US East),\n 'deploy_delay': 1, # Delay time while deploying, in seconds (default 1)\n 'domain': 'yourapp.yourdomain.com', # Required if you\\'re using a domain\n 'http_methods': ['GET', 'POST'], # HTTP Methods to route,\n 'integration_response_codes': [200, 301, 404, 500], # Integration response status codes to route\n 'method_response_codes': [200, 301, 404, 500], # Method response status codes to route\n 'parameter_depth': 10, # Size of URL depth to route. Defaults to 5.\n 'role_name': \"MyLambdaRole\", # Lambda execution Role\n 's3_bucket': 'dev-bucket', # Zappa zip bucket,\n 'settings_file': '~/Projects/MyApp/settings/dev_settings.py', # Server side settings file location,\n 'touch': False # GET the production URL upon initial deployment (default True)\n }\n }\n\nTODO\n----\n\nThis project is very young, so there is still plenty to be done.\nContributions are more than welcome! Please file tickets before\nsubmitting patches, and submit your patches to the 'dev' branch.\n\nThings that need work right now:\n\n- Everything!\n- Testing!\n- Feedback!\n- Real documentation / website!\n\n.. |Logo| image:: http://i.imgur.com/vLflpND.gif\n.. |Build Status| image:: https://travis-ci.org/Miserlou/flask-zappa.svg\n :target: https://travis-ci.org/Miserlou/flask-zappa", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Miserlou/flask-zappa", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "flask-zappa", "package_url": "https://pypi.org/project/flask-zappa/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/flask-zappa/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/Miserlou/flask-zappa" }, "release_url": "https://pypi.org/project/flask-zappa/0.0.1/", "requires_dist": null, "requires_python": null, "summary": "Serverless Flask With AWS Lambda + API Gateway", "version": "0.0.1" }, "last_serial": 1957066, "releases": { "0.0.1": [] }, "urls": [] }