Skip to main content

Ship Secure and Streamlined Multi-Environment Specification.

Project description

cover

click to read first article about this package

latest version on pypi

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

env_should_be-0.2.7.tar.gz (416.5 kB view details)

Uploaded Source

Built Distribution

env_should_be-0.2.7-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

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

Hashes for env_should_be-0.2.7.tar.gz
Algorithm Hash digest
SHA256 aec0163cf41584aed665496490d5427741d8ec82388e36f164f2c28edf079f82
MD5 826f0eed1ebd2abc4b91a59fd96d5d5b
BLAKE2b-256 d7f03137c20ae99d7c503ae0f3929d80cd1764a67bb903ddf25fe795c9d86a80

See more details on using hashes here.

File details

Details for the file env_should_be-0.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for env_should_be-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b82199a6249bdeb7bf5a779b8ac0dcc0b4068297b6b401fadbac6118d707a4a6
MD5 ae8214888aab6d0707884c0ee106a941
BLAKE2b-256 3463425f34d15fc0eefaa4bf079ca7b5c244b0bbce4d5cd28f01b295219e1d73

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