All Projects → eventlet → Eventlet

eventlet / Eventlet

Licence: other
Concurrent networking library for Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Eventlet

Asks
Async requests-like httplib for python.
Stars: ✭ 429 (-57.23%)
Mutual labels:  concurrency, network
Swoole Src
🚀 Coroutine-based concurrency library for PHP
Stars: ✭ 17,175 (+1612.36%)
Mutual labels:  concurrency, network
Vibe Core
Repository for the next generation of vibe.d's core package.
Stars: ✭ 56 (-94.42%)
Mutual labels:  concurrency, network
Libzmq
ZeroMQ core engine in C++, implements ZMTP/3.1
Stars: ✭ 7,418 (+639.58%)
Mutual labels:  concurrency, network
Net2pcap
Net2PCAP is a simple network-to-pcap capture file for Linux. Its goal is to be as simple as possible to be used in hostile environments
Stars: ✭ 36 (-96.41%)
Mutual labels:  network
Eoip
EoIP/EoIPv6 for *nix.
Stars: ✭ 34 (-96.61%)
Mutual labels:  network
Tina
a powerful android network library base on okhttp
Stars: ✭ 32 (-96.81%)
Mutual labels:  network
Networkmnt
Monitor network float of process
Stars: ✭ 31 (-96.91%)
Mutual labels:  network
Chirp
🔬Visualise Twitter Interactions
Stars: ✭ 40 (-96.01%)
Mutual labels:  network
Osmnet
Tools for the extraction of OpenStreetMap street network data
Stars: ✭ 39 (-96.11%)
Mutual labels:  network
Erewhon Game
Video game about programming your spaceships to destroy other programmed spaceships o/
Stars: ✭ 35 (-96.51%)
Mutual labels:  network
Orleans
Orleans is a cross-platform framework for building distributed applications with .NET
Stars: ✭ 8,131 (+710.67%)
Mutual labels:  concurrency
Graphrole
Automatic feature extraction and node role assignment for transfer learning on graphs (ReFeX & RolX)
Stars: ✭ 38 (-96.21%)
Mutual labels:  network
Xiringuito
SSH-based "VPN for poors"
Stars: ✭ 969 (-3.39%)
Mutual labels:  network
Easygo
基于Kotlin、OkHttp的声明式网络框架,像写HTML界面一样写网络调用代码
Stars: ✭ 40 (-96.01%)
Mutual labels:  network
Unrealnetworkprofiler
A modern WPF based Network Profiler for Unreal Engine.
Stars: ✭ 29 (-97.11%)
Mutual labels:  network
Jdonframework
Domain-Driven-Design Pub/Sub Domain-Events framework
Stars: ✭ 978 (-2.49%)
Mutual labels:  concurrency
Ineter
Fast Java library for working with IP addresses, ranges, and subnets
Stars: ✭ 39 (-96.11%)
Mutual labels:  network
Ridurre Network Filter Pruning Keras
Keras model convolutional filter pruning package
Stars: ✭ 35 (-96.51%)
Mutual labels:  network
Cytoscape.js
Graph theory (network) library for visualisation and analysis
Stars: ✭ 8,107 (+708.28%)
Mutual labels:  network

Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it.

It uses epoll or libevent for highly scalable non-blocking I/O. Coroutines ensure that the developer uses a blocking style of programming that is similar to threading, but provide the benefits of non-blocking I/O. The event dispatch is implicit, which means you can easily use Eventlet from the Python interpreter, or as a small part of a larger application.

It's easy to get started using Eventlet, and easy to convert existing applications to use it. Start off by looking at the examples, common design patterns, and the list of basic API primitives_.

.. _examples: http://eventlet.net/doc/examples.html .. _common design patterns: http://eventlet.net/doc/design_patterns.html .. _basic API primitives: http://eventlet.net/doc/basic_usage.html

Quick Example

Here's something you can try right on the command line::

% python3
>>> import eventlet
>>> from eventlet.green.urllib.request import urlopen
>>> gt = eventlet.spawn(urlopen, 'http://eventlet.net')
>>> gt2 = eventlet.spawn(urlopen, 'http://secondlife.com')
>>> gt2.wait()
>>> gt.wait()

Getting Eventlet

The easiest way to get Eventlet is to use pip::

pip install -U eventlet

To install latest development version once::

pip install -U https://github.com/eventlet/eventlet/archive/master.zip

Building the Docs Locally

To build a complete set of HTML documentation, you must have Sphinx, which can be found at http://sphinx.pocoo.org/ (or installed with pip install Sphinx)::

cd doc make html

The built html files can be found in doc/_build/html afterward.

Twisted

Eventlet had Twisted hub in the past, but community interest to this integration has dropped over time, now it is not supported, so with apologies for any inconvenience we discontinue Twisted integration.

If you have a project that uses Eventlet with Twisted, your options are:

  • use last working release eventlet==0.14
  • start a new project with only Twisted hub code, identify and fix problems. As of eventlet 0.13, EVENTLET_HUB environment variable can point to external modules.
  • fork Eventlet, revert Twisted removal, identify and fix problems. This work may be merged back into main project.

Apologies for any inconvenience.

Supported Python versions

Currently CPython 2.7 and 3.4+ are supported, but 2.7 and 3.4 support is deprecated and will be removed in the future, only CPython 3.5+ support will remain.

Flair

.. image:: https://img.shields.io/pypi/v/eventlet :target: https://pypi.org/project/eventlet/

.. image:: https://travis-ci.org/eventlet/eventlet.svg?branch=master :target: https://travis-ci.org/eventlet/eventlet

.. image:: https://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg :target: https://codecov.io/gh/eventlet/eventlet

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].