Tahoe-LAFS works with pyFilesystem. It is not officially maintained by Tahoe-LAFS devs, but it works.

Here is the email that this is based off of:

  1. Get and install Dokan lib at
  1. Get pyfilesystem at or do a pip install fs and skip to step 4.
  1. Install pyfilesystem:
    cmd> python build
    cmd> python install
  1. Verify that pyfilesystem is installed:
    cmd> python
    python>>> import fs
    python>>> fs.__version__
  2. Mount test/public grid to F:\ letter
    cmd> python
    python>>> from fs.contrib.tahoelafs import TahoeLAFS
    python>>> from fs.expose import dokan
    python>>> fs = TahoeLAFS('URI:DIR2:ddg5n76x6stjb35psrcn7i3ytu:etbtnftlaeylm4gmi7mxzq6pg2ntgra7dyjeronyoo4pvkgtttqa')
    python>>> mp = dokan.mount(fs, "f", foreground=True)

This works fine. I have a slightly different setup since this also works with FUSE.

On Windows, follow the above steps up to and including step 4.

On Linux, do a pip install fs and make sure fuse is installed.

Then you can edit this script:

#!/usr/bin/env python

mountPoint='f'               #Windows with dokan
# mountPoint='/mnt/tahoe'    #Linux with FUSE

import time
from fs.contrib.tahoelafs import TahoeLAFS

        from fs.expose import dokan
        fs = TahoeLAFS(URI)
        mp = dokan.mount(fs, mountPoint)

        from fs.expose import fuse
        fs = TahoeLAFS(URI)
        mp = fuse.mount(fs, mountPoint)

Replace URI with your URI on your grid. The above URI is the test writable URI in the TestGrid. Replace the mountPoint variable with the Windows drive letter or the UNIX filesystem path for the fuse mount point on all other systems.

Run the script and it will mount the URI at the specified location. If you want to unmount it, find out where dokanctl.exe is and run it from the command line dokanctl.exe /u f:. Sometimes I have to force the unmount on Windows. Use fusermount -u /mnt/tahoe on the FUSE systems.

Last modified at 2013-07-27T12:40:51Z Last modified on 2013-07-27T12:40:51Z