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.
Tuesday February 7th 2006Released version 0.7.2 of Gmail Filesystem.
Fixed brain malfunction in previous release. Stand by for next daily update :-)
Monday February 6th 2006Released version 0.7.1 of Gmail Filesystem.
This release fixes a (sometimes) fatal bug in mount option parsing.
Sunday February 5th 2006Released 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 2005Released 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.
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.
- At the moment I don't recommend storing your only copy of anything important on GmailFS. GmailFS is an alpha release and should be treated as such. It WILL be buggy.
- Performance is acceptable for uploading and downloading very large files (obviously dependent on you having access to decent bandwidth). However operations like ls -l on a large directory which requires lots of round-trips are extremely slow. The poor performance here is largely independent of bandwidth and is related to having to grab entire messages instead of being able to use message summaries. Someone is working on using subject/message summaries for all the metadata which will improve performance and decrease the load on Google's servers, both good things.
- I haven't done any testing where GmailFS opens the same file multiple times and performs subsequent operations on the file. I suspect it will behave badly.