Syncless is an experimental, lightweight, non-blocking (asynchronous) client and server socket network communication library implemented in Stackless Python 2.6. It contains an asynchronous DNS resolver (using dnspython) and an HTTP server capable of serving WSGI applications. It aims to be a coroutine-based alternative of event-driven networking engines (such as Twisted and FriendFeed's Tornado). It is already about that fast, but it has fewer features and is less stable now.
|Tags||coroutine Stackless Python Asynchronous non-blocking WSGI http DNS Client Server Network Communication Library Engine|
|Operating Systems||Unix Linux FreeBSD|
|Implementation||Python 2.6 Stackless Python 2.6 Pyrex Cython libevent|
Release Notes: This version was completely rewritten so it has drop-in replacements for the built-in Python functions such as socket.socket, socket.gethostbyname, ssl.SSLSocket, time.sleep, and select.select. The replacement implementations can be easily monkey-patched, so legacy (blocking) pure Python I/O code can be made non-blocking without a code change. Core functionality is now written in Pyrex/Cython for greater speed.