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

# CSV source configuration

> Configuration reference for `CsvSourceConfiguration` properties such as `parser-threads`, `buffer-size`, `synchronous-mode`, and `accepts-topic-overrides`, shared across CSV sources.

### Configuration properties

Properties for the CSV Source are provided inside the configuration of a CSV Source.
For example: [Local CSV Source](./local-csv-source).

| Key | Type | Default | Description |
| - | :- | :- | - |
| parser-threads | int | Half of the available processors, but no more than eight and not less than two | Sets the number of threads that run the parsing in parallel. |
| buffer-size | DataSize | 64KB | Sets the size of a byte buffer. |
| synchronous-mode | boolean | false | In synchronous mode, the processing of a new file can only start when all the activity related to the previous file has been completed. |
| accepts-topic-overrides | boolean | false | Whether this source is allowed to accept Topic Overrides in the [Load Request](../../operations/operations-load). |

#### YAML example

```yaml theme={"languages":{"custom":["/engine/python-sdk/6.2/languages/pycon.tmLanguage.json"]}}
dlc:
  csv:
    local:
      sources:
        source:
            root-base-dir: 'data'
            source-properties:
              synchronous-mode: false
              parser-threads: 3
```

### Java configuration

`CsvSourceConfiguration` Java object can be used for configuration in Java. The object is used in the configuration of a
CSV Topic.

For more information, see the Atoti Server documentation on
[ICsvSourceConfiguration](https://docs.activeviam.com/engine/java-sdk/6.1/sources/csv_source#icsvsourceconfiguration).

#### Java example

```java theme={"languages":{"custom":["/engine/python-sdk/6.2/languages/pycon.tmLanguage.json"]}}
@Bean
LocalCsvSourceDescription source() {
    return LocalCsvSourceDescription.builder("source", "data")
            .sourceConfiguration(
                    CsvSourceConfiguration.builder()
                            .parserThreads(3)
                            .synchronousMode(false)
                            .build()
            )
            .build();
}
```
