Skip to main content

Easy way to handle platform secrets.

Project description

BlackHoles

Black Holes is a simple way to handle your projects secrets using a database or Consul.io.

IMPORTANT: Work-in-Progress. Beta version. Non production software.

Install

Installing from Pip

(pyenv) $ pip install blackhole

Installing from sources:

(pyenv) $ cd black_holes
(pyenv) $ python setup.py install

Usage:

SqliteBlackHole

Database BlackHole based

simple usage db-black-hole

Plain {'key': 'values'} storage.

from black_holes import SqliteBlackHole

# Create a new SqliteBlackHole instance
near_black_hole = SqliteBlackHole()

# Create a key called "key" with value "value"
near_black_hole['key'] = 'value'

# print key
print(near_black_hole['key'])
# >>> value

Advanced usage db-black-hole:

Encrypted {'key': 'values'} storage.

from black_holes import SqliteBlackHole

# Create a new SqliteBlackHole instance
# By default AES password is `qwerty12345678`
near_black_hole = SqliteBlackHole()

# Create a new custom password_callback function
my_pass = lambda instance: 'my-very-poor-password'
near_black_hole = SqliteBlackHole(password_callback=my_pass)

# Create a AES Encrypted key
near_black_hole['encrypted_key'] = 'it is a secret'

# Encrypted value
print(near_black_hole['key'])
# >>> Encrypted Value

# Decrypted value
print(near_black_hole['decrypted_key'])
# >>> Decrypted Value

ConsulBlackHole

Consul.io BlackHole based

Simple usage consul-black-hole

Plain {'key': 'values'} storage.

from black_holes import ConsulBlackHole

# Create a new DEV ConsulBlackHole instance
remote_black_hole = ConsulBlackHole()

# You can also creates a new ConsulBlackHole instance using consul auth token
# remote_black_hole = ConsulBlackHole(token='{consul-io-token}')

# Create a key called "key" with value "value"
remote_black_hole['key']= 'value'

# print key
print(remote_black_hole['key'])
# >>> value

Made it with ❤ by DTecDeal

Project details


Download files

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

Source Distribution

black_holes-0.0.32.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

black_holes-0.0.32-py3-none-any.whl (5.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page