shrebx

Load secrets from a configuration file, generating them if needed.


License
Other
Install
pip install shrebx==0.0.1

Documentation

shrebx
============
`Thomas Levine <https://thomaslevine.com>`_

Read and write secrets from a configuration file.

Install from PyPI. ::

    pip install shrebx

I originally made this for secret settings in a Django project,
so here's the example from that.

First, load the secrets. ::

    import os

    from shrebx import shrebx

    BASE_DIR = os.path.dirname(os.path.dirname(__file__))
    SECRETS = shrebx(os.path.join(BASE_DIR, '.secrets'),
                     manual_fields = ['DATABASE_PASSWORD'],
                     random_fields = ['SECRET_KEY'])

Then set them to things. ::

    SECRET_KEY = SECRETS['SECRET_KEY']
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'dadaportal',
            'USER': 'www-data',
            'HOST': 'localhost',
            'PASSWORD': SECRETS['DATABASE_PASSWORD'],
        }
    }

If you have a lot of secrets, consider using ``locals``. ::

    locals().update(shrebx(random_fields = ['THIS_PASSWORD', 'THAT_PASSWORD'],
                           manual_fields = ['EMAIL_ADDRESS' ))