Skip to content

Commit 7a0e622

Browse files
committed
fix: update to the new contracts
1 parent 72d2a74 commit 7a0e622

55 files changed

Lines changed: 1768 additions & 2387 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ${{ matrix.os }}
1010
strategy:
1111
matrix:
12-
python-version: ["3.10", "3.11", "3.12", "3.13"]
12+
python-version: ["3.11", "3.12", "3.13"]
1313
os: [ubuntu-latest, windows-latest]
1414

1515
permissions:

.python-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.10
1+
3.11

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ See `just --list` for linting, formatting and build commands.
3333

3434
### Use SDK Locally
3535
1. Create a folder on your own device `mkdir project; cd project`
36-
2. Initialize the python project `uv` `uv init . --python 3.10`
37-
3. Obtain the project path `PATH_TO_SDK=/Users/YOU_USER/uipath-mcp-python/uipath-mcp`
36+
2. Initialize the python project `uv` `uv init . --python 3.11`
37+
3. Obtain the project path `PATH_TO_SDK=/Users/YOU_USER/uipath-llamaindex-python/uipath-llamaindex`
3838
4. Install the sdk in editable mode `uv add --editable ${PATH_TO_SDK}`
3939

40-
:information_source: Instead of cloning the project into `.venv/lib/python3.10/site-packages/uipath-mcp`, this mode creates a file named `_uipath-mcp.pth` inside `.venv/lib/python3.10/site-packages`. This file contains the value of `PATH_TO_SDK`, which is added to `sys.path`—the list of directories where python searches for packages. (Run `python -c 'import sys; print(sys.path)'` to see the entries.)
40+
:information_source: Instead of cloning the project into `.venv/lib/python3.11/site-packages/uipath-llamaindex`, this mode creates a file named `_uipath-mcp.pth` inside `.venv/lib/python3.11/site-packages`. This file contains the value of `PATH_TO_SDK`, which is added to `sys.path`—the list of directories where python searches for packages. (Run `python -c 'import sys; print(sys.path)'` to see the entries.)
4141

