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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file black_holes-0.0.32.tar.gz.

File metadata

  • Download URL: black_holes-0.0.32.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for black_holes-0.0.32.tar.gz
Algorithm Hash digest
SHA256 b79bd7fd3226d8a386b389da4648c2ff6b80d47b63926b86f5dd937941c797f2
MD5 9ccac0ed5b1206660782d383f5d5a34b
BLAKE2b-256 6e1c8feddd0c24c9816471e9c3fcfbafaee3cdb6a5a75db060e307d4af533019

See more details on using hashes here.

File details

Details for the file black_holes-0.0.32-py3-none-any.whl.

File metadata

  • Download URL: black_holes-0.0.32-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for black_holes-0.0.32-py3-none-any.whl
Algorithm Hash digest
SHA256 ea34cce35c08819a308cb034b67aadfcf48771b7325bcf70860940d3481f0523
MD5 0e560db7de88b8bae9f9d125920306b1
BLAKE2b-256 507718c042e47f13c2daba6dfb81ddf664e148055774249ce8e8fa58e1efc313

See more details on using hashes here.

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