> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Recommender.recommend()

<span id="atoti.aggregate_provider.recommender.Recommender.recommend" />

> Recommender.recommend(<br />
>     \*,<br />
>     *candidate\_evaluation\_time\_limit*: [timedelta](https://docs.python.org/3/library/datetime.html#datetime.timedelta) | [None](https://docs.python.org/3/library/constants.html#None) = `None`,<br />
>     *cover\_target*: [float](https://docs.python.org/3/library/functions.html#float),<br />
>     *excluded\_levels*: [Set](https://docs.python.org/3/library/collections.abc.html#collections.abc.Set)\[HasIdentifier\[LevelIdentifier] | LevelIdentifier] = `frozenset({})`,<br />
> ) → [dict](https://docs.python.org/3/library/stdtypes.html#dict)\[[str](https://docs.python.org/3/library/stdtypes.html#str), [AggregateProvider](./atoti.aggregate_provider.AggregateProvider#atoti.AggregateProvider)]

Return recommended aggregate providers keyed by name.

### Parameters

<h4 id="atoti.aggregate_provider.recommender.Recommender.recommend.candidate_evaluation_time_limit">
  *candidate\_evaluation\_time\_limit*
</h4>

The cumulative time budget for evaluating candidate providers.
If `None`, use the server’s default.

<h4 id="atoti.aggregate_provider.recommender.Recommender.recommend.cover_target">
  *cover\_target*
</h4>

The ratio of the recorded query history that the recommended providers should cover.

<h4 id="atoti.aggregate_provider.recommender.Recommender.recommend.excluded_levels">
  *excluded\_levels*
</h4>

The levels to exclude from the recommended providers.
