starlette
rq
Our great sponsors
starlette | rq | |
---|---|---|
55 | 27 | |
9,510 | 9,518 | |
3.0% | 1.2% | |
9.2 | 8.3 | |
1 day ago | 6 days ago | |
Python | Python | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
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.
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.
rq
-
Redis Re-Implemented with SQLite
That's pretty cool. Reckon it would work with existing code that calls Redis over the wire for RQ?
https://python-rq.org
-
The Many Problems with Celery
https://github.com/rq/rq is to the rescue.
-
Keep the Monolith, but Split the Workloads
We use RQ[0], it has Redis as a dependency. It’s pretty straightforward and we’re very happy with it. If you are using Django you may want to look at Django RQ[1] as well. RQ has built in scheduling capabilities these days, but historically it did not so we used (and still use) RQ Scheduler[2] which I think still has some advantages over the built in stuff.
[0] https://python-rq.org/
-
SQL Maxis: Why We Ditched RabbitMQ and Replaced It with a Postgres Queue
Also had a similar experience using RabbitMQ with Django+Celery. Extremely complicated and workers/queues would just stop for no reason.
Moved to Python-RQ [1] + Redis and been rock solid for years now.
[1] https://python-rq.org/
- Ask HN: Redis Queue Hacks and Questions
- What libraries do you use the most alongside django?
-
Recommendations other than celery to send an API processing in background, which would only take 5 mins to process and API usage would be once a month or so.
Yep, rq is simple and good: https://python-rq.org/ It also has a Django wrapper: https://github.com/rq/django-rq
-
GPU instance crashes when two python processes use the same pt file
We have a GPU (G5) instance that uses Python RQ (https://python-rq.org/).
- Dynamically update periodic tasks in Celery and Django
- Celery + RabbitMQ alternatives
What are some alternatives?
Flask - The Python micro framework for building web applications.
celery - Distributed Task Queue (development branch)
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
huey - a little task queue for python
uvicorn - An ASGI web server, for Python. 🦄
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
AIOHTTP - Asynchronous HTTP client/server framework for asyncio and Python
mrq - Mr. Queue - A distributed worker task queue in Python using Redis & gevent
starlite - Light, Flexible and Extensible ASGI API framework | Effortlessly Build Performant APIs [Moved to: https://github.com/litestar-org/litestar]
procrastinate - PostgreSQL-based Task Queue for Python
quart - An async Python micro framework for building web applications.
Apache Kafka - Mirror of Apache Kafka