gevent VS Thespian Actor Library

Compare gevent vs Thespian Actor Library and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
gevent Thespian Actor Library
5 1
6,161 185
0.3% -
8.7 6.0
2 months ago 2 months ago
Python Python
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

gevent

Posts with mentions or reviews of gevent. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-31.
  • Is anyone using PyPy for real work?
    13 projects | news.ycombinator.com | 31 Jul 2023
    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
    3 projects | /r/django | 31 May 2023
    4 projects | /r/djangolearning | 31 May 2023
  • How to Choose the Right Python Concurrency API
    6 projects | news.ycombinator.com | 10 Aug 2022
    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.

  • I have a problem with installing Ajenti on a 64bit Ubuntu 21.04 server
    1 project | /r/webdev | 8 Jun 2021
    Greenlet seems to have some troubles compiling with Python 3.9. https://github.com/gevent/gevent/issues/1627

Thespian Actor Library

Posts with mentions or reviews of Thespian Actor Library. We have used some of these posts to build our list of alternatives and similar projects.
  • Ask HN: How to 100% enable remote infrastructure?
    1 project | news.ycombinator.com | 29 Apr 2021
    "Even things that can't go wrong, do." - Troubleshooting Analog Circuits, Robert "Bob" Pease.

    I had an application on a Raspberry PI that paired with a Bluetooth Low Energy device to fetch and send its data through a 3G dongle, on the premises of non-technical people who cannot troubleshoot, in different countries and time zones. There were a lot of things that could go wrong, and I wrote code to mitigate and recover, including pulling new code.

    Part of it was using the Actor Model. I wrote actors to connect to the device, pulling data, sending data, computing what was sent, etc. The actor system handled the actors, when one died, it would recreate another one when an unhandled exception was met, for example.

    https://en.wikipedia.org/wiki/Actor_model

    If you're doing Scala, take a look at Akka. The new Scala has native support for this, if I remember correctly, without Akka.

    If you're doing Python: https://github.com/kquick/Thespian, https://thespianpy.com/doc/

What are some alternatives?

When comparing gevent and Thespian Actor Library you can also consider the following projects:

eventlet - Concurrent networking library for Python

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.

Faust - Python Stream Processing

Wallaroo - Distributed Stream Processing

kombu - Messaging library for Python.

pyeventbus - Python Eventbus

Tomorrow - Magic decorator syntax for asynchronous code in Python

SCOOP (Scalable COncurrent Operations in Python) - SCOOP (Scalable COncurrent Operations in Python)

aiochan - CSP-style concurrency for Python