Skip to main content

Access env variables by one line declaration with automatic typecasting

Project description

ENViscerate

One line access to environment variables, handling typecasts automatically. Simply declare a variable with the same name, assigning it to the output of the function env(default_value) where default_value is of the type you want the env variable casted as. It is easier to say with an example

from enviscerate import env
HOME = env('/this/dir')

Will set the value of HOME with the following precedence

  1. env var $HOME
  2. .env file supplied value
  3. value '/this/dir' you supplied to env() function above

features

  • if type is dict, it will be parsed as JSLOB using jsonofabitch module(if available). parsed as JSON using builtin json.loads() otherwise
  • if bool it will be set to True if str(val).lower() in ["t", "true", "1", "yes", "y"] for env(val) and False otherwise
  • If None, the case of env(), you will get None if the variable is not declared and a string otherwise
  • otherwise it will be casted as whatever you supply. presumably an int float or str but with no presumptions or restrictions thereof
  • It will use dotenv if available but does not require it, but will spit warnings to avoid frustrating mysterious why-are-my-settings-not-registering hickups

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

enviscerate-0.0.1.tar.gz (2.8 kB view hashes)

Uploaded Source

Built Distribution

enviscerate-0.0.1-py3-none-any.whl (3.3 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