4242

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Check out these [sample projects](https://github.com/UiPath/uipath-llamaindex-py
1111

1212
## Requirements
1313

14-
- Python 3.10 or higher
14+
- Python 3.11 or higher
1515
- UiPath Automation Cloud account
1616

1717
## Installation
@@ -44,10 +44,12 @@ The SDK provides a command-line interface for creating, packaging, and deploying
4444
### Initialize a Project
4545

4646
```bash
47-
uipath init [WORKFLOW]
47+
uipath init
4848
```
4949

50-
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.
50+
Running `uipath init` will process the graph definitions in the `llama_index.json` file and create the corresponding `entry-points.json` file needed for deployment.
51+
52+
For more details on the configuration format, see the [UiPath configuration specifications](https://github.com/UiPath/uipath-python/blob/main/specs/README.md).
5153

5254
### Authentication
5355

@@ -98,8 +100,9 @@ Publishes the most recently created package to your UiPath Orchestrator.
98100
To properly use the CLI for packaging and publishing, your project should include:
99101

100102
- A `pyproject.toml` file with project metadata
101-
- A `llama_index.json` file
102-
- A `uipath.json` file (generated by `uipath init`)
103+
- A `llama_index.json` file with your graph definitions (e.g., `"workflows": {"agent": "main.py:agent"}`)
104+
- A `entry-points.json` file (generated by `uipath init`)
105+
- A `bindings.json` file (generated by `uipath init`) to configure resource overrides
103106
- Any Python files needed for your automation
104107

105108
## Development

docs/quick_start.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This guide provides step-by-step instructions for setting up, creating, publishi
88

99
Before proceeding, ensure you have the following installed:
1010

11-
- Python 3.10 or higher
11+
- Python 3.11 or higher
1212
- `pip` or `uv` package manager
1313
- A UiPath Automation Cloud account with appropriate permissions
1414
- An OpenAI API key
@@ -50,12 +50,12 @@ We recommend using `uv` for package management. To create a new project:
5050

5151
```shell
5252
# Initialize a new uv project in the current directory
53-
> uv init . --python 3.10
53+
> uv init . --python 3.11
5454

5555
# Create a new virtual environment
5656
# By default, uv creates a virtual environment in a directory called .venv
5757
> uv venv
58-
Using CPython 3.10.16 interpreter at: [PATH]
58+
Using CPython 3.11.16 interpreter at: [PATH]
5959
Creating virtual environment at: .venv
6060
Activate with: source .venv/bin/activate
6161

@@ -127,7 +127,7 @@ This command creates the following files:
127127
⠋ Initializing UiPath project ...
128128
✓ Created '.env' file.
129129
✓ Created 'agent.mermaid' file.
130-
✓ Created 'uipath.json' file.
130+
✓ Created 'entry-points.json' file.
131131
```
132132

133133
This command creates the following files:

pyproject.toml

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
[project]
22
name = "uipath-llamaindex"
3-
version = "0.0.38"
3+
version = "0.1.0"
44
description = "UiPath LlamaIndex SDK"
55
readme = { file = "README.md", content-type = "text/markdown" }
6-
requires-python = ">=3.10"
6+
requires-python = ">=3.11"
77
dependencies = [
8-
"llama-index>=0.12.38",
9-
"llama-index-embeddings-azure-openai>=0.3.8",
10-
"llama-index-llms-azure-openai>=0.3.2",
11-
"openinference-instrumentation-llama-index>=4.3.0",
12-
"uipath>=2.1.108, <2.2.0",
8+
"llama-index>=0.14.8",
9+
"llama-index-embeddings-azure-openai>=0.4.1",
10+
"llama-index-llms-azure-openai>=0.4.2",
11+
"openinference-instrumentation-llama-index>=4.3.9",
12+
"uipath>=2.2.7, <2.3.0",
1313
]
1414
classifiers = [
15-
"Development Status :: 3 - Alpha",
1615
"Intended Audience :: Developers",
1716
"Topic :: Software Development :: Build Tools",
18-
"Programming Language :: Python :: 3.10",
1917
"Programming Language :: Python :: 3.11",
2018
"Programming Language :: Python :: 3.12",
19+
"Programming Language :: Python :: 3.13",
2120
]
2221
maintainers = [
2322
{ name = "Marius Cosareanu", email = "marius.cosareanu@uipath.com" },
@@ -27,6 +26,9 @@ maintainers = [
2726
[project.entry-points."uipath.middlewares"]
2827
register = "uipath_llamaindex.middlewares:register_middleware"
2928

29+
[project.entry-points."uipath.runtime.factories"]
30+
llamaindex = "uipath_llamaindex.runtime:register_runtime_factory"
31+
3032
[project.urls]
3133
Homepage = "https://uipath.com"
3234
Repository = "https://github.com/UiPath/uipath-llamaindex-python"
@@ -69,22 +71,19 @@ plugins = [
6971
exclude = [
7072
"samples/.*", "testcases/.*"
7173
]
72-
7374
follow_imports = "silent"
7475
warn_redundant_casts = true
7576
warn_unused_ignores = true
7677
disallow_any_generics = true
7778
check_untyped_defs = true
7879
no_implicit_reexport = true
79-
8080
disallow_untyped_defs = false
8181

8282
[tool.pytest.ini_options]
8383
testpaths = ["tests"]
8484
python_files = "test_*.py"
8585
addopts = "-ra -q"
8686

87-
8887
[[tool.uv.index]]
8988
name = "testpypi"
9089
url = "https://test.pypi.org/simple/"

samples/action-center-hitl-agent/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ version = "0.0.1"
44
description = "UiPath LlamaIndex Simple HITL Agent"
55
authors = [{ name = "John Doe", email = "john.doe@myemail.com" }]
66
readme = { file = "README.md", content-type = "text/markdown" }
7-
requires-python = ">=3.10"
7+
requires-python = ">=3.11"
88
dependencies = [
9-
"uipath-llamaindex>=0.0.36, <0.1.0",
9+
"uipath-llamaindex>=0.1.0, <0.2.0",
1010
"llama-index-llms-openai>=0.2.2"
1111
]

samples/image-gen-agent/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ version = "0.0.4"
44
description = "UiPath LlamaIndex Image Generation Agent"
55
authors = [{ name = "John Doe", email = "john.doe@myemail.com" }]
66
readme = { file = "README.md", content-type = "text/markdown" }
7-
requires-python = ">=3.10"
7+
requires-python = ">=3.11"
88
dependencies = [
9-
"uipath-llamaindex>=0.0.36, <0.1.0",
9+
"uipath-llamaindex>=0.1.0, <0.2.0",
1010
"llama-index-llms-openai>=0.3.44",
1111
"llama-index-tools-openai-image-generation>=0.4.0"
1212
]

samples/multi-agent/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ version = "0.0.1"
44
description = "UiPath LlamaIndex Simple HITL Agent"
55
authors = [{ name = "John Doe", email = "john.doe@myemail.com" }]
66
readme = { file = "README.md", content-type = "text/markdown" }
7-
requires-python = ">=3.10"
7+
requires-python = ">=3.11"
88
dependencies = [
9-
"uipath-llamaindex>=0.0.36, <0.1.0",
9+
"uipath-llamaindex>=0.1.0, <0.2.0",
1010
"llama-index-llms-openai>=0.2.2"
1111
]

samples/multi-modal-book-writer-agent/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,6 @@ This sample demonstrates how UiPath can handle complex multi-modal workflows tha
6161

6262
## Dependencies
6363

64-
- Python ≥3.10
64+
- Python ≥ 3.11
6565
- UiPath LlamaIndex integration
6666
- OpenAI API (for text and image generation)

0 commit comments

Comments
 (0)