# @target(...)

`prism.decorators.target(`*`*, type: prism.target.PrismTarget, loc: Union[str, pathlib.Path]`*`)`

* **Parameters**
  * `*`: indicates that the `target` decorator only accepts keyword arguments.
  * `type`: a valid Prism target. This controls the output type, e.g., a `.txt` file, a `.csv`, a `.json`, etc. Prism targets are classes that inherit the `prism.target.PrismTarget` class and implement the `save` method. See here.
  * `loc`: a string or path-like object that controls where the output saved.

**Example:**

{% tabs %}
{% tab title="Class-based tasks" %}

```python
import prism.task
import prism.target
import prism.decorators

class ExampleTask(prism.task.PrismTask):
    
    @prism.decorators.target(
        type=prism.target.Txt, 
        loc="/Users/hello_world.txt",
        **kwargs
    )
    def run(self, tasks, hooks):
        test_str = "Hello, world!"
        return test_str
```

{% endtab %}

{% tab title="Function-based tasks" %}

```python
from prism.decorators import task, target
import prism.target

@task(
    targets=[
        target(type=prism.target.Txt, loc="/Users/hello_world.txt")
    ]
)
def example_function(tasks, hooks):
    test_str = "Hello, world!"
    return test_str
```

{% endtab %}
{% endtabs %}
