Authors
*******


Maintainer (i.e., Who To Hassle If You Find Bugs)
=================================================

Sergey Shepelev, temoto on Freenode, temotor@gmail.com


Original Authors
================

* Bob Ippolito

* Donovan Preston


Contributors
============

* AG Projects

* Chris AtLee

* R. Tyler Ballance

* Denis Bilenko

* Mike Barton

* Patrick Carlisle

* Ben Ford

* Andrew Godwin

* Brantley Harris

* Gregory Holt

* Joe Malicki

* Chet Murthy

* Eugene Oden

* radix

* Scott Robinson

* Tavis Rudd

* Sergey Shepelev

* Chuck Thier

* Nick V

* Daniele Varrazzo

* Ryan Williams

* Geoff Salmon

* Edward George

* Floris Bruynooghe

* Paul Oppenheim

* Jakub Stasiak

* Aldona Majorek

* Victor Sergeyev

* David Szotten

* Victor Stinner

* Samuel Merritt

* Eric Urban


Linden Lab Contributors
=======================

* John Beisley

* Tess Chu

* Nat Goodspeed

* Dave Kaprielian

* Kartic Krishnamurthy

* Bryan O'Sullivan

* Kent Quirk

* Ryan Williams


Thanks To
=========

* AdamKG, giving the hint that invalid argument errors were
  introduced post-0.9.0

* Luke Tucker, bug report regarding wsgi + webob

* Taso Du Val, reproing an exception squelching bug, saving
  children's lives  ;-)

* Luci Stanescu, for reporting twisted hub bug

* Marcus Cavanaugh, for test case code that has been incredibly
  useful in tracking down bugs

* Brian Brunswick, for many helpful questions and suggestions on the
  mailing list

* Cesar Alaniz, for uncovering bugs of great import

* the grugq, for contributing patches, suggestions, and use cases

* Ralf Schmitt, for wsgi/webob incompatibility bug report and
  suggested fix

* Benoit Chesneau, bug report on green.os and patch to fix it

* Slant, better iterator implementation in tpool

* Ambroff, nice pygtk hub example

* Michael Carter, websocket patch to improve location handling

* Marcin Bachry, nice repro of a bug and good diagnosis leading to
  the fix

* David Ziegler, reporting issue #53

* Favo Yang, twisted hub patch

* Schmir, patch that fixes readline method with chunked encoding in
  wsgi.py, advice on patcher

* Slide, for open-sourcing gogreen

* Holger Krekel, websocket example small fix

* mikepk, debugging MySQLdb/tpool issues

* Malcolm Cleaton, patch for Event exception handling

* Alexey Borzenkov, for finding and fixing issues with Windows error
  detection (#66, #69), reducing dependencies in zeromq hub (#71)

* Anonymous, finding and fixing error in websocket chat example
  (#70)

* Edward George, finding and fixing an issue in the [e]poll hubs
  (#74), and in convenience (#86)

* Ruijun Luo, figuring out incorrect openssl import for wrap_ssl
  (#73)

* rfk, patch to get green zmq to respect noblock flag.

* Soren Hansen, finding and fixing issue in subprocess (#77)

* Stefano Rivera, making tests pass in absence of postgres (#78)

* Joshua Kwan, fixing busy-wait in eventlet.green.ssl.

* Nick Vatamaniuc, Windows SO_REUSEADDR patch (#83)

* Clay Gerrard, wsgi handle socket closed by client (#95)

* Eric Windisch, zmq getsockopt(EVENTS) wake correct threads (pull
  request 22)

* Raymond Lu, fixing busy-wait in
  eventlet.green.ssl.socket.sendall()

* Thomas Grainger, webcrawler example small fix, "requests" library
  import bug report, Travis integration

* Peter Portante, save syscalls in socket.dup(),
  environ[REMOTE_PORT] in wsgi

* Peter Skirko, fixing socket.settimeout(0) bug

* Derk Tegeler, Pre-cache proxied GreenSocket methods (Bitbucket
  #136)

* David Malcolm, optional "timeout" argument to the subprocess
  module (Bitbucket #89)

* David Goetz, wsgi: Allow minimum_chunk_size to be overriden on a
  per request basis

* Dmitry Orlov, websocket: accept Upgrade: websocket (lowercase)

* Zhang Hua, profile: accumulate results between runs (Bitbucket
  #162)

* Astrum Kuo, python3 compatibility fixes; greenthread.unlink()
  method

* Davanum Srinivas, Python3 compatibility fixes

* Dmitriy Kruglyak, PyPy 2.3 compatibility fix

* Jan Grant, Michael Kerrin, second simultaneous read (GH-94)

* Simon Jagoe, Python3 octal literal fix

* Tushar Gohad, wsgi: Support optional headers w/ "100 Continue"
  responses

* raylu, fixing operator precedence bug in eventlet.wsgi

* Christoph Gysin, PEP 8 conformance

* Andrey Gubarev

* Corey Wright

* Deva

* Johannes Erdfelt

* Kevin

* QthCN

* Steven Hardy

* Stuart McLaren

* Tomaz Muraus

* ChangBo Guo(gcb), fixing typos in the documentation (GH-194)

* Marc Abramowitz, fixing the README so it renders correctly on PyPI
  (GH-183)

* Shaun Stanworth, equal chance to acquire semaphore from different
  greenthreads (GH-136)

* Lior Neudorfer, Make sure SSL retries are done using the exact
  same data buffer

* Sean Dague, wsgi: Provide python logging compatibility

* Tim Simmons, Use _socket_nodns and select in dnspython support

* Antonio Cuni, fix fd double close on PyPy

* Seyeong Kim

* Ihar Hrachyshka

* Janusz Harkot

* Fukuchi Daisuke

* Ramakrishnan G

* ashutosh-mishra

* Azhar Hussain

* Josh VanderLinden

* Levente Polyak

* Phus Lu

* Collin Stocks, fixing eventlet.green.urllib2.urlopen() so it
  accepts cafile, capath, or cadefault arguments

* Alexis Lee

* Steven Erenst

* Piët Delport

* Alex Villacís Lasso

* Yashwardhan Singh

* Tim Burke

* Ondřej Nový

* Jarrod Johnson

* Whitney Young

* Matthew D. Pagel

* Matt Yule-Bennett

* Artur Stawiarski

* Tal Wrii

* Roman Podoliaka

* Gevorg Davoian

* Ondřej Kobližek

* Yuichi Bando

* Feng

* Aayush Kasurde

* Linbing

* Geoffrey Thomas

* Costas Christofi, adding permessage-deflate weboscket extension
  support

* Peter Kovary, adding permessage-deflate weboscket extension
  support

* Konstantin Enchant

* James Page

* Stefan Nica

* Haikel Guemar

* Miguel Grinberg

* Chris Kerr

* Anthony Sottile

* Quan Tian

* orishoshan

* Matt Bennett

* Ralf Haferkamp

* Jake Tesler
