A friendly enviroment variable parser to describe envs and parse them. This will make documenting environment variables easier.
Project description
Env Parser
A friendly enviroment variable parser to describe envs and parse them. This will make documenting environment variables easier.
Basic Usage
Import the config function and provide a configuration .yaml or .yml file to it as bellow:
envs:
env_id:
name: string
description: string
options: [value_type]
required: true | false
value_type: str | int | bool | float
example:
envs:
redis_url:
name: 'REDIS_URL'
description: "The redis database URL"
options: ['redis://localhost:6379']
required: true
value_type: str
The config function returns a dict with the parsed envs converted to it's type.
Env Properties
name: it should be the same string as in your .env filedescription: a short description of what is itoptions: a list of the possible values the env can receive- If any different value is provided, it will issue an error
required: if the env variable is required or notvalue_type: a string representing the convertion type of the env value- Currently supports:
str,int,boolandfloat
- Currently supports:
Multiple Environs
To use multiple environs, must set the multi key to true and you have to add them as top level after the envs: directive. We have three possible environs: development, staging, production.
envs:
multi: true
active: 'development' | 'staging' | 'production'
development:
# Normal env declaration
staging:
# Normal env declaration
production:
# Normal env declaration
In your .env (or wherever you put your envs), for each type of environ, the env must have the correct prefix:
DEV_fordevelopmentSTAG_forstagingPROD_forproduction
The loader will return a tuple: (active, envs) with the active environ and all of the parsed environs, respectively.
If no active is provided, it will return (None, envs).
If you enable environs, you can't have misplaced envs outside of them to avoid possible security issues.
Possible Errors
- If an environment is empty, it will issue a waring
- If a name different than the reserved ones for a eviron is giver, it will issue an error
- Custom environs are in progress!
- If your not using environments and make use of the
active: true|falsedirective, it will treat it as a env variable and issue a invalid env error
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file envify-1.0.0.tar.gz.
File metadata
- Download URL: envify-1.0.0.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.5.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe6b6b551824a381a599c8ea969e750a1279d9225ba33568c2221c64af81c7b8
|
|
| MD5 |
cd0ae6946f1bcfca53fdecf6e2c39b33
|
|
| BLAKE2b-256 |
97ff049e84fdbfa502c06794cf62e177c057194d1d7b1a2300dff88f4d2f9ede
|
File details
Details for the file envify-1.0.0-py3-none-any.whl.
File metadata
- Download URL: envify-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.5.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07dec5cf50a6a8ed065fef239544ef651443fcb238ad02714e18131194470991
|
|
| MD5 |
9ae11501a3bd846fe196cf1a8113da44
|
|
| BLAKE2b-256 |
947f9331df6a3b3961e00ea8c9e7bf46121437271badb9322c6999d6d162d6fe
|