from couchdbkit import Server
from couchdbkit.consumer import Consumer
from time import sleep

from gevent import monkey
monkey.patch_all()
import gevent

def print_event(*args, **kwargs):
	print('EVENT: %s - %s' % (args, kwargs))

s  = Server(uri='http://localhost:5984')
db = s.get_or_create_db('a_test_db')


c = Consumer(db, backend="gevent")

c.wait_async(print_event, heartbeat=True)
while True:
    try:
        gevent.sleep(0.1)
    except (KeyboardInterrupt, SystemExit):
        break
        


result : 


$ python test.py 
EVENT: ('{"seq":3,"id":"d1eca14fb05613c5be30b518c4000768","changes":[{"rev":"3-825cb35de44c433bfb2df415563a19de"}]}',) - {}
EVENT: ('{"seq":4,"id":"d1eca14fb05613c5be30b518c4000c66","changes":[{"rev":"1-967a00dff5e02add41819138abb3284d"}]}',) - {}