This package provides a Keyring backend that stores passwords in a Google Sheet.
This package allows ipython-secrets to be used on Google Colaboratory, and on other hosted services that don’t support the standard Keyring backends.
The ipython-secrets package uses Keyring to store secrets for use in a Jupyter notebook. However, none of the standard Keyring backends works in Google Colaboratory, since that service provides neither durable file storage, nor the native operating system services that the standard keyring backends require.
To use this package, install it via pip3 install gsheet-keyring
, and use the
Keyring API as normal. If one of the built-in Keyring backends is available,
Keyring will use that backend in preference to this one (as it should). However,
if a platform-specific backend is not available, Keyring will automatically
detect and use this package instead.
Use keyring.set_keyring
to force Keyring to use this package even, if other
backends are available:
import keyring
from gsheet_keyring import GoogleSheetKeyring
keyring.set_keyring(GoogleSheetKeyring())
By default, this backend searches for a Google Sheet named “keyring”. If there’s no sheet with this name, one is created.
You can override this default by specifying a Google Sheet name, a Google Sheet
key, or a Worksheet
from the gspread package.
If you're running in an environment where any other Keyring backend is available, use that instead. (This should happen automatically.)
If you require either greater performance or security than this package provides (see the notes in the API documentation), you probably want to instead create or use a backend that uses a secret management service such AWS Secrets Manager, Google Cloud AMS, or or Hashicorp Vault.
The keyring-vault-backend package is a Keyring backend interface to Hashicorp Vault. I haven't used it.
MIT