Repolode
zappa

zappa/Zappa

Zappa deploys Python WSGI and ASGI web apps and event-driven functions to AWS Lambda and API Gateway, with no servers to manage.

Stars
3,700
Forks
395
Open issues
22
Last commit
29 days ago

What is it?

Zappa is a deployment tool that packages a Python application and its virtual environment into a Lambda-compatible archive, then creates the Lambda function, API Gateway routes and the related IAM roles on AWS. It supports WSGI apps such as Flask, Django, Bottle and Pyramid, and ASGI apps such as FastAPI, Starlette and Quart. Each request is handled by a short-lived Lambda invocation, so the app scales with traffic and has no always-on server to run.

Beyond web hosting, Zappa can run functions on a schedule using cron or rate expressions, as a replacement for a Celery beat setup, and can trigger functions from AWS events such as S3 uploads, SNS messages, SQS queues, DynamoDB and Kinesis streams. It also provides asynchronous task execution, remote invocation of functions and Django management commands, log tailing, rollbacks, and custom domains with SSL certificates.

Key features

  • 01Deploys WSGI (Flask, Django, Bottle, Pyramid) and ASGI (FastAPI, Starlette, Quart) apps to AWS Lambda.
  • 02Creates API Gateway routes and IAM roles automatically during deployment.
  • 03Runs scheduled functions using cron or rate expressions.
  • 04Triggers functions from AWS events such as S3, SNS, SQS and DynamoDB.
  • 05Supports asynchronous task execution, remote invocation and Django manage commands.
  • 06Offers custom domains with ACM, Let's Encrypt or self-provided SSL certificates.

Use cases

  • Hosting a low-traffic Flask or Django API without paying for an always-on server.
  • Running periodic Python jobs on AWS without maintaining a Celery worker.
  • Deploying a FastAPI service that scales with unpredictable request volume.
  • Processing S3 uploads or SQS messages with Python functions.

Quick start

  1. 1

    Install Zappa with pip into your project's virtual environment

    pip install zappa
  2. 2

    Generate your deployment settings interactively

    zappa init
  3. 3

    Deploy your app to AWS Lambda

    zappa deploy <stage>

Things to know

  • Requires an AWS account and AWS credentials, and runs only on AWS Lambda and API Gateway.
  • Zappa must be installed in a virtual environment whose name differs from the project name.
  • API Gateway limits requests to 30 seconds, and the default IAM policy is overly permissive.

In collections

Topics

FAQ

What is Zappa?
Zappa deploys Python WSGI and ASGI web apps and event-driven functions to AWS Lambda and API Gateway, with no servers to manage. Zappa is a deployment tool that packages a Python application and its virtual environment into a Lambda-compatible archive, then creates the Lambda function, API Gateway routes and the related IAM roles on AWS. It supports WSGI apps such as Flask, Django, Bottle and Pyramid, and ASGI apps such as FastAPI, Starlette and Quart. Each request is handled by a short-lived Lambda invocation, so the app scales with traffic and has no always-on server to run.
Is Zappa free to use? What license does it have?
Zappa is open source under the MIT license. Check the license terms before using it in commercial products.
Is Zappa still maintained?
Actively maintained. The last commit to Zappa was on Oct 8, 2026.
What can I use Zappa for?
Hosting a low-traffic Flask or Django API without paying for an always-on server. Running periodic Python jobs on AWS without maintaining a Celery worker. Deploying a FastAPI service that scales with unpredictable request volume. Processing S3 uploads or SQS messages with Python functions.
How do I install Zappa?
Install Zappa with pip into your project's virtual environment: pip install zappa Generate your deployment settings interactively: zappa init Deploy your app to AWS Lambda: zappa deploy <stage>
Where can I get Zappa?
The source code and installation instructions are on GitHub: https://github.com/zappa/Zappa

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects