> For the complete documentation index, see [llms.txt](https://docs.kognitos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kognitos.com/legacy/legacy-experience/books/custom-books/api-reference/decorators/config-decorator.md).

# @config

## Overview

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

## Syntax

```python
@config(*args, **kwargs)
```

## Keyword Arguments

<table><thead><tr><th width="167.75">Argument</th><th width="95.546875">Type</th><th width="116.05859375">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>str</code></td><td>Optional</td><td>Specifies the name of the configuration. If not provided, the function name or value from <code>*args</code> is used.</td></tr><tr><td><code>default_value</code></td><td><code>Any</code></td><td>Optional</td><td>Specifies the default value for the configuration. If not provided, the default is <code>None</code>.</td></tr></tbody></table>

## Example

```python
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
```
