microactor - Untwist your Code!
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
microactor
tests
.gitignore
README.rst
TODO.rst
setup.py

README.rst

Microactor: Untwist Your Code

Microactor (from "micro reactor") is a lightweight, easy-to-use, plug-and-play reactor framework, designed around the notion of reactive coroutines. Unlike many existing reactors, it attempts to borrow the synchronous programming style wherever possible, and rely on existing (synchronous) code instead of having to rewrite everything.

Using Microactor, you no longer need to write lots of factory classes, adhere to Zope interfaces, be tied to a global reactor, or spread your logic over numerous callback functions -- you'd do everything just as you would do in synchronous code. For example:

# a very trivial stand-alone echo server
import microactor

@microactor.reactive
def main(reactor):
    listener = yield reactor.net.listen_tcp(12345)
    while True:
        conn = yield listener.accept()
        reactor.call(echo_server, conn)

@microactor.reactive
def echo_server(conn):
    while True:
        data = yield conn.read(1000)
        if data is None:
            break
        yield conn.write(data)

if __name__ == "__main__":
    reactor = microactor.get_reactor()
    reactor.run(main)