Alternatives to gevent logo

Alternatives to gevent

asyncio, Gunicorn, Tornado, Twisted, and Celery are the most popular alternatives and competitors to gevent.
189
0

What is gevent and what are its top alternatives?

It is a coroutine -based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libev or libuv event loop.
gevent is a tool in the Web Servers category of a tech stack.
gevent is an open source tool with GitHub stars and GitHub forks. Here’s a link to gevent's open source repository on GitHub

Top Alternatives to gevent

  • asyncio
    asyncio

    This module provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives. ...

  • Gunicorn
    Gunicorn

    Gunicorn is a pre-fork worker model ported from Ruby's Unicorn project. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resources, and fairly speedy. ...

  • Tornado
    Tornado

    By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user. ...

  • Twisted
    Twisted

    Twisted is an event-driven networking engine written in Python and licensed under the open source ​MIT license. Twisted runs on Python 2 and an ever growing subset also works with Python 3. Twisted also supports many common network protocols, including SMTP, POP3, IMAP, SSHv2, and DNS. ...

  • Celery
    Celery

    Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well. ...

  • Waitress
    Waitress

    It is meant to be a production-quality pure-Python WSGI server with very acceptable performance. It has no dependencies except ones which live in the Python standard library. It runs on CPython on Unix and Windows under Python 2.7+ and Python 3.4+. It is also known to run on PyPy 1.6.0 on UNIX. ...

  • uWSGI
    uWSGI

    The uWSGI project aims at developing a full stack for building hosting services. ...

  • NGINX
    NGINX

    nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018. ...

gevent alternatives & related posts

asyncio logo

asyncio

114
158
13
Asynchronous I/O, event loop, coroutines and tasks
114
158
+ 1
13
PROS OF ASYNCIO
  • 4
    Cooperative Multitasking
  • 4
    I/O Wait
  • 3
    Network Call
  • 2
    I/O bound computation
