Loads environment into class attributes
Project description
EnvAttributes
v1.1.0
Loads environment into class attributes
Install:
pip install env_attributes
Example:
Environment:
HOST=localhost
PORT=5050
Usage:
Variant 1:
from env_attributes import Environment
path_to_env = 'example/.env'
env = Environment(env_path=path_to_env)
print(env.host, env.port)
output:
localhost 5050
Variant 2:
Correct if the .env file is in the root directory
from env_attributes import env
print(env.host, env.port)
output:
localhost 5050
Additional usage:
print(env.get('host'), env['port'])
Register is not important:
print(env.get('HoSt'), env['PORT'])
You can work with the env object as with a dict:
for key in env:
value = env.get(key)
print(key, value)
output:
host localhost
port 5050
You can output all environment variables:
print(env)
output:
{"host": "localhost", "port": "5050"}
You can also get all keys or values from env:
print(env.keys())
print(env.values())
output:
['host', 'port']
['localhost', '5050']
You can get length of env:
print(len(env))
output:
2
NEW
Added ability to specify type annotations for environment variables
Example:
Environment:
BOOL=False
INT=123456789
FLOAT=3.14159265
STRING='Hello World!'
LIST='[123, 2.22, [1, 2, 3], {"key1": "val1", "key2": "val2"}]'
TUPLE='(1, 22, 333, 4444)'
DICT='{"key1": "val1", "key2": "val2", "key3": {"key3.1": 1, "key3.2": 2}}'
CUSTOM='1, 2, 3, 4, 5, 6, 7, 8, 9'
Usage
from env_attributes import Environment, EnvTypes
class EnvironmentTypes(EnvTypes):
bool: bool
int: int
float: float
string: str
list: list
tuple: tuple
dict: dict
env = Environment(env_types=EnvironmentTypes)
print(env.bool, type(env.bool))
print(env.int, type(env.int))
print(env.float, type(env.float))
print(env.string, type(env.string))
print(env.list, type(env.list))
print(env.tuple, type(env.tuple))
print(env.dict, type(env.dict))
output:
False <class 'bool'>
123456789 <class 'int'>
3.14159265 <class 'float'>
Hello World! <class 'str'>
[123, 2.22, [1, 2, 3], {'key1': 'val1', 'key2': 'val2'}] <class 'list'>
('1', ' 22', ' 333', ' 4444') <class 'tuple'>
{'key1': 'val1', 'key2': 'val2', 'key3': {'key3.1': 1, 'key3.2': 2}} <class 'dict'>
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
env_attributes-1.1.0.tar.gz
(3.7 kB
view details)
File details
Details for the file env_attributes-1.1.0.tar.gz
.
File metadata
- Download URL: env_attributes-1.1.0.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c499ef9f618e0e306b93bd7c0c97f4a5552a14ef6fa33819df39db9d6903973a |
|
MD5 | dbf0b6cdfc1ef487422ad55478d7d569 |
|
BLAKE2b-256 | bdb32701be30e558839fd457540ed4ae40a290590e81bab1231ff409384a703b |