> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/avnlp/vectordb/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install VectorDB using uv package manager

## Prerequisites

Before installing VectorDB, ensure you have:

* **Python 3.11 or higher** - VectorDB requires Python 3.11+
* **uv package manager** - VectorDB uses [uv](https://github.com/astral-sh/uv) for dependency management

<Warning>
  VectorDB requires Python 3.11 or later. Check your Python version with `python --version`
</Warning>

## Install uv

VectorDB uses uv for fast, reliable dependency management. If you don't already have uv installed:

<CodeGroup>
  ```bash pip theme={null}
  pip install uv
  ```

  ```bash curl (Unix) theme={null}
  curl -LsSf https://astral.sh/uv/install.sh | sh
  ```

  ```bash powershell (Windows) theme={null}
  powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  ```
</CodeGroup>

<Tip>
  uv is significantly faster than pip and provides better dependency resolution. Learn more at [uv documentation](https://github.com/astral-sh/uv).
</Tip>

## Install VectorDB

<Steps>
  <Step title="Clone the repository">
    Clone the VectorDB repository from GitHub:

    ```bash theme={null}
    git clone https://github.com/avnlp/vectordb.git
    cd vectordb
    ```
  </Step>

  <Step title="Install dependencies">
    Use uv to install all project dependencies:

    ```bash theme={null}
    uv sync
    ```

    This command will:

    * Create a virtual environment in `.venv/`
    * Install all production dependencies
    * Install development dependencies (tests, linting, type checking)

    <Info>
      The `uv sync` command reads from `pyproject.toml` and ensures all dependencies are installed with the correct versions.
    </Info>
  </Step>

  <Step title="Activate the virtual environment">
    Activate the virtual environment created by uv:

    <CodeGroup>
      ```bash Unix/macOS theme={null}
      source .venv/bin/activate
      ```

      ```bash Windows theme={null}
      .venv\Scripts\activate
      ```
    </CodeGroup>

    You should see `(.venv)` in your terminal prompt when the environment is active.
  </Step>

  <Step title="Verify installation">
    Verify that VectorDB is installed correctly:

    ```bash theme={null}
    python -c "import vectordb; print('VectorDB installed successfully!')"
    ```
  </Step>
</Steps>

## Environment variables

VectorDB uses environment variables for API keys and database connections. Create a `.env` file in your project root:

```bash .env theme={null}
# Vector Database API Keys
PINECONE_API_KEY=your_pinecone_key
QDRANT_API_KEY=your_qdrant_key
WEAVIATE_API_KEY=your_weaviate_key

# LLM API Keys (for RAG)
GROQ_API_KEY=your_groq_key
OPENAI_API_KEY=your_openai_key

# Database Paths (for local databases)
CHROMA_PATH=./chroma_data
MILVUS_URI=./milvus_data
```

<Note>
  You only need to configure the vector databases and LLMs you plan to use. VectorDB will work with whatever services you have credentials for.
</Note>

## Optional: Install for production only

If you only need production dependencies (no testing or development tools), you can exclude the dev group:

```bash theme={null}
uv sync --no-dev
```

## Next steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Build your first RAG pipeline
  </Card>

  <Card title="Configuration" icon="gear" href="/guides/configuration">
    Learn about configuration files
  </Card>
</CardGroup>
