Gmail Filesystem - GmailFS

Gmail Filesystem provides a mountable Linux filesystem which uses your Gmail account as its storage medium. Gmail Filesystem is a Python application and uses the FUSE userland filesystem infrastructure to help provide the filesystem, and libgmail to communicate with Gmail.

GmailFS supports most file operations such as read, write, open, close, stat, symlink, link, unlink, truncate and rename. This means that you can use all your favourite unix command line tools to operate on files stored on Gmail (e.g. cp, ls, mv, rm, ln, grep etc. etc.).

Please be gentle on the code. This is my first foray into Python and I'm sure the code is far from elegant. I'm particularly concerned with my attempts to manipulate mutable byte arrays. I'm sure that there must be a less clumsy way of doing it than the nasty list -> array -> string path I'm currently using. This language has a reputation as an excellent choice for rapid prototyping. The first working version of GmailFS took about 2 days of coding. There was an additional 1.5 days spent on performance tuning and bugfixing. Given that this includes language learning curve, the reputation seems well deserved. A special mention should go to libgmail and FUSE, both greatly contributed to the short development time.

News

Thursday July 19th 2007

Released version 0.8.0 of Gmail Filesystem. This release requires the latest python-fuse bindings. GmailFS now uses the latest fuse-python API, so it no longer relies on the python-fuse backwards compatibility code. Russell Harmon has added support for per user configuration. Some issues with large files remain to be fixed in the next release.

Sunday April 22nd 2007

A bug has been reported which may cause problems when trying to download large files. A new version will be uploaded as soon as I have time to investigate the cause.

Sunday March 11th 2007

Released version 0.7.3 of Gmail Filesystem.

A bugfix release which should rectify:

Tuesday January 23rd 2007

Google has released MacFuse. This allows GmailFS (and other FUSE based filesystems to run under Mac OS X). Jean-Matthieu has posted step by step instructions on how to get Gmail Filesystem running under the Mac.

Tuesday February 7th 2006

Released version 0.7.2 of Gmail Filesystem.

Fixed brain malfunction in previous release. Stand by for next daily update :-)

Monday February 6th 2006

Released version 0.7.1 of Gmail Filesystem.

This release fixes a (sometimes) fatal bug in mount option parsing.

Sunday February 5th 2006

Released version 0.7 of Gmail Filesystem.

Version 0.7 is mainly a bug fix release. Please see the changelog for details. Gmailfs currently requires the latest libgmail release (0.1.4 at the time of writing), and the most recent python FUSE bindings from CVS.

Tuesday November 29th 2005

Released version 0.6 of Gmail Filesystem.

Version 0.6 has many changes including several code cleanup changes, the ability to enter your password when mounting instead of having to keep it in a config file and the ability to easily use GmailFS with EncFS, a FUSE based encrypted filesystem. All of these changes have been written by the Debian package maintainer, Sebastien Delafond (who I thank for his ongoing contributions to GmailFS). Please see the ChangeLog file for further details.

Older News

Screenshots

The obligatory screenshot shows me reading my Gmail via a Firefox launched from an executable stored on the same Gmail account I'm checking my email on. Très nerdy.

Checking Gmail from browser launched from GmailFS

Firefox launched from GmailFS

 

Issues