This (re)fork adds support for using Keyczar http://www.keyczar.org/ to encrypt keyrings. Keyczar is "an open source cryptographic toolkit designed to make it easier and safer for developers to use cryptography in their applications". It also allows the keyring to be stored on Google Docs and on any filesystem supported by pyfilesystem http://code.google.com/p/pyfilesystem/ - which when combined with Keyczar's ability to encrypt the keyring and the keyset that encrypts that keyring allows secure distribution of keys e.g. keyring on Google Docs encrypted by a keyset on Amazon S3 which in turn is encrypted by a keyset on GitHub.
This all looks very good. Thanks for putting this together. It looks like a lot of work went into this. It's very thorough. Thanks very much for that.
One thing I would recommend for the future (but is fine this time) is to contribute new independent features as separate pull requests.
In a related note, I've been wanting to split out the backends so they're not all piled together in one module. What do you think about possibly creating two or three new modules to support the new backends? If that's something you're keen to do, I'd appreciate the help.
Otherwise, the only other thing I noticed was that the default storage locations referenced files in `/`. In 0.8, the other keyrings were adapted to store files in platform-specific locations, honoring the FreeDesktop.org conventions. Would you consider honoring those conventions in the new backends?
Apologies for the large set of features in one pull request. It started some time back in a different fork -https://bitbucket.org/rl_0x0/python-keyring-lib if you want the gory details - but time got away from me until now. I figured one big pull request was better then none :-/
Agreed on the splitting out of backends. I'll help as much as I'm able.
I will update the default storage location to match the later changes (a hangover from the original fork).