Provides gevent primitives to orchestrate different orthogonal servers and services together.


License
Other
Install
pip install biloba==3.1.0

Documentation

Biloba

As in Ginkgo (of which this module was inspired). Provides gevent primitives to orchestrate different orthogonal servers and services together.

Basic usage:

from gevent import wsgi

import biloba


def hello_world(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])

    return ['<b>Hello world!</b>\n']


class MyService(biloba.Service):
    def make_web_server(self):
        return wsgi.WSGIServer(
            ('localhost', 5000),
            hello_world
        )

    def do_start(self):
        self.web_server = self.make_web_server()

        self.spawn(self.web_server.serve_forever)

        # you can add more servers/services here


if __name__ == '__main__':
    my_service = MyService()

    # start is called by join

    try:
        my_service.join()
    except KeyboardInterrupt:
        pass

    # as is stop

Extensions

Biloba supports extensions. Define your module as biloba_foobar and import biloba.ext.foobar will work.