serverless-wsgi
Amazon AWS API Gateway WSGI wrapper
Decision gist · record as of 2026-08-14
Yes, if you need to deploy a Python WSGI application to AWS Lambda with minimal code changes. The plugin is stable (Production/Stable status) and has no known vulnerabilities. Install friction is low. However, note that maintenance is aging—the last release was 429 days ago—so verify that it works with your specific framework version and Python runtime before committing to production use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Serverless Framework installed and AWS credentials configured; Python runtime must be specified in serverless.yml (e.g., python3.6 or later).
- Low install friction with a single runtime dependency (werkzeug).
- Maintenance status is aging—last commit was 2026-01-21 and the latest release 2025-06-11 came 429 days ago, though the repository remains active and not archived.
License · maintenance · safety
permissive license (permissive) — Licensed under MIT (permissive), so you can use, modify, and distribute this package with minimal legal restrictions.
last release 2025-06-11 (429 days) · last repo commit 2026-01-21 · 499 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 195,654 downloads/mo, #9,809 on PyPI
Alternatives
Verify before relying
# Install via Serverless Framework
sls plugin install -n serverless-wsgi
# In serverless.yml, set handler and app path:
# functions:
# api:
# handler: wsgi_handler.handler
# events:
# - http: ANY /
# custom:
# wsgi:
# app: api.app
# Then deploy:
sls deploy- Whether the package works with Python versions beyond 3.6 despite the requires_python constraint.
- Current performance characteristics or known limitations with large WSGI applications on Lambda.
- Whether werkzeug is automatically included in deployments or must be explicitly listed in requirements.txt.
What it is and what it does
serverless-wsgi is a Serverless Framework plugin that packages and deploys Python WSGI applications to AWS Lambda, making them callable through API Gateway. It transparently converts API Gateway HTTP requests into standard WSGI format, allowing you to run unmodified Flask, Django, or Pyramid applications on Lambda without rewriting your code for a serverless environment.
The plugin handles the operational complexity: it automatically bundles your application's dependencies from requirements.txt, manages werkzeug as a core runtime dependency, and provides local development commands (wsgi serve for testing, wsgi exec for remote Python execution, wsgi manage for Django commands). It supports both API Gateway V1 and V2 payloads and includes convenience CLI commands for remote code execution and framework-specific management tasks.
Use it for
- Deploy an existing Flask or Django web application to AWS Lambda without rewriting request/response handling.
- Run local development with sls wsgi serve to test your WSGI app before deploying to Lambda.
- Execute Django management commands or Flask CLI commands remotely on your deployed Lambda function.
- Automatically package and deploy Python dependencies specified in requirements.txt alongside your application.
- Handle file uploads, redirects, cookies, and other standard WSGI features transparently on API Gateway.
- Execute arbitrary Python or shell code remotely on your Lambda function using wsgi exec or wsgi command.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to deploy a Python WSGI application to AWS Lambda with minimal code changes.
The plugin is stable (Production/Stable status) and has no known vulnerabilities. Install friction is low. However, note that maintenance is aging—the last release was 429 days ago—so verify that it works with your specific framework version and Python runtime before committing to production use.
Install
serverless-wsgi on PyPI
Before you install
Low install friction with a single runtime dependency (werkzeug). Maintenance status is aging—last commit was 2026-01-21 and the latest release 2025-06-11 came 429 days ago, though the repository remains active and not archived.
Requires Serverless Framework installed and AWS credentials configured; Python runtime must be specified in serverless.yml (e.g., python3.6 or later).
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute this package with minimal legal restrictions.
Quickstart
# Install via Serverless Framework
sls plugin install -n serverless-wsgi
# In serverless.yml, set handler and app path:
# functions:
# api:
# handler: wsgi_handler.handler
# events:
# - http: ANY /
# custom:
# wsgi:
# app: api.app
# Then deploy:
sls deploy
Verify before relying
- Whether the package works with Python versions beyond 3.6 despite the requires_python constraint.
- Current performance characteristics or known limitations with large WSGI applications on Lambda.
- Whether werkzeug is automatically included in deployments or must be explicitly listed in requirements.txt.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagewerkzeug |
| Maintenance | Aging 429 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 195,654 / month, #9,809 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: serverless_wsgi-3.1.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “deploy flask to aws lambda”
- serverless-wsgiBridges Python WSGI applications (Flask, Django, Pyramid) to AWS…
- zappaZappa packages and deploys Python WSGI and ASGI web applications to…
- aws-sam-cliAWS SAM CLI is a command-line tool for building, testing, and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Dynamic Content packages
MarkupSafe provides a text object that escapes special characters so untrusted strings can be safely embedded in HTML and XML without injection attacks.
Jinja2 is a templating engine that renders dynamic content by combining templates with Python-like syntax and data, supporting template inheritance, macros, autoescaping, and sandboxed execution.
Soupsieve is a CSS selector library designed to work with Beautiful Soup 4 to select, match, and filter HTML and XML elements using modern CSS selectors from CSS level 1 through CSS level 4 specifications.
Install it if you use Beautiful Soup for HTML or XML parsing and want modern CSS selector support.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
Flask is a lightweight WSGI web application framework for building web applications in Python, from simple single-page sites to complex multi-route applications.
Mako compiles Python-embedded templates into Python modules for fast rendering, supporting layout inheritance, custom functions, and direct Python expressions within template syntax.
See also awsgi2 · zappa · aws-wsgi · apig-wsgi · pyramid · functions-framework · WSGIProxy2 · aiohttp-wsgi · chalice