Skip to main content

utils.config

os

Config Objects

class Config()

A singleton Config class that strictly ensures:

  • You call get(name, required=True/False, default=...)
  • The environment variable is read only once and stored.
  • Any subsequent calls to get(name, ...) return the same stored value.
  • No updates to the stored values are allowed.

__new__

def __new__(cls)

__init__

def __init__()

get_bool

@classmethod
def get_bool(cls, name: str, required: bool = True, default=None)

get

@classmethod
def get(cls, name: str, required: bool = True, default=None)

Retrieve the environment variable 'name' and store it if not already stored.

  • If 'required' is True and the env var is missing, raise an error (unless a default is given).
  • If 'required' is False, return the default (or None if no default).
  • Once stored, subsequent calls ignore environment changes or new defaults.

__setattr__

def __setattr__(name, value)

Prevent normal attribute setting on the class unless it's an internal attribute. This ensures we don't accidentally mutate config values by direct assignment.