Skip to main content

An argument helper used to validate environment variables

Project description

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
------
```python3
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.


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

zonar_ds_env_arg_parser-1.0.1.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

zonar_ds_env_arg_parser-1.0.1-py3-none-any.whl (5.7 kB view hashes)

Uploaded Python 3

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