---
sidebar:
  hidden: true
title: roboto.experimental.topics.decode.file_decoder
---
## Module Contents

### make_file_decoder_opener()

```python
def roboto.experimental.topics.decode.file_decoder.make_file_decoder_opener(
    params: roboto.experimental.topics.decode.common.FileDecodeParams,
) -> roboto.experimental.topics.decode.common.FileDecoderOpener
```

`from roboto.experimental.topics.decode import make_file_decoder_opener`

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/experimental/topics/decode/file_decoder.py#L25-L53)

Return a [`FileDecoderOpener`](/reference/python-sdk/roboto/experimental/topics/decode/common#roboto.experimental.topics.decode.common.FileDecoderOpener) that reads files through `params`.

The opener picks the decoder by the group's format: [`McapFileDecoder`](/reference/python-sdk/roboto/experimental/topics/decode/mcap#roboto.experimental.topics.decode.mcap.McapFileDecoder) or [`ParquetFileDecoder`](/reference/python-sdk/roboto/experimental/topics/decode/parquet#roboto.experimental.topics.decode.parquet.ParquetFileDecoder).

**Parameters**

- **params** (`roboto.experimental.topics.decode.common.FileDecodeParams`): How to reach each file and whether to cache it.

**Returns**

- `roboto.experimental.topics.decode.common.FileDecoderOpener`: An opener of file decoders. The opener raises [`RobotoReadPlanExecutionException`](/reference/python-sdk/roboto/exceptions/domain#roboto.exceptions.domain.RobotoReadPlanExecutionException) with kind `unsupported-format` for a format other than MCAP or Parquet, and passes on what opening the decoder raises.
