# Creating a process

A process allows you to execute a [Python script](https://ellipsis-package.readthedocs.io/en/latest/) on Ellipsis Drive using the Information Factory compute environment.

Processes are deployed via a Git repository and executed on server side.

***

#### Execution model

To benefit from server side performance optimizations, data must be accessed and written using the Ellipsis Python package. An example script can be found [here](https://github.com/ellipsis-drive/process-example/blob/main/chlorophyl.py).

This enables optimized data streaming when the process runs server side instead of client side.

***

#### Deployment

A process is defined as a Python script stored in a Git repository.

The repository must include:

* the main script
* [a requirements.txt file](https://github.com/ellipsis-drive/process-example/blob/main/requirements.txt) in the root directory

To add a process:

1.) Click New → More → New Process

<figure><img src="/files/mzaD3moOnsujwTw7OV5N" alt=""><figcaption></figcaption></figure>

2.) Provide the Git URL and specify the script path inside the repository

<figure><img src="/files/B8UmTMahsFHEoBZU0640" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Once deployed, the latest version of the Git repository is always used at runtime, ensuring you do not need to re-add your process when you update it.
{% endhint %}

***

#### Parameters

Your script can take free parameters that can be provided whenever the process is run.

These parameters are:

* defined when creating the process
* provided by the user at execution time
* passed to the script as command-line arguments

{% hint style="info" %}
**Each parameter requires:**

* name
* description
* example value
  {% endhint %}

<figure><img src="/files/GkqyIpe6GjFycWyFZcdT" alt=""><figcaption></figcaption></figure>

Example usage in script:

```
pathId = sys.argv[1]
```

All parameters are passed as strings and must be parsed accordingly to an appropriate format.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ellipsis-drive.com/extra/creating-a-process.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
