# Installation

Although Varphi is fundamentally a compiled language, we have created a *compiler driver* which handles both compiling your Varphi code and running the compiled code. We call this tool *the Varphi Interpreter*, or *vpi* for short.

The Varphi Interpreter is installable via two methods, which we cover below.

### Installation via pip (Recommended)

If you already have pip installed, you can easily install the Varphi Interpreter via

```bash
pip install varphi-interpreter
```

{% hint style="warning" %}
To avoid future issues, please create a Virtual Environment before installing. Simple instructions can be found below, but please refer to the [official guide](https://docs.python.org/3/library/venv.html) in case of any issues. \
\
On Windows:

```
python -m venv venv
venv\Scripts\activate
```

On Linux/macOS:

```
python -m venv venv
source venv/bin/activate
```

{% endhint %}

The Varphi Interpreter should then be accessible through the `vpi` command. For example, you can confirm the installation succeeded using

```bash
vpi --version
```

### Installation via GitHub Releases

We have pre-compiled some versions of the Varphi Interpreter for popular operating systems, namely the latest Windows, macOS, and Linux (Ubuntu) versions. The binaries are available on [GitHub Releases](https://github.com/varphi-lang/varphi/releases). These executables work right out of the box; just download the executable for your OS and invoke it over the command line. For example, to confirm the executable works, you can use

```bash
/path/to/the/downloaded/executable --version
```


---

# 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.varphi-lang.com/installation.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.
