mangum
starlette
Our great sponsors
mangum | starlette | |
---|---|---|
17 | 55 | |
1,594 | 9,510 | |
- | 3.0% | |
2.5 | 9.2 | |
4 months ago | 5 days ago | |
Python | Python | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mangum
- Why the Serverless Revolution Has Stalled
-
Is there any batteries-included framework designed specifically for serverless functions?(preferably Python)
Hey! I was in the same place as you are, and the best solution I found was to use Mangum (https://mangum.io/). I believe it also works with Django. Mangum is an adapter that transforms lambda events into the corresponding structure to be received by your Framework API endpoints. We are currently using it with FastAPI and it's great. We code our backend without thinking about whether it will run on Lambda, and Magum takes care of the rest.
-
Is it really advisable to try to run fastapi with predominantly sync routes in a real world application?
In the real world I'm never using static cloud resources. It's all serverless, containers, or horizontal auto-scaling. I let the infrastructure handle asynchronous scaling when needed. For FastAPI specifically I've used Mangum: https://mangum.io/ to provide the asynchronous invocation below the ASGI layer. Then all my FastAPI code can just be synchronous.
-
Options to host a ReactJS + FastAPI + SQLlite application?
I discovered https://github.com/jordaneremieff/mangum which basically transforms a fastapi app to be compatible with aws lambda.
-
Serverless Rest API : api gateway + lambda with RDS database
Should I create only 1 apigtw resource with 1 lambda and use mangum + fastapi for my rest api ?
-
Yet another implementation for Slack Commands
Mangum: For the integration of the Aws Lambda and the Api Gateway with the FastApi
-
AWS with a Django app
If you go the lambda route, you can use DRF (or any ASGI app) using https://mangum.io/
-
Running Containers on AWS Lambda
Yes, it's possible to wrap any asgi app to run in a lambda. Check out Mangum https://github.com/jordaneremieff/mangum
-
Observability Best Practices when running FastAPI in a Lambda
But we do not have a handler function, do we? We have a Mangum object wrapping the FastAPI application. Luckily, the Mangum object acts as a handler function, so we can just add the following in example/src/app/__init__.py:
-
Django Rest API with AWS lambda or any other server less
I've used fastapi in a lambda. The package Mangum simplifies the conversion of lambda handler to a more tradition request.
starlette
- Ask HN: What is your go-to stack for the web?
-
Building Fast APIs with FastAPI: A Comprehensive Guide
Fast Execution: FastAPI is built on top of Starlette and Pydantic, making it one of the fastest Python frameworks for building APIs.
-
Embracing Modern Python for Web Development
The framework's efficiency comes from its use of Starlette for building asynchronous web services and Pydantic for robust data validation and serialization, powered by Python's type hints. Pydantic has recently announced the official release of Pydantic V2 (June 2023), which is a ground-up rewrite that offers many new features and performance improvements, so make sure to be using that instead of V1.
-
FastHttp for Python (64k requests/s)
Uvicorn + Starlette 8k requests/s
- Microdot "The impossibly small web framework for Python and MicroPython"
-
An Introduction to âš¡FastAPI
Starlette documentation
-
Writing a chat application in Django 4.2 using async StreamingHttpResponse
Same here, but without these weird utils it doesn't get any better.
I have 7 YoE with Django. Its great at so many things. You see some code, like middlewares, and immediately understand what's going on.
Now, we also have Starlette. The base of all new, fancy asgi libraries. Here's the base middleware class.
https://github.com/encode/starlette/blob/8d7a1cacfb3e1a30cbb...
In the last couple of years I heard 'we're running fastapi on production. Wanna join us?' so many times... but the reality is that it's still not suitable for prod. Who wants to work with a code like that if you have a readable, stable Django? I'm clueless.
-
Deploying an ML model to Paperspace and creating an API
Set up Starlette, a tool we'll use to make async requests
-
FastAPI middleware doesn't run while making request to websocket endpoint
I never used websockets in FastAPI so I wouldn't know how to guide you more, but Middleware in Websockets are 100% supported by Starlette : https://github.com/encode/starlette/issues/641
-
Chat implementation
Websockets are the way but I would not recommend django as it's still not fully async. I would go for other tools.
What are some alternatives?
Zappa - Serverless Python
Flask - The Python micro framework for building web applications.
docker-flask-example - A production ready example Flask app that's using Docker and Docker Compose.
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
aws-simple-websocket - Using AWS's API Gateway + Lambda to run a simple websocket application. For learning/testing.
uvicorn - An ASGI web server, for Python. 🦄
AIOHTTP - Asynchronous HTTP client/server framework for asyncio and Python
fastapi-crudrouter - A dynamic FastAPI router that automatically creates CRUD routes for your models
starlite - Light, Flexible and Extensible ASGI API framework | Effortlessly Build Performant APIs [Moved to: https://github.com/litestar-org/litestar]
chalice - Python Serverless Microframework for AWS
quart - An async Python micro framework for building web applications.