Ship Secure and Streamlined Multi-Environment Specification.
Project description
click to read first article about this package
a more efficient, automated, and developer-friendly approach, allowing them to define deployment environment requirements using simple JSON or YAML descriptions.
Specify the exact conditions under which a container can run, mitigating compatibility issues and enforcing security standards seamlessly…
This environment description can either be one or multiple files and can also be a combination for each type of environment…
$ pip install env_should_be
env_should_be -fs --description /path/to/description/db.yml /path/to/description/app.json --env-file /path/to/.env --callback ./notify_admin.bash
examples
a number of example should be available under this link
or just do a
env_should_be --help
env_should_be [-h] -d DESCRIPTION [DESCRIPTION ...] [-fs FAIL_SILENTLY] [-e ENV_FILE] [-cb CALLBACK]
How should your environment be?
options:
-d DESCRIPTION [DESCRIPTION ...], --description DESCRIPTION [DESCRIPTION ...]
<Required> either one or multiple paths for description files. (json/yml)
-fs FAIL_SILENTLY, --fail-silently FAIL_SILENTLY
<Optional> will return an exit status of 0 even if the description(s) fail to match the current env (still triggers the callback).
-e ENV_FILE, --env-file ENV_FILE
<Optional> not specifying a path to a specific env file to validate description(s) against, environment variables in the current shell will be loaded instead.
-cb CALLBACK, --callback CALLBACK
<Optional> a callback script to be executed an environment fails to match the a description. (still triggered on fail-silently)
full list of possible descriptions:
(
"boolean",
"length",
"min_length",
"max_length",
"regex",
"option",
"constant",
"is_int",
"is_str",
"is_float",
"is_number",
"is_greater_than_eq",
"is_lower_than_eq",
"is_http",
"is_https",
"is_ipv4",
"is_ipv6",
"is_email",
"is_uuid",
)
TODOs:
- better exceptions
- support required arg
- support callbacks
- example Dockerfiles for different base images (only flask for now)
- a more helpful readme
- collect/open issues
- support older python versions
- support different/more complex descriptions
- support setting default values
- ship a single executable ?
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
Built Distribution
File details
Details for the file env_should_be-0.2.7.tar.gz
.
File metadata
- Download URL: env_should_be-0.2.7.tar.gz
- Upload date:
- Size: 416.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aec0163cf41584aed665496490d5427741d8ec82388e36f164f2c28edf079f82 |
|
MD5 | 826f0eed1ebd2abc4b91a59fd96d5d5b |
|
BLAKE2b-256 | d7f03137c20ae99d7c503ae0f3929d80cd1764a67bb903ddf25fe795c9d86a80 |
File details
Details for the file env_should_be-0.2.7-py3-none-any.whl
.
File metadata
- Download URL: env_should_be-0.2.7-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b82199a6249bdeb7bf5a779b8ac0dcc0b4068297b6b401fadbac6118d707a4a6 |
|
MD5 | ae8214888aab6d0707884c0ee106a941 |
|
BLAKE2b-256 | 3463425f34d15fc0eefaa4bf079ca7b5c244b0bbce4d5cd28f01b295219e1d73 |