Skip to content

pombreda/microactor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

About

microactor - Untwist your Code!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%