core¶
DotEnv¶
- class msdss_base_dotenv.core.DotEnv(env_file='./.env', key_path=None, defaults={}, **kwargs)[source]¶
Class to manage environmental variables.
- Parameters
env_file (str) – The path of the file with environmental variables.
key_path (str) – The path of the key file for the
env_file
.defaults (dict) – Key and value pairs representing default environment values to be loaded. These will be loaded if ones in the
env_file
do not exist or are unset.**kwargs –
Keyword arguments defining the environmental variable name mappings for this object:
Each key represents an alias name referring to an environmental variable
Each value represents the environmental variable name
This allows changing env vars to refer to the same keys
Author
Richard Wen <rrwen.dev@gmail.com>
Example
from msdss_base_dotenv import DotEnv # Create env env = DotEnv(secret='MSDSS_SECRET', password='PASSWORD') # Set an env var env.set('password', 'msdss123') # Get an existing env var password = env.get('password') print('password: ' + password) # Get a non-existent env var # Will print the default value 'secret-default' secret = env.get('secret', 'secret-default') print('secret: ' + secret) # Del the password env.delete('password') password = env.get('password') print('password_after_del: ' + str(password)) # Set the password env.set('password', 'new-password') password = env.get('password') print('password_after_set: ' + str(password)) # Save the env file env.save() # Load the saved env file env.load() # Remove the env files env.clear()
password: msdss123 secret: secret-default password_after_del: None password_after_set: new-password
clear¶
- DotEnv.clear()[source]¶
Delete env and key files.
Author
Richard Wen <rrwen.dev@gmail.com>
Example
from msdss_base_dotenv import * # Create env env = DotEnv(secret='MSDSS_SECRET', password='PASSWORD') # Set an env var env.set('password', 'msdss123') # Save the current specified env vars to an encrypted file env.save() # Create files env.clear()
delete¶
- DotEnv.delete(key, throw_error=False)[source]¶
Delete an environment variable if it exists.
- Parameters
Author
Richard Wen <rrwen.dev@gmail.com>
Example
from msdss_base_dotenv import * # Create default key value env env = DotEnv(user='USER', password='PASSWORD') # Set env var values env.set('user', 'msdss') env.set('password', 'msdss123') before_delete = env.get('password') # Delete an env var based on key alias env.delete('password') after_delete = env.get('password') # Print results print('before_delete: ' + before_delete) print('after_delete: ' + str(after_delete))
before_delete: msdss123 after_delete: None
exists¶
- DotEnv.exists()[source]¶
Check if a set of env vars exist based on the env and key files.
- Returns
Whether the env exists or not.
- Return type
Author
Richard Wen <rrwen.dev@gmail.com>
Example
from msdss_base_dotenv import * # Create default key value env env = DotEnv(user='USER', password='PASSWORD') # Set env var values env.set('user', 'msdss') env.set('password', 'msdss123') # Check that env exists env.save() before_clear = env.exists() # Clear and check again env.clear() after_clear = env.exists() # Print results print('before_clear: ' + str(before_clear)) print('after_clear: ' + str(after_clear))
before_clear: True after_clear: False
get¶
- DotEnv.get(key, default=None)[source]¶
Obtain the value of an env var.
- Parameters
Author
Richard Wen <rrwen.dev@gmail.com>
Example
from msdss_base_dotenv import * # Create default key value env env = DotEnv( someuser='SOME_USER', password='PASSWORD', defaults=dict( someuser='default-user' ) ) # Set env var values env.set('password', 'msdss123') # Get the PASSWORD var password = env.get('password') print('password: ' + password) # Check if user is set user_is_set = env.is_set('someuser') print('user_is_set: ' + str(user_is_set)) # Get the USER var # Will be default since it does not exist user = env.get('someuser') print('user: ' + user)
password: msdss123 user_is_set: False user: default-user
is_set¶
- DotEnv.is_set(key)[source]¶
Check whether an environment variable is set.
- Parameters
key (str) – The key to get a reference env var.
- Returns
Whether or not the environment variable from
key
is set.- Return type
Author
Richard Wen <rrwen.dev@gmail.com>
Example
from msdss_base_dotenv import * # Create default key value env env = DotEnv( someuser='SOME_USER', password='PASSWORD', defaults=dict( someuser='default-user' ) ) # Get the USER var user_is_set = env.is_set('someuser') print('user_is_set: ' + str(user_is_set)) # Get the USER var again env.set('someuser', 'new-user') user_is_set = env.is_set('someuser') print('user_is_set_after: ' + str(user_is_set))
user_is_set: False user_is_set_after: True
load¶
- DotEnv.load()[source]¶
Load env vars from the saved env file.
Author
Richard Wen <rrwen.dev@gmail.com>
Example
from msdss_base_dotenv import * # Create default key value env env = DotEnv(user='USER', password='PASSWORD') env.set('user', 'new-user') # Save the env vars env.save() # Load and see env vars env.load() user = env.get('user') print('user: ' + user) # Clear env files env.clear()
user: new-user
save¶
- DotEnv.save()[source]¶
Save env vars to a file.
Author
Richard Wen <rrwen.dev@gmail.com>
Example
from msdss_base_dotenv import * # Create default key value env env = DotEnv(user='USER', password='PASSWORD') env.set('user', 'new-user') # Save the env vars env.save() # Load and see env vars env.load() user = env.get('user') print('user: ' + user) # Clear env files env.clear()
user: new-user
set¶
- DotEnv.set(key, value)[source]¶
Sets an env var and saves it in the file.
- Parameters
Author
Richard Wen <rrwen.dev@gmail.com>
Example
from msdss_base_dotenv import * # Create default key value env env = DotEnv(user='USER', password='PASSWORD') # Set env var values env.set('user', 'msdss') env.set('password', 'msdss123') # Get env var values to check user = env.get('user') password = env.get('password') print('user: ' + user) print('password: ' + password)
user: msdss password: msdss123