gevent VS gunicorn

Compare gevent vs gunicorn and see what are their differences.

gunicorn

gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications. (by benoitc)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
gevent gunicorn
5 17
6,163 9,517
0.2% -
8.7 8.0
3 months ago 7 days ago
Python Python
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
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

gunicorn

Posts with mentions or reviews of gunicorn. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-10.
  • Nginx Unit – Universal web app server
    17 projects | news.ycombinator.com | 10 Sep 2023
    I'm hoping so – gunicorn has a long-open pull request that would fix `--reuse-port`, which currently does nothing

    https://github.com/benoitc/gunicorn/pull/2938

  • 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
  • Deploying Django when using python-socketio
    1 project | /r/django | 13 May 2023
    However, I'm curious about the best way to deploy, specifically with regard to WSGI. I've tried using the raw eventlet WSGI server (`eventlet.wsgi.server(eventlet.listen(("", 8000)), application)`). I then start it with `python manage.py runserver`. This has worked okay, but I'm unsure about how scalable it is. It seems like the standard stack is Django + Gunicorn + NGINX. Based on `python-socketio` documentation, this should be possible. I tried django + eventlet + gunicorn, but it seems like gunicorn a) [doesn't play nice with eventlet](https://github.com/benoitc/gunicorn/pull/2581) and b) only supports one worker. Gevent + Gunicorn doesn't have this bug, but still only supports one worker. Also, I'm not sure how actively maintained gevent is. So I'm not sure how scalable either Gunicorn + eventlet or Gunicorn + geventlet is as a WSGI server. So I'm not sure if Gunicorn is my best bet, or if it's too limited.
  • The Django ecosystem is not so good
    5 projects | news.ycombinator.com | 8 Feb 2023
  • 3 cool project ideas for Python programmers
    3 projects | dev.to | 29 Aug 2022
    For building your API, I recommend using the Flask library. It is very beginner-friendly, and you will be able to build a simple API in a matter of minutes! Keep in mind that, for a more serious project, you should definitely use something like gunicorn to run you API as a production server.
  • Django 4.1 Released
    5 projects | news.ycombinator.com | 3 Aug 2022
    Interesting looks like it might actually be a python bug. Somehow just changing from sys.exit(0) -> os._exit(0) apparently fixes it.

    https://github.com/benoitc/gunicorn/pull/2820

  • Serverless Templates for AWS and Python
    9 projects | dev.to | 2 Aug 2022
    The cool thing is that you can easily migrate your WSGI- application such as Flask, Django, or Gunicorn to AWS.
  • Scope of database threads + connections + sessions
    1 project | /r/django | 20 Apr 2022
    Yeah, that's kind of the impression I was getting. I stumbled across a github issue for gunicorn along these lines.
  • Running Django with Gunicorn - Best Practice
    1 project | /r/codehunter | 19 Mar 2022
    Taking a glimpse at gunicorn's code it looks like they pretty much all do the same: 2. seems to be creating a wsgi app using django's internals, and 3. uses 2.

What are some alternatives?

When comparing gevent and gunicorn you can also consider the following projects:

eventlet - Concurrent networking library for Python

waitress - Waitress - A WSGI server for Python 3

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.

Werkzeug - The comprehensive WSGI web application library.

Faust - Python Stream Processing

bjoern - A screamingly fast Python 2/3 WSGI server written in C.

Thespian Actor Library - Python Actor concurrency library

uwsgi - Official uWSGI docs, examples, tutorials, tips and tricks

kombu - Messaging library for Python.

meinheld - Meinheld is a high performance asynchronous WSGI Web Server (based on picoev)

Tomorrow - Magic decorator syntax for asynchronous code in Python

hypercorn - Hypercorn is an ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn.