---
title: TimeoutConfig
summary: Timeout configuration for Fastly backend requests.
url: https://www.fastly.com/documentation/reference/compute/sdks/python/fastly_compute/requests/timeout/class.TimeoutConfig/
---

**Kind:** Class  
**Module:** [timeout](https://www.fastly.com/documentation/reference/compute/sdks/python/fastly_compute/requests/timeout/)  
**Package:** fastly-compute 0.1.3  
**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L10

Timeout configuration for Fastly backend requests.

Fastly supports three distinct timeout phases:
- connect_timeout: Time to establish the initial TCP connection
- first_byte_timeout: Time between sending request and receiving first response byte
- between_bytes_timeout: Maximum time between any two consecutive bytes in response

This provides much more granular control than the standard requests library,
which only supports a single timeout or (connect, read) tuple.

## Constructor

**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L22

```python
TimeoutConfig(connect: float = 30.0, first_byte: float = 60.0, between_bytes: float = 10.0)
```

Initialize timeout configuration.

**Parameters**

- `connect`: `float` (optional) = `30.0` — Connection timeout in seconds (default: 30.0)
- `first_byte`: `float` (optional) = `60.0` — First byte timeout in seconds (default: 60.0)
- `between_bytes`: `float` (optional) = `10.0` — Between bytes timeout in seconds (default: 10.0)

## Properties

### connect_ms

**Type:** `int`  
**Flags:** read-only  
**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L39

Connection timeout in milliseconds (for WIT API).

### first_byte_ms

**Type:** `int`  
**Flags:** read-only  
**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L44

First byte timeout in milliseconds (for WIT API).

### between_bytes_ms

**Type:** `int`  
**Flags:** read-only  
**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L49

Between bytes timeout in milliseconds (for WIT API).

### connect

**Type:** `float`  
**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L34

### first_byte

**Type:** `float`  
**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L35

### between_bytes

**Type:** `float`  
**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L36

## Methods

### __repr__

**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L81

```python
__repr__() -> str
```

Return string representation of TimeoutConfig.

**Returns**

`str`

### from_requests_timeout

**Flags:** static  
**Source:** https://github.com/fastly/compute-sdk-python/blob/2bffcc6d596a68bcc0b4342404641deff78e68f6/fastly_compute/requests/timeout.py#L54

```python
from_requests_timeout(timeout: None | float | tuple[float, float]) -> Self
```

Create TimeoutConfig from requests-compatible timeout parameter.

**Parameters**

- `timeout`: `None | float | tuple[float, float]`

  Timeout specification in requests-compatible formats:
  - `None`: Use default timeouts
  - `float`: Single timeout applied to all phases
  - `(connect, read)`: Tuple with separate connect and read timeouts

**Returns**

`Self`

TimeoutConfig object with appropriate timeout values

**Throws**

- [ValueError](https://docs.python.org/3/library/exceptions.html#ValueError) — If timeout format is invalid
