Skip to content

A demo API demonstrating how to create a Python-based REST API with FastAPI + Mangum + AWS Lambda and API Gateway

Notifications You must be signed in to change notification settings

ranapratapissingh/fastapi-aws-lambda-mangum-serverless-framework

Repository files navigation

fastapi-aws-lambda-mangum-serverless-framework

A demo API demonstrating how to create a Python-based REST API with FastAPI + Mangum + AWS Lambda and API Gateway

FastAPI

Test Coverage Package version

FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.

Documentation: https://fastapi.tiangolo.com

The key features are:

  • Fast: Very high performance, on par with NodeJS and Go (thanks to Starlette and Pydantic). One of the fastest Python frameworks available.

  • Fast to code: Increase the speed to develop features by about 200% to 300%. *

  • Fewer bugs: Reduce about 40% of human (developer) induced errors. *

  • Intuitive: Great editor support. Completion everywhere. Less time debugging.

  • Easy: Designed to be easy to use and learn. Less time reading docs.

  • Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.

  • Robust: Get production-ready code. With automatic interactive documentation.

  • Standards-based: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.

Mangum

Package version Build Status

PyPI - Python Version

Mangum is an adapter for using ASGI applications with AWS Lambda & API Gateway. It is intended to provide an easy-to-use, configurable wrapper for any ASGI application deployed in an AWS Lambda function to handle API Gateway requests and responses.

Documentation: https://mangum.io/

Features

  • API Gateway support for HTTP, REST, and WebSocket APIs.

  • Multiple storage backend interfaces for managing WebSocket connections.

  • Compatibility with ASGI application frameworks, such as Starlette, FastAPI, and Quart.

  • Support for binary media types and payload compression in API Gateway.

  • Works with existing deployment and configuration tools, including Serverless Framework and AWS SAM.

  • Startup and shutdown lifespan events.

AWS Lambda & API Gateway

Documentation: https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html

Documentation: https://aws.amazon.com/api-gateway/getting-started/

Serverless

The Serverless Framework – Build applications comprised of microservices that run in response to events, auto-scale for you, and only charge you when they run. This lowers the total cost of maintaining your apps, enabling you to build more logic, faster.

The Framework uses new event-driven compute services, like AWS Lambda, Google Cloud Functions, and more. It's a command-line tool, providing scaffolding, workflow automation and best practices for developing and deploying your serverless architecture. It's also completely extensible via plugins.

github repo: https://github.com/serverless/serverless

Documentation: https://www.serverless.com/framework/docs/getting-started/

About

A demo API demonstrating how to create a Python-based REST API with FastAPI + Mangum + AWS Lambda and API Gateway

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published