zappa
Server-less Python Web Services for AWS Lambda and API Gateway
What it is and what it does
Zappa is a deployment tool that takes a Python web application (Django, Flask, FastAPI, Starlette, or any WSGI/ASGI framework) and automatically packages it for AWS Lambda, handling the infrastructure setup and request routing through API Gateway. Instead of running a persistent server, each HTTP request spawns a short-lived Lambda function instance, which means you pay only for the milliseconds of compute time you actually use and never manage server uptime or scaling.
The tool abstracts away Lambda and API Gateway configuration, offering a CLI workflow (init, deploy, update, rollback, undeploy) similar to traditional PaaS platforms. It supports event-driven tasks, scheduled jobs via EventBridge, environment variable management, SSL/TLS certificates, VPC access, EFS mounting, and custom IAM roles. The package depends on boto3 for AWS API calls, troposphere for CloudFormation templates, and utilities like pyyaml, requests, and tqdm for configuration and progress reporting.
Use it for:
- Deploy a Django or Flask REST API without managing servers, paying only for request processing time.
- Run scheduled background tasks (cron jobs) on Lambda using EventBridge rules configured via Zappa.
- Host a FastAPI or Starlette async application on Lambda with automatic ASGI-to-Lambda request translation.
- Build event-driven microservices that respond to S3, DynamoDB, SNS, or SQS events without provisioning infrastructure.
- Migrate an existing WSGI application to serverless with minimal code changes using Zappa's transparent deployment.
- Scale a web application to handle traffic spikes without manual load-balancer or auto-scaling configuration.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Zappa packages and deploys Python WSGI and ASGI web applications to AWS Lambda and API Gateway, handling serverless infrastructure provisioning and request routing automatically.
Yes, if you are deploying a Python web application to AWS and want to avoid server management and pay-per-use pricing. The active maintenance, permissive license, low install friction, and broad framework support make it a solid choice. Consider it especially valuable for microservices, APIs, and applications with variable traffic. No if you require on-premises or non-AWS hosting, or if your application has hard real-time latency requirements incompatible with Lambda cold starts.
Install
zappa on PyPI
pip
pip install zappauv
uv add zappapoetry
poetry add zappaInstalling zappa
Before you install
Low friction: pure Python wheel with no compiled dependencies. Actively maintained with recent commits and 3691 repository stars. Supports current Python versions (3.9–3.14) and actively developed.
License in practice
MIT License (permissive): you may use, modify, and distribute Zappa freely in commercial and private projects with minimal restrictions.
Quickstart
pip install zappa
zappa init
zappa deploy production
Requires AWS credentials configured locally (via AWS CLI, environment variables, or IAM role) and an active AWS account with Lambda and API Gateway permissions.
Verify before relying
- Whether the package handles all edge cases for cold-start latency optimization in production workloads.
- Current status of WebSocket and ASGI support maturity relative to WSGI deployments.
- Whether the experimental Cold Starts feature is production-ready.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 17 — argcomplete, boto3, durationpy, hjson, jmespath, pip, placebo, python-dateutil, python-slugify, pyyaml, requests, toml, tqdm, troposphere, werkzeug, wheel, setuptools |
| Maintenance | actively maintained — 156 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 248,545/month — #8,663 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: zappa-0.62.1-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
chaliceChalice is a Python framework for building and…
permissive · top 15,000 on PyPI
honeybadgerHoneybadger captures uncaught exceptions in…
permissive · top 15,000 on PyPI
serverless-wsgiBridges Python WSGI applications (Flask,…
permissive · top 15,000 on PyPI
shuffle-sdkShuffle SDK provides a framework for building,…
permissive · top 15,000 on PyPI
mangumMangum adapts ASGI applications to run on AWS…
permissive · top 5,000 on PyPI
a2wsgiConverts between WSGI and ASGI applications…
permissive · top 5,000 on PyPI
apig-wsgiWraps a WSGI application to run as an AWS…
permissive · top 15,000 on PyPI
awsgi2Bridges WSGI-compatible web frameworks to AWS…
permissive · top 15,000 on PyPI
falfal is a serverless Python runtime that…
unclear · top 15,000 on PyPI
functions-frameworkA lightweight FaaS framework that lets you…
permissive · top 5,000 on PyPI