nip.utils.env.env_var_default_factory

nip.utils.env.env_var_default_factory#

nip.utils.env.env_var_default_factory(var_name: str, default=<object object>) Callable[[], str][source]#

Create a factory function for getting an environment variable with a default.

This is useful for setting the value of an environment variable as the default value of a parameter in a dataclass.

Example

import dataclasses

@dataclasses.dataclass
class MyParameters:
    my_var: str = dataclasses.field(
        default_factory=env_var_default_factory("MY_VAR")
    )
Parameters:
  • var_name (str) – The name of the environment variable to get.

  • default (str, optional) – The default value to return if the environment variable is not set. If not provided, an error is raised if the environment variable is not set.

Returns:

factory (Callable[[], str]) – A factory function that returns the value of the environment variable if set, and the default value otherwise.