zonar-ds-env-arg-parser

An argument helper used to validate environment variables


Keywords
zonar_ds_env_arg_parser
License
MIT
Install
pip install zonar-ds-env-arg-parser==1.0.1

Documentation

zonar_ds_env_arg_parser

Overview

This is a simple helper that is meant to enforce and validate that environment variables are set correctly

Usage

from zonar_ds_env_arg_parser.env_arg_parser import env_arg_parser as parser

parser.add_argument(env_var="SOME_EVN_VAR",
                    required=True,
                    type=int,
                    help="Message to display about the variable")
                    
parser.add_argument(env_var="SOMETHING_ELSE",
                    required=False,
                    default="TEST",
                    validation=lambda x: x.lower() == "test" or
                                         x.lower() == "something" or
                                         x.lower() == "something_else",
                    help="Some message about this variable")

parser.add_argument(env_var="TRUE",
                    required=False,
                    default="True",
                    type=bool,  # Will convert ("yes", "true", "t", "1", "y", "yeah") to True
                    help="Another description about converting to True")

parser.initialize()
options = parser.get_options()

# This var doesn't have a default so 'SOME_EVN_VAR' needs to be set or it'll throw an exception
print("This is the type of SOME_EVN_VAR " + type(options.SOME_EVN_VAR))  # Should be int becasue we specified type
print("This is the value of SOMETHING_ELSE " + options.ENVIRONMENT)  # Should be 'TEST' since that's the default
print("This is the value of TRUE " + options.TRUE)  # Should be 'TEST' since that's the default

Arguments

Parameters that can be passed into env_arg_parser.add_argument are as follows:

param required Description
env_var Yes The environment variable to look for. This will also be the name of the attribute when retrieving it.
required Yes Can be True or False, if required=False a default must be provided.
help Yes This message is displayed if an argument doesnt exist or fails validation. It should explain to the user what the argument is for to assist them in defining it.
default Conditional The default value. Must be set if required=False, cannot be set if required=True.
validation No A function should be provided that takes a single value and should return True, False or raise an Exception. False or an exception will prevent the program from launching.
type No If the value needs to be something other than a string, specify what it should be converted to.