For everything that you really should not be hardcoding.
Project description
This package wants to replace your hardcoded.password, your hardcoded.api_key, actually hardcoded("Everything you really shouldn't be hardcoding").
To move a hardcoded value from your code to an external file, use hardcoded.foo as if it was holding your value already. On running the code, this will happen:
- if an environment variable exist with exactly the same name ("foo" in our example), the value of that environment variable is returned
- otherwise, hardcoded will find a file holding your data
- if you initialised hardcoded as hardcoded.File(path='secrets.yml'), secrets.yml is used
- if you are running code inside a git repository, .hardcoded.yml is used, at the root of the repository (next to .git/)
- otherwise, ~/.config/hardcoded.yml is used
- if the file is encrypted:
- with GPG, then hardcoded interfaces with your GPG installation (possibly using the gpg-agent)
- if symmetric encryption was used:
- if a password was cached, it is used to decrypt the data
- if Apple Keychain is available, a password is requested to decrypt the data
- if running interactively, you will be asked for a decryption password
- the (decrypted if needed) YAML data is loaded
- if "foo" is a key in the YAML, the value of that key is returned
- if "foo" does not exist in the YAML yet:
- if not running interactively (stdin is not an open TTY), a KeyError is raised
- if running interactively, you are asked to input the value
- if encryption is requested with hardcoded.File(secret=True), the YAML is encrypted:
- if GPG is available, the YAML is GPG encrypted with a key of your choosing
- if Apple Keychain is available, a random password is generated and stored in the keychain
- otherwise, you are asked for a new password
- if encryption is requested with hardcoded.File(secret=True), the YAML is encrypted:
- the value of foo is returned to your code
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hardcoded-0.14.20.tar.gz
(10.5 kB
view hashes)
Built Distribution
Close
Hashes for hardcoded-0.14.20-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3097c99fccabc9973f0703d71e80db12c995277058d71d8820ee17c8206bbbfe |
|
MD5 | 7c288c0ad36f440952d93fadaf16a91f |
|
BLAKE2b-256 | c43730d0c6e0c2bae04ee62fe0274cb3f161864e2667c55798576d11216f7590 |