kombu
gevent
Our great sponsors
kombu | gevent | |
---|---|---|
2 | 5 | |
2,721 | 6,152 | |
1.2% | 0.5% | |
8.9 | 8.7 | |
4 days ago | about 1 month 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.
kombu
We haven't tracked posts mentioning kombu yet.
Tracking mentions began in Dec 2020.
gevent
-
Is anyone using PyPy for real work?
A sub-question for the folks here: is anyone using the combination of gevent and PyPy for a production application? Or, more generally, other libraries that do deep monkey-patching across the Python standard library?
Things like https://github.com/gevent/gevent/issues/676 and the fix at https://github.com/gevent/gevent/commit/f466ec51ea74755c5bee... indicate to me that there are subtleties on how PyPy's memory management interacts with low-level tweaks like gevent that have relied on often-implicit historical assumptions about memory management timing.
Not sure if this is limited to gevent, either - other libraries like Sentry, NewRelic, and OpenTelemetry also have low-level monkey-patched hooks, and it's unclear whether they're low-level enough that they might run into similar issues.
For a stack without any monkey-patching I'd be overjoyed to use PyPy - but between gevent and these monitoring tools, practically every project needs at least some monkey-patching, and I think that there's a lack of clarity on how battle-tested PyPy is with tools like these.
- SynchronousOnlyOperation from celery task using gevent execution pool on django orm
-
How to Choose the Right Python Concurrency API
I'm not sure how much it replicates the CSP model, but the closest thing I've found to Go-style concurrency in Python is gevent: https://github.com/gevent/gevent
I personally still prefer to use it in all my projects.
What are some alternatives?
eventlet - Concurrent networking library for Python
celery - Distributed Task Queue (development branch)
Ray - Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.
pika - Pure Python RabbitMQ/AMQP 0-9-1 client library
Faust - Python Stream Processing
rq - Simple job queues for Python
Thespian Actor Library - Python Actor concurrency library
huey - a little task queue for python
rele - Easy to use Google Pub/Sub
Tomorrow - Magic decorator syntax for asynchronous code in Python
aiochan - CSP-style concurrency for Python
mrq - Mr. Queue - A distributed worker task queue in Python using Redis & gevent