env

ModelsDotEnv

class msdss_models_api.env.ModelsDotEnv(broker_url='MSDSS_MODELS_BROKER_URL', backend_url='MSDSS_MODELS_BACKEND_URL', folder='MSDSS_MODELS_FOLDER', env_file='./.env', key_path=None)[source]

Class to manage model environment variables.

  • Extends msdss_base_dotenv:msdss_base_dotenv.core.DotEnv

Parameters
  • broker_url (str) – Link to connect to a RabbitMQ broker.

  • backend_url (str) –

    Link to connect to a RabbitMQ backend.

  • folder (str) – Path to the folder to store saved models and instances.

Author

Richard Wen <rrwen.dev@gmail.com>

Example

from msdss_models_api.env import ModelsDotEnv

# Get default env vars
env = ModelsDotEnv()
env.save() # save to .env file
env.load() # load the same file

# Print defaults
print('default_env:\n')
for k, name in env.mappings.items():
    value = str(env.get(k))
    print(f'{name}: {value}')

# Remove saved .env file
env.clear()

# Create models env with diff var names
alt_env = ModelsDotEnv(
    broker_url='MSDSS_MODELS_BROKER_URL_B',
    backend_url='MSDSS_MODELS_BACKEND_URL_B',
    folder='MSDSS_MODELS_FOLDER_B'
)

# Set secret
alt_env.set('broker_url', 'redis://localhost:6379/0')

# Set folder
alt_env.set('folder', './path/to/folder')
alt_env.delete('folder')

# Check if backend url is set
backend_is_set = alt_env.is_set('backend_url')

# Print custom env
# See new env
print('\nalt_env:\n')
for k, name in alt_env.mappings.items():
    value = str(alt_env.get(k))
    print(f'{name}: {value}')
print('backend_is_set: ' + str(backend_is_set))

# Clear alt env files
alt_env.clear()
default_env:

MSDSS_MODELS_BROKER_URL: None
MSDSS_MODELS_BACKEND_URL: None
MSDSS_MODELS_FOLDER: None

alt_env:

MSDSS_MODELS_BROKER_URL_B: redis://localhost:6379/0
MSDSS_MODELS_BACKEND_URL_B: None
MSDSS_MODELS_FOLDER_B: None
backend_is_set: False