Metadata-Version: 2.4
Name: uipath-llamaindex
Version: 0.0.34
Summary: UiPath LlamaIndex SDK
Project-URL: Homepage, https://uipath.com
Project-URL: Repository, https://github.com/UiPath/uipath-llamaindex-python
Maintainer-email: Marius Cosareanu <marius.cosareanu@uipath.com>, Cristian Pufu <cristian.pufu@uipath.com>
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.10
Requires-Dist: llama-index-embeddings-azure-openai>=0.3.8
Requires-Dist: llama-index-llms-azure-openai>=0.3.2
Requires-Dist: llama-index>=0.12.38
Requires-Dist: openinference-instrumentation-llama-index>=4.3.0
Requires-Dist: uipath<2.2.0,>=2.1.35
Description-Content-Type: text/markdown

# UiPath LlamaIndex Python SDK

[![PyPI downloads](https://img.shields.io/pypi/dm/uipath-llamaindex.svg)](https://pypi.org/project/uipath-llamaindex/)
[![Python versions](https://img.shields.io/pypi/pyversions/uipath-llamaindex.svg)](https://pypi.org/project/uipath-llamaindex/)

A Python SDK that enables developers to build and deploy LlamaIndex agents to the UiPath Cloud Platform. This package provides programmatic interaction with UiPath Cloud Platform services and human-in-the-loop (HITL) semantics through Action Center integration.

This package is an extension to the [UiPath Python SDK](https://github.com/UiPath/uipath-python).

Check out these [sample projects](https://github.com/UiPath/uipath-llamaindex-python/tree/main/samples) to see the SDK in action.

## Requirements

-   Python 3.10 or higher
-   UiPath Automation Cloud account

## Installation

```bash
pip install uipath-llamaindex
```

using `uv`:

```bash
uv add uipath-llamaindex
```

## Configuration

### Environment Variables

Create a `.env` file in your project root with the following variables:

```
UIPATH_URL=https://cloud.uipath.com/ACCOUNT_NAME/TENANT_NAME
UIPATH_ACCESS_TOKEN=YOUR_TOKEN_HERE
```

## Command Line Interface (CLI)

The SDK provides a command-line interface for creating, packaging, and deploying LlamaIndex Agents:

### Initialize a Project

```bash
uipath init [WORKFLOW]
```

Creates a `uipath.json` configuration file for your project. If `[WORKFLOW]` is omitted, it will create an entrypoint for each workflow specified in the `llama_index.json` file.

### Authentication

```bash
uipath auth
```

This command opens a browser for authentication and creates/updates your `.env` file with the proper credentials.

### Debug a Project

```bash
uipath run WORKFLOW [INPUT]
```

Executes the agent with the provided JSON input arguments.

### Package a Project

```bash
uipath pack
```

Packages your project into a `.nupkg` file that can be deployed to UiPath.

**Note:** Your `pyproject.toml` must include:

-   A description field (avoid characters: &, <, >, ", ', ;)
-   Author information

Example:

```toml
description = "Your package description"
authors = [{name = "Your Name", email = "your.email@example.com"}]
```

### Publish a Package

```bash
uipath publish
```

Publishes the most recently created package to your UiPath Orchestrator.

## Project Structure

To properly use the CLI for packaging and publishing, your project should include:

-   A `pyproject.toml` file with project metadata
-   A `llama_index.json` file
-   A `uipath.json` file (generated by `uipath init`)
-   Any Python files needed for your automation

## Development

### Setting Up a Development Environment

Please read our [contribution guidelines](https://github.com/UiPath/uipath-llamaindex-python/blob/main/CONTRIBUTING.md) before submitting a pull request.
