@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

ArgumentTypeRequiredDescription
namestrOptionalSpecifies the name of the configuration. If not provided, the function name or value from *args is used.
default_valueAnyOptionalSpecifies 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