This is the second prototype of NEO. The design is described in: http://www.nexedi.org/workspaces/neo TODO - Handling connection timeouts. - Handling write timeouts. - IdleEvent for a certain message type as well as a message ID. - Flushing write buffers only without reading packets. - Garbage collection of unused nodes. - Stopping packet processing by returning a boolean value from a handler, otherwise too tricky to exchange a handler with another. - History. - Multiple undo. - Expiration of temporariry down nodes. Requirements - Python 2.4 or later - ctypes http://python.net/crew/theller/ctypes/ - MySQLdb http://sourceforge.net/projects/mysql-python - Zope 2.8 or later Installation 1. In zope: a. Copy neo directory to /path/to/your/zope/lib/python b. Edit your zope.conf, remove the `zodb_zb` section that refers to FileStorage, and replace it with : %import neo # Main FileStorage database master_nodes 127.0.0.1:10010 127.0.0.1:10011 name main mount-point / c. Start zope 2. In a python script: a. Set your PYTHONPATH in order to be able to import Zope lib: $ export PYTHONPATH=/path/to/your/zope/lib/python:$PYTHONPATH b. Just create the storage object and play with it: from neo.client.NEOStorare import NEOStorage s = NEOStorage(master_addr="127.0.0.1", master_port=10010, name="main") ...