# `GEPA.StopCondition.Timeout`
[🔗](https://github.com/nshkrdotcom/gepa_ex/blob/v0.3.0/lib/gepa/stop_condition.ex#L156)

Time-based stop condition.

Stops optimization after a specified duration.

## Examples

    # Stop after 1 hour
    Timeout.new(hours: 1)

    # Stop after 30 minutes
    Timeout.new(minutes: 30)

    # Stop after 10 seconds
    Timeout.new(seconds: 10)

# `t`

```elixir
@type t() :: %GEPA.StopCondition.Timeout{
  max_seconds: pos_integer(),
  start_time: integer()
}
```

# `new`

```elixir
@spec new(keyword()) :: t()
```

Creates a timeout stop condition.

## Options
  - `:seconds` - Duration in seconds
  - `:minutes` - Duration in minutes
  - `:hours` - Duration in hours

Only one unit should be specified.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
