# Installation
URL: https://docs.datarobot.com/en/docs/agentic-ai/agentic-develop/agentic-install.html

> Install required components for agentic workflow development.

# Installation

The [Agentic Starter template repository](https://github.com/datarobot-community/datarobot-agent-application) provides a ready-to-use application template for building and deploying agentic workflows with multi-agent frameworks, a FastAPI backend server, a React frontend, and an MCP server.
The template streamlines the process of setting up new agentic applications with minimal configuration requirements and supports local development and testing, as well as one-command deployments to production environments within DataRobot.

Review the following sections to install the prerequisite tools and configure your environment.

## System requirements

Ensure your system meets the minimum requirements for running the Agentic Starter template:

- Operating System: macOS or Linux (Windows is not supported)
- Python: Version 3.10 or higher

> [!WARNING] Operating system compatibility
> This repository is only compatible with macOS and Linux operating systems. If you are using Windows, consider using a [DataRobot codespace](https://docs.datarobot.com/en/docs/workbench/wb-notebook/codespaces/index.html), [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install), or a virtual machine running a supported OS.

## Install prerequisite tools

Before you begin, you'll need the following tools installed.
If you already have these tools installed, ensure that they are at the required version (or newer) indicated in the table below.
For example commands to install the tools, see the [Detailed installation commands](https://docs.datarobot.com/en/docs/agentic-ai/agentic-develop/agentic-install.html#detailed-installation-commands) section.

> [!TIP] Install tools system-wide
> Make sure to install the tools system-wide, rather than in a virtual environment, so they are available in your terminal sessions.

| Tool | Version | Description | Installation guide |
| --- | --- | --- | --- |
| dr-cli | >= 0.2.28 | The DataRobot CLI. | DataRobot CLI getting started (install and configure); GitHub dr-cli (alternative) |
| git | >= 2.30.0 | A version control system. | git installation guide |
| uv | >= 0.9.0 | A Python package manager. | uv installation guide |
| Pulumi | >= 3.163.0 | An Infrastructure as Code tool. | Pulumi installation guide |
| Taskfile | >= 3.43.3 | A task runner. | Taskfile installation guide |
| NodeJS | >= 24 | JavaScript runtime for frontend development. | NodeJS installation guide |

### Detailed installation commands

The following sections provide example installation commands for macOS and Linux (Debian/Ubuntu/DataRobot codespace).
Click the tab below that corresponds to your operating system:

**macOS:**
macOS users can install the prerequisite tools using Homebrew. First, install Homebrew if you don't already have it.

```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # If homebrew is not already installed
```

Then, install the prerequisite tools with it:

```
brew install datarobot-oss/taps/dr-cli uv pulumi/tap/pulumi go-task node git
```

**Linux:**
Linux users can install the prerequisite tools using the package manager for their distribution.

```
curl https://cli.datarobot.com/install | sh
sudo apt-get update
sudo apt-get install -y python3 python3-pip python3-venv
sudo apt-get install -y git
curl -LsSf https://astral.sh/uv/install.sh | sh
curl -fsSL https://get.pulumi.com | sh
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d
sudo apt-get install -y nodejs npm
```


> [!NOTE] Local Pulumi login
> If you do not have a Pulumi account, use `pulumi login --local` for local login or create a free account at [the Pulumi website](https://app.pulumi.com/signup).

### Restricted network setup

In environments without direct internet access (i.e., air-gapped environments), configure Pulumi to install the DataRobot plugin from an internal proxy instead of GitHub. Setting these environment variables redirects all Pulumi plugin downloads to your internal proxy and disables external update checks.

Add the following variables to your `.env` file:

```
# .env
PULUMI_SKIP_UPDATE_CHECK=1
PULUMI_DATAROBOT_DEFAULT_URL=http://internal-proxy-for-pulumi
# OPTIONAL
PULUMI_DATAROBOT_PLUGIN_VERSION=v0.10.27
```

| Environment variable | Required | Description |
| --- | --- | --- |
| PULUMI_SKIP_UPDATE_CHECK | Yes | Set to 1 to enable air-gapped mode. This disables external update checks and allows the use of a custom plugin server. |
| PULUMI_DATAROBOT_DEFAULT_URL | Yes | The base URL of your internal proxy server hosting the DataRobot Pulumi plugin. This replaces the default GitHub releases source. |
| PULUMI_DATAROBOT_PLUGIN_VERSION | No | The specific version of the DataRobot Pulumi plugin to install. If not specified, it defaults to the version bundled with the templates. |

> [!NOTE] How it works
> When `PULUMI_SKIP_UPDATE_CHECK=1` is set, deployment tasks execute `pulumi plugin install resource datarobot <version> --server <url>`. This ensures that plugin downloads are routed through your internal proxy instead of external sources.

> [!NOTE] Internal proxy requirements
> The internal proxy must host the DataRobot Pulumi plugin files in a structure compatible with Pulumi's plugin installation. It should mirror the directory and file structure of the [official GitHub releases](https://github.com/datarobot-community/pulumi-datarobot/releases).

#### Python packages

In restricted network environments, `uv sync` operations will fail when attempting to reach the public PyPI. To resolve this, configure `uv` to use your internal PyPI proxy.

To configure the proxy, edit the `agent/pyproject.toml` file in your agent project and uncomment the `[tool.uv.pip]` section, replacing the URL with your internal PyPI proxy. For example:

```
# agent/pyproject.toml
[tool.uv.pip]
extra-index-url = ["https://your-internal-pypi-proxy.example.com/simple/"]
```

> [!NOTE] Configuration impact
> Once configured, this setting ensures that all Python package installations are routed through your proxy. This applies to:
> 
> Local development (
> uv sync
> )
> Docker image builds
> Custom model deployments
> Playground operations
> Infrastructure deployments

> [!TIP] Finding the configuration
> The `[tool.uv.pip]` section is located at the end of the `pyproject.toml` file. If it is missing, add it manually.

---
