@config

Overview

The config decorator is used to decorate a property in a Book class that defines default configuration values.

Syntax

@config(*args, **kwargs)

Keyword Arguments

Argument
Type
Required
Description

name

str

Optional

Specifies the name of the configuration. If not provided, the function name or value from *args is used.

default_value

Any

Optional

Specifies the default value for the configuration. If not provided, the default is None.

Example

DEFAULT_TIMEOUT = 30

@property
@config(default_value=DEFAULT_TIMEOUT)
def timeout(self) -> float:
 """
 Timeout in seconds when making API calls.
 """
 return self._timeout

@timeout.setter
def timeout(self, timeout: float):
 """
 Sets the timeout value in seconds.
 """
 if timeout <= 0:
  raise ValueError("timeout must be positive")
 self._timeout = timeout

Last updated

Was this helpful?