timmartin19 / cli-passwords

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cli-passwords

Documentation Status Updates

Makes securely getting, storing, and retrying passwords from a command line interface easy!

Features

  • Get passwords from the keyring and if it's not there prompt the user to securely enter their password. The password will be stored in their keyring and they will not be prompted for their password again
  • Inject passwords into functions using the process described above
  • Automatically prompt the user to re-enter their password when they inputted the incorrect one

Installation

pip install cli-passwords

Quick Start

Prompt the user for the password and store the password in their keyring. This password will perists until expire_password is used or the keyword argument refresh=True is passed into the function.

from cli_passwords import get_password

# This will prompt the user for their password on the first
# use only.  Whether it's a month later or minutes later, it
# will pull the password from the keyring and not prompt the user again
password = get_password('namespace', 'username')

Inject the password into a function and retry when the password is incorrect. You can specify the maximum number of retries using the retry keyword argument

from cli_passwords import retry_password

@retry_password('namespace', 'username', exception=AuthenticationException)
def my_func(password, arguments):
    if password is not correct:
        raise AuthenticationException('The password is wrong')
    else:
        # do something with the password

my_func('arguments')

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

About

License:MIT License


Languages

Language:Python 80.5%Language:Makefile 19.5%