CONS OF ASYNCIO
    Be the first to leave a con

    related asyncio posts

    I love Python and JavaScript . You can do the same JavaScript async operations in Python by using asyncio. This is particularly useful when you need to do socket programming in Python. With streaming sockets, data can be sent or received at any time. In case your Python program is in the middle of executing some code, other threads can handle the new socket data. Libraries like asyncio implement multiple threads, so your Python program can work in an asynchronous fashion. PubNub makes bi-directional data streaming between devices even easier.

    See more
    Jelena Dedovic

    Investigating Tortoise ORM and GINO ORM...

    I need to introduce some async ORM with the current stack: Tornado with asyncio loop, AIOHTTP, with PostgreSQL and MSSQL. This project revolves heavily around realtime and due to the realtime requirements, blocking during database access is not acceptable.

    Considering that these ORMs are both young projects, I wondered if anybody had some experience with similar stack and these async ORMs?

    See more
    Gunicorn logo

    Gunicorn

    1.1K
    903
    78
    A Python WSGI HTTP Server for UNIX
    1.1K
    903
    + 1
    78
    PROS OF GUNICORN
    • 34
      Python
    • 30
      Easy setup
    • 8
      Reliable
    • 3
      Light
    • 3
      Fast
    CONS OF GUNICORN
      Be the first to leave a con

      related Gunicorn posts

      Pierre Chapuis

      Unlike our frontend, we chose Flask, a microframework, for our backend. We use it with Python 3 and Gunicorn.

      One of the reasons was that I have significant experience with this framework. However, it also was a rather straightforward choice given that our backend almost only serves REST APIs, and that most of the work is talking to the database with SQLAlchemy .

      We could have gone with something like Hug but it is kind of early. We might revisit that decision for new services later on.

      See more

      I use Gunicorn because does one thing - it’s a WSGI HTTP server - and it does it well. Deploy it quickly and easily, and let the rest of your stack do what the rest of your stack does well, wherever that may be.

      uWSGI “aims at developing a full stack for building hosting services” - if that’s a thing you need then ok, but I like the principle of doing one thing well, and I deploy to platforms like Heroku and AWS Elastic Beanstalk where the rest of the “hosting service” is provided and managed for me.

      See more
      Tornado logo

      Tornado

      445
      408
      167
      A Python web framework and asynchronous networking library, originally developed at FriendFeed
      445
      408
      + 1
      167
      PROS OF TORNADO
      • 37
        Open source
      • 31
        So fast
      • 27
        Great for microservices architecture
      • 20
        Websockets
      • 17
        Simple
      • 14
        Asynchronous
      • 11
        Python
      • 7
        Lightweight
      • 3
        Handles well persistent connexions
      CONS OF TORNADO
      • 2
        Event loop is complicated

      related Tornado posts

      Dmitry Mukhin

      The 350M API requests we handle daily include many processing tasks such as image enhancements, resizing, filtering, face recognition, and GIF to video conversions.

      Tornado is the one we currently use and aiohttp is the one we intend to implement in production in the near future. Both tools support handling huge amounts of requests but aiohttp is preferable as it uses asyncio which is Python-native. Since Python is in the heart of our service, we initially used PIL followed by Pillow. We kind of still do. When we figured resizing was the most taxing processing operation, Alex, our engineer, created the fork named Pillow-SIMD and implemented a good number of optimizations into it to make it 15 times faster than ImageMagick

      Thanks to the optimizations, Uploadcare now needs six times fewer servers to process images. Here, by servers I also mean separate Amazon EC2 instances handling processing and the first layer of caching. The processing instances are also paired with AWS Elastic Load Balancing (ELB) which helps ingest files to the CDN.

      See more

      Around the time of their Series A, Pinterest’s stack included Python and Django, with Tornado and Node.js as web servers. Memcached / Membase and Redis handled caching, with RabbitMQ handling queueing. Nginx, HAproxy and Varnish managed static-delivery and load-balancing, with persistent data storage handled by MySQL.

      See more
      Twisted logo

      Twisted

      73
      89
      10
      Event-driven networking engine written in Python
      73
      89
      + 1
      10
      PROS OF TWISTED
      • 5
        Easy-to-understand concurrency
      • 3
        Twisted prevails
      • 1
        It works
      • 1
        Solid, flexible, powerful
      CONS OF TWISTED
        Be the first to leave a con

        related Twisted posts

        Celery logo

        Celery

        1.6K
        1.6K
        280
        Distributed task queue
        1.6K
        1.6K
        + 1
        280
        PROS OF CELERY
        • 99
          Task queue
        • 63
          Python integration
        • 40
          Django integration
        • 30
          Scheduled Task
        • 19
          Publish/subsribe
        • 8
          Various backend broker
        • 6
          Easy to use
        • 5
          Great community
        • 5
          Workflow
        • 4
          Free
        • 1
          Dynamic
        CONS OF CELERY
        • 4
          Sometimes loses tasks
        • 1
          Depends on broker

        related Celery posts

        James Cunningham
        Operations Engineer at Sentry · | 21 upvotes · 361.3K views

        Sentry started as (and remains) an open-source project, growing out of an error logging tool built in 2008. That original build nine years ago was Django and Celery (Python’s asynchronous task codebase), with PostgreSQL as the database and Redis as the power behind Celery.

        We displayed a truly shrewd notion of branding even then, giving the project a catchy name that companies the world over remain jealous of to this day: django-db-log. For the longest time, Sentry’s subtitle on GitHub was “A simple Django app, built with love.” A slightly more accurate description probably would have included Starcraft and Soylent alongside love; regardless, this captured what Sentry was all about.

        #MessageQueue #InMemoryDatabases

        See more
        James Cunningham
        Operations Engineer at Sentry · | 18 upvotes · 1.8M views
        Shared insights
        on
        CeleryCeleryRabbitMQRabbitMQ
        at

        As Sentry runs throughout the day, there are about 50 different offline tasks that we execute—anything from “process this event, pretty please” to “send all of these cool people some emails.” There are some that we execute once a day and some that execute thousands per second.

        Managing this variety requires a reliably high-throughput message-passing technology. We use Celery's RabbitMQ implementation, and we stumbled upon a great feature called Federation that allows us to partition our task queue across any number of RabbitMQ servers and gives us the confidence that, if any single server gets backlogged, others will pitch in and distribute some of the backlogged tasks to their consumers.

        #MessageQueue

        See more
        Waitress logo

        Waitress

        16
        58
        7
        A production-quality pure-Python WSGI server
        16
        58
        + 1
        7
        PROS OF WAITRESS
        • 2
          Runs on Windows
        • 1
          Cross Platform
        • 1
          Fast
        • 1
          Light
        • 1
          Reliable
        • 1
          Easy setup
        CONS OF WAITRESS
          Be the first to leave a con

          related Waitress posts

          uWSGI logo

          uWSGI

          256
          311
          12
          uWSGI application server container
          256
          311
          + 1
          12
          PROS OF UWSGI
          • 6
            Faster
          • 4
            Simple
          • 2
            Powerful
          CONS OF UWSGI
            Be the first to leave a con

            related uWSGI posts

            I find I really like using GitHub because its issue tracker integrates really well into my project flow and the projects feature allows me to organize different efforts into boards. The automation features allow my issues to automatically progress through some states on the boards when I merge pull requests.

            My Python / Django app is deployed on Heroku with PostgreSQL database and uWSGI webserver.

            See more

            I use Gunicorn because does one thing - it’s a WSGI HTTP server - and it does it well. Deploy it quickly and easily, and let the rest of your stack do what the rest of your stack does well, wherever that may be.

            uWSGI “aims at developing a full stack for building hosting services” - if that’s a thing you need then ok, but I like the principle of doing one thing well, and I deploy to platforms like Heroku and AWS Elastic Beanstalk where the rest of the “hosting service” is provided and managed for me.

            See more
            NGINX logo

            NGINX

            113.3K
            60.9K
            5.5K
            A high performance free open source web server powering busiest sites on the Internet.
            113.3K
            60.9K
            + 1
            5.5K
            PROS OF NGINX
            • 1.4K
              High-performance http server
            • 894
              Performance
            • 730
              Easy to configure
            • 607
              Open source
            • 530
              Load balancer
            • 289
              Free
            • 288
              Scalability
            • 226
              Web server
            • 175
              Simplicity
            • 136
              Easy setup
            • 30
              Content caching
            • 21
              Web Accelerator
            • 15
              Capability
            • 14
              Fast
            • 12
              High-latency
            • 12
              Predictability
            • 8
              Reverse Proxy
            • 7
              The best of them
            • 7
              Supports http/2
            • 5
              Great Community
            • 5
              Lots of Modules
            • 5
              Enterprise version
            • 4
              High perfomance proxy server
            • 3
              Embedded Lua scripting
            • 3
              Streaming media delivery
            • 3
              Streaming media
            • 3
              Reversy Proxy
            • 2
              Blash
            • 2
              GRPC-Web
            • 2
              Lightweight
            • 2
              Fast and easy to set up
            • 2
              Slim
            • 2
              saltstack
            • 1
              Virtual hosting
            • 1
              Narrow focus. Easy to configure. Fast
            • 1
              Along with Redis Cache its the Most superior
            • 1
              Ingress controller
            CONS OF NGINX
            • 10
              Advanced features require subscription

            related NGINX posts

            Simon Reymann
            Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 11M views

            Our whole DevOps stack consists of the following tools:

            • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
            • Respectively Git as revision control system
            • SourceTree as Git GUI
            • Visual Studio Code as IDE
            • CircleCI for continuous integration (automatize development process)
            • Prettier / TSLint / ESLint as code linter
            • SonarQube as quality gate
            • Docker as container management (incl. Docker Compose for multi-container application management)
            • VirtualBox for operating system simulation tests
            • Kubernetes as cluster management for docker containers
            • Heroku for deploying in test environments
            • nginx as web server (preferably used as facade server in production environment)
            • SSLMate (using OpenSSL) for certificate management
            • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
            • PostgreSQL as preferred database system
            • Redis as preferred in-memory database/store (great for caching)

            The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

            • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
            • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
            • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
            • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
            • Scalability: All-in-one framework for distributed systems.
            • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
            See more
            John-Daniel Trask
            Co-founder & CEO at Raygun · | 19 upvotes · 283.9K views

            We chose AWS because, at the time, it was really the only cloud provider to choose from.

            We tend to use their basic building blocks (EC2, ELB, Amazon S3, Amazon RDS) rather than vendor specific components like databases and queuing. We deliberately decided to do this to ensure we could provide multi-cloud support or potentially move to another cloud provider if the offering was better for our customers.

            We’ve utilized c3.large nodes for both the Node.js deployment and then for the .NET Core deployment. Both sit as backends behind an nginx instance and are managed using scaling groups in Amazon EC2 sitting behind a standard AWS Elastic Load Balancing (ELB).

            While we’re satisfied with AWS, we do review our decision each year and have looked at Azure and Google Cloud offerings.

            #CloudHosting #WebServers #CloudStorage #LoadBalancerReverseProxy

            See more