Giter VIP home page Giter VIP logo

gsheet-keyring's Introduction

Google Sheet Keyring backend

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

gsheet-keyring's People

Contributors

osteele avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gsheet-keyring's Issues

Proposal: Add a more prominent note about security

Hi @osteele,

nice module, but may I ask you to add a more prominent note about security in README.rst?
It doesn't need as detailed as in cautions.rst, but users of keyrings should always be aware about the security primitives without digging into the details.

Wouldn't it be fun to combine our approaches?

Cheers,
Pete

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.