<!-- Source: https://docs.squirro.com/en/latest/api/squirro.lib.nlp.steps.filters.CopyFilter.html -->
# CopyFilter

**`class CopyFilter(config)`**

Bases: [`Filter`](squirro.lib.nlp.steps.filters.Filter.md#squirro.lib.nlp.steps.filters.Filter)

The copy [`Filter`](squirro.lib.nlp.steps.filters.Filter.md#squirro.lib.nlp.steps.filters.Filter) copies input fields into output fields with `copy.deepcopy`

**Input** - No specific input fields type required as long as it is compatible with `copy.deepcopy`

**Output** - The output field type is going to be the same as the input field type

Parameters

- `type` ([`str`](https://docs.python.org/3.11/library/stdtypes.html#str)) – copy
- `input_fields` ([`list`](https://docs.python.org/3.11/library/stdtypes.html#list)) – Fields to copy
- `output_fields` ([`list`](https://docs.python.org/3.11/library/stdtypes.html#list)) – Fields to copy into

**Example**

```json
{
    "step": "filter",
    "type": "copy",
    "input_fields":["body"],
    "output_fields":["copied_body"]
}
```

Methods SummaryMethods Documentation

**`process_doc(doc)`**

Process a document

Parameters

`doc` ([`Document`](../technical/libnlp/base.md#squirro.lib.nlp.document.Document)) – Document

Returns

Processed document

Return type

[Document](../technical/libnlp/base.md#squirro.lib.nlp.document.Document)
