A Simple Secrets Manager for python
Installing:
pip3 install simplesecretsmanager
How to use:
Storing
from simplesecretsmanager import manager
secrets_manager = manager.SecretsManager("password", "file.bin")
secrets["MY_SECRET"] = "the_secret"
...
secrets_manager.update_secrets(secrets)
secrets_manager.update_secret("ANOTHER_SECRET", "the_other_secret")
secrets_manager.save()
There are 2 additional options when creating your SecretsManager, you can pass a non-default algorithm (defautls to Pbkdf2Algorithm):
from simplesecretsmanager import manager, utility
algorithm = utility.Argon2Algorithm()
secrets_manager = manager.SecretsManager("password", "file.bin", algorithm=algorithm)
You can also choose to not have the password saved in memory:
from simplesecretsmanager import manager
secrets_manager = manager.SecretsManager("password", "file.bin", save_password=False)
secrets_manager.update_secret("MY_SECRET", "the_secret")
# Must give password when saving if save_password = False, throws SecretsError otherwise
secrets_manager.save("password")
Note: when giving a password to save(), this will be used to encrypt the file, in place of whatever was orinally stored
Retrieving
from simplesecretsmanager import manager
secrets_manager = manager.SecretsManager("password", "file.bin")
try:
my_secret = secrets_manager.get_secret("MY_SECRET")
except SecretsError as e:
print("Issue retrieving 'MY_SECRET': {e}")
By default, it will throw an error SecretsError if the secret does not exist. If you instead pass a default value, you'll be able to get that returned no matter what.
You can also use the secret manager with the 'with' clause so that it auto saves after:
with secrets_manager:
secrets_manager.update_secret("MY_SECRET", "newvalue")
and then upon exiting, newvalue will be saved into "MY_SECRET"
Note: This won't work and will throw an error if used when save_password is false, since we won't be able to save the value when we get there
Provided under MIT License
Release files for simplesecretsmanager 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simplesecretsmanager-0.6.2.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simplesecretsmanager-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.9 kB
Release files / simplesecretsmanager-0.6.2.tar.gz
| Download URL | simplesecretsmanager-0.6.2.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1bcf4208ad6954e73798f8e03076bfa825658f6fdbb09f1950c115643c36f3d2
|
|
BLAKE2b-256 checksum How to use checksums |
41854ad5a148fdc3c7077b4b5f08300c66ef06f4a85f861f8613db1884c2f50f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.10.12 Linux/6.2.0-26-generic
|
Release files / simplesecretsmanager-0.6.2-py3-none-any.whl
| Download URL | simplesecretsmanager-0.6.2-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
33347ac8fc8c42ef5a667d6c113675c6825df0b494346335864105fdc1f82438
|
|
BLAKE2b-256 checksum How to use checksums |
c6d772eec94aedb44ca6f9c69ecb33d8e7a99c7293070290abc033ef019de1a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.10.12 Linux/6.2.0-26-generic
|