> ## 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.

# Tuple source

> Configuration reference for `TupleSourceDescription` properties such as `topics-to-include` and `topics-to-exclude`, defined under the `dlc.tuple.sources` namespace.

<Note>
  DLC provides a default TupleSourceDescription with the name `defaultTupleSourceDesc`.
  The only reason to make a new `TupleSourceDescription` is to organize topics logically.
</Note>

### Configuration properties

Properties for a Tuple Source are defined by name in the `dlc.tuple.sources` namespace,
and are picked up as configurations for the DLC.

| Key               | Required | Type          | Description                                                                              |
| ----------------- | :------: | ------------- | ---------------------------------------------------------------------------------------- |
| topics-to-include |          | `Set<String>` | Topics to include. See [source to topic matching](/functional/source-to-topic-matching). |
| topics-to-exclude |          | `Set<String>` | Topics to exclude. See [source to topic matching](/functional/source-to-topic-matching). |

#### YAML example

```yaml theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
dlc:
  tuple:
    sources:
      tupleSource:
        topics-to-include:
          - topic
```

### Java configuration

`TupleSourceDescription` Spring Beans are picked up as configurations for the DLC.

| Parameter       | Required | Type          | Description                                                                              |
| --------------- | :------: | ------------- | ---------------------------------------------------------------------------------------- |
| name            |     Y    | `String`      | Name of the source.                                                                      |
| topicsToInclude |          | `Set<String>` | Topics to include. See [source to topic matching](/functional/source-to-topic-matching). |
| topicsToExclude |          | `Set<String>` | Topics to exclude. See [source to topic matching](/functional/source-to-topic-matching). |

#### Java example

```java theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
@Bean
TupleSourceDescription source() {
    return TupleSourceDescription.builder("tupleSource")
            .topicsToInclude(Set.of("topic"))
            .build();
}
```
