DDBFS is a proof of concept for a data storage middleware. It is decoupled from any storage system, database and UI and provides a client-server models. This proof of concept has the following implementations running :

  • STORAGE using Tahoe-LAFS <>
  • DATABASE using SQLite
  • several UI : a Gtk-based GUI, a CLI and FUSE implementation

The code is 100% pythonic, not really optimized and thus not that fast. It works, though it must still have bugs.

Project's URLs

  • The code's main page is hosted at :

  • The code repository is at :


  • For tickets/bug reporting, please use : and use ddbfs component


instanciate the grid storage

install the common library

% cd ddbfs_common
% sudo python develop

instanciate the node server

% cd ../ddbfs_node
% python
% bin/buildout
    (be patient)
    start the RPC server
% bin/ddbfs_server

the commandline interface is also available :

% bin/ddbfs help

instanciate the client

% cd ddbfs_client
% python
% bin/buildout
    (be patient)
% bin/ddbfs help


After first run of each module, that module will create its configuration file in ~/.ddbfs/ as follows :

  • node.yaml
    #node configuration
    tahoe_host:      # Address of the Tahoe storage server to connect to
    tahoe_port: 42001          # Port of the Tahoe storage server to connec to
    sqlite_file: mds.db        # name for the database file (for SQLite) (PATH relative to ~/.ddbfs/)
    service_host:      # Address on which the RPC server will listen on ( means every interface on the host)
    service_port: 8000         # Port on which the RPC server wil listen on
  • client.yaml
    # client configuration
    node_host:       # Address of the DDBFS node as configured in node.yaml
    node_port: 8000            # Port of the DDBFS node as configured in node.yaml


 Copyright (C) 2010 Bernard `Guyzmo` Pratz, Bearstech

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of 
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <>.
Last modified 7 years ago Last modified on Nov 17, 2010, 10:45:19 AM