> For the complete documentation index, see [llms.txt](https://utca.knowledgator.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://utca.knowledgator.com/core/component.md).

# Component

The base class for the main components of UTCA programs

This class contains basic methods for executing components and chaining them together.

## Module: [core](/framework-structure.md#core)

## Methods and properties

Main methods and properties

***

### <mark style="color:blue;">\_\_init\_\_</mark>

#### Arguments:

* <mark style="color:orange;">**name**</mark>**&#x20;(Optional\[str], optional):** Name for identification. If equals to None, class name will be used. Defaults to None.

***

### <mark style="color:blue;">\_\_or\_\_</mark>

Create ExecutionSchema from two components

#### Arguments:

* <mark style="color:orange;">**component**</mark>**&#x20;(**[**Component**](/core/component.md)**):** Component that will be added with this component to ExecutionSchema.

#### Returns:

* [**ExecutionSchema**](/structural-components/executionschema.md)**:** Result of combination of two components. When schema will be called, this component will be executed first.

***

### <mark style="color:blue;">\_\_call\_\_</mark>

Component Call

#### Arguments:

* <mark style="color:orange;">**input\_data**</mark>**&#x20;(**[**Transformable**](/core/schemas.md#transformable)**):** Data for processing
* <mark style="color:orange;">**evaluator**</mark>**&#x20;(Optional\[**[**Evaluator**](/core/evaluator.md)**], optional):** Evaluator in context of which component executed. If equals to None, default evaluator will be created. Defaults to None.

#### Returns:

* [**Transformable**](/core/schemas.md#transformable)**:** Result of executed component.

***

### <mark style="color:blue;">run</mark>

Run Component. This method should be called to run program.

#### Arguments:

* <mark style="color:orange;">**input\_data**</mark>**&#x20;(Optional\[Dict\[str, Any]], optional):** Data for processing. If equals to None, empty dict will be used for input\_data. Defaults to None.
* <mark style="color:orange;">**evaluator**</mark>**&#x20;(Optional\[**[**Evaluator**](/core/evaluator.md)**], optional):** Evaluator in context of which component executed. If equals to None, default evaluator will be created. Defaults to None.

#### Returns:

* **Dict\[str, Any]:** Result of execution.

***

### <mark style="color:blue;">set\_name</mark>

#### Arguments:

* <mark style="color:orange;">**name**</mark>**&#x20;(str):** New name.

#### Returns:

* [**Component**](/core/component.md)**:** self

***

### <mark style="color:blue;">name (str)</mark>

Name for identification. Usefull for logging and debugging.

***

***
