# Launching the Application

You can run the standalone `pyETA.exe` file

{% hint style="warning" %}
currently in development.
{% endhint %}

***

#### Alternatively,

*Prerequisite*: Ensure `pyETA-toolbox` is installed through as a [package](https://vinayin.gitbook.io/pyeta/installation#installing-through-python-terminal) before proceeding.

```bash
pyeta --version
```

This section explains how to launch the tool using either the **Command Line Interface** (CLI) or **Graphical User Interface** (GUI).

### CLI (Command Line Interface)

The `pyETA` tool provides three CLI commands: `track`, `window`, and `validate`.

{% tabs %}
{% tab title="track" %}
**`pyETA track`**&#x20;

Tracks real-time eye-tracking data with customizable options.

**Syntax**:

```bash
pyETA track [parameters]
```

**Parameters**:

* `--push_stream`: Streams data to an LSL stream.
* `--data_rate`: Sets the data stream rate.
* `--use_mock`: Uses a mock eye tracker instead of a real device.
* `--fixation`: Includes fixation duration in the data stream.
* `--velocity`: Defines the velocity threshold for fixation detection.
* `--accept_screen_nans`: Preserves NaN values without correction.
* `--save_data`: Saves the tracked data to a file.
* `--verbose`: Enables detailed debug output.
* `--duration`: Specifies tracking duration (in seconds).
* `--screen_index`: Selects the screen for multi-screen setups.

**Example**:\
Run the tracker with a mock service and fixation detection for 10 seconds:

```bash
pyETA track --fixation --use_mock --duration 10
```

{% endtab %}

{% tab title="window" %}
**`pyETA window`**

Starts the validation process with presenting a window of grid 3 x 3, where the participant has to track the moving circle.

```bash
pyETA window [parameters]
```

**Parameters**:

* `--use_mock`: Uses a mock tracker.
* `--screen_index`: Specifies the screen index (e.g., `0` for the primary screen).
* `--verbose`: Enables verbose logging.

**Example**:\
Launch the validation window on the primary screen with a mock tracker:

```bash
pyETA window --use_mock --screen_index=0
```

{% endtab %}

{% tab title="validate" %}
**`pyETA validate`**&#x20;

Validates eye-tracker performance and exports metrics to csv when the parameter is passed.

**Syntax**:

```bash
pyETA validate [parameters]
```

**Parameters**:

* `--csv`: Specifies the output CSV file name (e.g., `myfile.csv`).

**Example**:\
Validate the tracker and save results to `myfile.csv`:

```bash
pyETA validate --csv=myfile.csv
```

{% endtab %}
{% endtabs %}

### GUI (Graphical User Interface)

<figure><img src="https://3298226141-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJsGfTPRLhKan8bbZXYpV%2Fuploads%2FWjfxjfgY7wra419tSo2h%2FScreenshot%202025-03-23%20at%2017.49.21.png?alt=media&#x26;token=d3a2e9c3-4a94-4529-acb0-1b058ea9a1d7" alt="Interface of pyETA application"><figcaption><p>Interface of pyETA</p></figcaption></figure>

Launch the GUI version of the tool with the following command:

```bash
pyETA application
```

{% hint style="info" %}
if you wish to capture the debug logs or terminal outputs, In any of the commands use the `--debug` flag.

generic example is shown below
{% endhint %}

```bash
pyETA --debug [command] [parameter]
```
