Skip to main content

This package provides a Keyring backend that is backed by a Google Sheet.

Project description

Latest PyPI Version Documentation Status License Supported Python Versions

This package provides a Keyring backend that stores passwords in a Google Sheet.

Motivation

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.

Usage

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.

Alternatives

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.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
gsheet_keyring-1.0.1-py3-none-any.whl (11.9 kB) Copy SHA256 hash SHA256 Wheel py3
gsheet-keyring-1.0.1.tar.gz (15.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page