Skip to main content

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

Metadata

Release files for black-holes 0.0.32

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for black-holes 0.0.32
File Size Uploaded Provenance Actions
black_holes-0.0.32.tar.gz 4.4 kB Without provenance Details for black_holes-0.0.32.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for black-holes 0.0.32
File Interpreter ABI Platform Actions
black_holes-0.0.32-py3-none-any.whl Python 3 none any Details for black_holes-0.0.32-py3-none-any.whl

Total release size: 9.5 kB

Release files / black_holes-0.0.32.tar.gz

Download URL black_holes-0.0.32.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b79bd7fd3226d8a386b389da4648c2ff6b80d47b63926b86f5dd937941c797f2
BLAKE2b-256 checksum
How to use checksums
6e1c8feddd0c24c9816471e9c3fcfbafaee3cdb6a5a75db060e307d4af533019
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / black_holes-0.0.32-py3-none-any.whl

Download URL black_holes-0.0.32-py3-none-any.whl
Size 5.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ea34cce35c08819a308cb034b67aadfcf48771b7325bcf70860940d3481f0523
BLAKE2b-256 checksum
How to use checksums
507718c042e47f13c2daba6dfb81ddf664e148055774249ce8e8fa58e1efc313
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for black-holes 0.0.32

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page