---
title: Install Python wheel
slug: /install
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import PartialOnboarding from '@site/docs/_partial-onboarding.mdx';

Install the OpenRAG Python wheel and use the [OpenRAG Terminal User Interface (TUI)](/get-started/tui) to install, run, and configure your OpenRAG deployment without running Docker commands.

If you prefer running Docker commands and manually editing `.env` files, see [Deploy with Docker](/get-started/docker).

## Prerequisites 

- [Python Version 3.10 to 3.13](https://www.python.org/downloads/release/python-3100/)
- [uv](https://docs.astral.sh/uv/getting-started/installation/)
- [Docker](https://docs.docker.com/get-docker/) or [Podman](https://podman.io/docs/installation) installed
- [Docker Compose](https://docs.docker.com/compose/install/) installed. If using Podman, use [podman-compose](https://docs.podman.io/en/latest/markdown/podman-compose.1.html) or alias Docker compose commands to Podman commands.
- Create an [OpenAI API key](https://platform.openai.com/api-keys)
- Optional: GPU support requires an NVIDIA GPU with CUDA support and compatible NVIDIA drivers installed on the OpenRAG host machine. If you don't have GPU capabilities, OpenRAG provides an alternate CPU-only deployment.

## Install Python wheel {#install-python-wheel}

The OpenRAG Python wheel is available on PyPI.
The wheel includes the TUI for installing, running, and managing OpenRAG.

1. Create a new project with a virtual environment using `uv`.
   For more information on virtual environments, see the [uv documentation](https://docs.astral.sh/uv/pip/environments).
   ```bash
   uv init YOUR_PROJECT_NAME
   cd YOUR_PROJECT_NAME
   ```
2. Add the OpenRAG wheel to your project and install it in the virtual environment.
   ```bash
   uv add openrag
   ```
3. Ensure all dependencies are installed and updated in your virtual environment.
   ```bash
   uv sync
   ```

4. Start the OpenRAG TUI.
   ```bash
   uv run openrag
   ```

## Setup OpenRAG with the TUI {#setup}

**Basic Setup** completes or auto-generates most of the required values to start OpenRAG.
**Basic Setup** does not set up OAuth connections for ingestion from Google Drive, OneDrive, or AWS.
For OAuth setup, use **Advanced Setup**.

If the TUI detects OAuth credentials, it enforces the **Advanced Setup** path.
If the TUI detects a `.env` file in the OpenRAG root directory, it will source any variables from the `.env` file.
<Tabs groupId="Setup method">
  <TabItem value="Basic setup" label="Basic setup" default>

   1. To install OpenRAG with **Basic Setup**, click **Basic Setup** or press <kbd>1</kbd>. 
   2. Click **Generate Passwords** to generate passwords for OpenSearch and Langflow.
   3. Paste your OpenAI API key in the OpenAI API key field.
   4. Click **Save Configuration**.
   5. To start OpenRAG, click **Start Container Services**.
      Startup pulls container images and runs them, so it can take some time.
      When startup is complete, the TUI displays the following:
      ```bash
      Services started successfully
      Command completed successfully
      ```
   6. To open the OpenRAG application, click **Open App**.
   7. Continue with [Application Onboarding](#application-onboarding).
  </TabItem>
  <TabItem value="Advanced setup" label="Advanced setup">
   1. To install OpenRAG with **Advanced Setup**, click **Advanced Setup** or press <kbd>2</kbd>. 
   2. Click **Generate Passwords** to generate passwords for OpenSearch and Langflow.
   3. Paste your OpenAI API key in the OpenAI API key field.
   4. Add your client and secret values for Google, Azure, or AWS OAuth.
   These values can be found in your OAuth provider.
   5. The OpenRAG TUI presents redirect URIs for your OAuth app.
   These are the URLs your OAuth provider will redirect back to after user sign-in.
   Register these redirect values with your OAuth provider as they are presented in the TUI.
   6. Click **Save Configuration**.
   7. To start OpenRAG, click **Start Container Services**.
      Startup pulls container images and runs them, so it can take some time.
      When startup is complete, the TUI displays the following:
      ```bash
      Services started successfully
      Command completed successfully
      ```
   8. To open the OpenRAG application, click **Open App**, press <kbd>6</kbd>, or navigate to `http://localhost:3000`.
   You will be presented with your provider's OAuth sign-in screen, and be redirected to the redirect URI after sign-in.
   Continue with Application Onboarding.

       Two additional variables are available for Advanced Setup:

       The `LANGFLOW_PUBLIC_URL` controls where the Langflow web interface can be accessed. This is where users interact with their flows in a browser.

       The `WEBHOOK_BASE_URL` controls where the endpoint for `/connectors/CONNECTOR_TYPE/webhook` will be available.
       This connection enables real-time document synchronization with external services.
       For example, for Google Drive file synchronization the webhook URL is `/connectors/google_drive/webhook`.
       
   9. Continue with [Application Onboarding](#application-onboarding).
  </TabItem>
</Tabs>

<PartialOnboarding />