uipath 2.0.4.dev5__tar.gz → 2.0.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of uipath might be problematic. Click here for more details.
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.github/workflows/build.yml +2 -0
- uipath-2.0.6/CONTRIBUTING.md +83 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/PKG-INFO +48 -35
- {uipath-2.0.4.dev5 → uipath-2.0.6}/README.md +46 -33
- uipath-2.0.6/docs/getting_started_agent.md +29 -0
- uipath-2.0.6/docs/getting_started_cli.md +124 -0
- uipath-2.0.6/docs/getting_started_cloud.md +3 -0
- uipath-2.0.6/docs/getting_started_sdk.md +83 -0
- uipath-2.0.6/docs/index.md +4 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/mkdocs.yml +9 -3
- {uipath-2.0.4.dev5 → uipath-2.0.6}/pyproject.toml +2 -2
- {uipath-2.0.4.dev5 → uipath-2.0.6}/uv.lock +6 -26
- uipath-2.0.4.dev5/CONTRIBUTING.md +0 -69
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.cursorrules +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.editorconfig +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.gitattributes +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.github/workflows/cd.yml +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.github/workflows/ci.yml +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.github/workflows/commitlint.yml +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.github/workflows/lint.yml +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.github/workflows/test.yml +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.gitignore +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.pre-commit-config.yaml +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.python-version +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.vscode/extensions.json +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/.vscode/settings.json +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/LICENSE +0 -0
- /uipath-2.0.4.dev5/docs/how_to_contribute.md → /uipath-2.0.6/docs/CONTRIBUTING.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/docs/actions.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/docs/assets/uipath-logo.svg +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/docs/assets.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/docs/buckets.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/docs/connections.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/docs/context_grounding.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/docs/jobs.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/docs/processes.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/docs/queues.md +0 -0
- /uipath-2.0.4.dev5/docs/index.md → /uipath-2.0.6/docs/sdk.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/justfile +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/py.typed +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/__init__.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/README.md +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/__init__.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_auth/_portal_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_utils/_common.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/cli_auth.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/cli_init.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/cli_publish.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/cli_run.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_config.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_execution_context.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_folder_context.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/_base_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/buckets_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/connections_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/connections_service.pyi +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/context_grounding_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/folder_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_uipath.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/_utils/constants.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/__init__.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/actions.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/assets.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/connections.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/context_grounding.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/job.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/processes.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/models/queues.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/src/uipath/py.typed +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/tests/__init__.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/tests/cli/test_init.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/tests/conftest.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.0.4.dev5 → uipath-2.0.6}/tests/sdk/test_config.py +0 -0
|
@@ -56,7 +56,9 @@ jobs:
|
|
|
56
56
|
if: ${{ steps.check_version.outputs.modified }} == 'true'
|
|
57
57
|
run: |
|
|
58
58
|
mkdir -p docs/plugins
|
|
59
|
+
mkdir -p docs/docs
|
|
59
60
|
ln -s ../../plugins/uipath-langchain-python docs/plugins/uipath-langchain-python
|
|
61
|
+
ln -s ../plugins/uipath-langchain-python/docs docs/docs
|
|
60
62
|
|
|
61
63
|
- name: Publish Docs
|
|
62
64
|
if: ${{ steps.check_version.outputs.modified }} == 'true'
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Contributing to UiPath SDK
|
|
2
|
+
|
|
3
|
+
## Local Development Setup
|
|
4
|
+
|
|
5
|
+
### Prerequisites
|
|
6
|
+
|
|
7
|
+
1. **Install Python ≥ 3.10**:
|
|
8
|
+
- Download and install Python 3.10 from the official [Python website](https://www.python.org/downloads/)
|
|
9
|
+
- Verify the installation by running:
|
|
10
|
+
```sh
|
|
11
|
+
python3.10 --version
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Alternative: [mise](https://mise.jdx.dev/lang/python.html)
|
|
15
|
+
|
|
16
|
+
2. **Install [uv](https://docs.astral.sh/uv/)**:
|
|
17
|
+
Follow the official installation instructions for your operating system.
|
|
18
|
+
|
|
19
|
+
3. **Create a virtual environment in the current working directory**:
|
|
20
|
+
```sh
|
|
21
|
+
uv venv
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
4. **Install dependencies**:
|
|
25
|
+
```sh
|
|
26
|
+
uv sync --all-extras --no-cache
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
For additional commands related to linting, formatting, and building, run `just --list`.
|
|
30
|
+
|
|
31
|
+
### Using the SDK Locally
|
|
32
|
+
|
|
33
|
+
1. Create a project directory:
|
|
34
|
+
```sh
|
|
35
|
+
mkdir project
|
|
36
|
+
cd project
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Initialize the Python project:
|
|
40
|
+
```sh
|
|
41
|
+
uv init . --python 3.10
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
3. Set the SDK path:
|
|
45
|
+
```sh
|
|
46
|
+
PATH_TO_SDK=/Users/YOUR_USERNAME/uipath-python
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
4. Install the SDK in editable mode:
|
|
50
|
+
```sh
|
|
51
|
+
uv add --editable ${PATH_TO_SDK}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
> **Note:** Instead of cloning the project into `.venv/lib/python3.10/site-packages/uipath`, this mode creates a file named `_uipath.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. To view the entries, run `python -c 'import sys; print(sys.path)'`.
|
|
55
|
+
|
|
56
|
+
## API Style Guide
|
|
57
|
+
|
|
58
|
+
### General Rule
|
|
59
|
+
- Use `key` instead of `id` for resource identifiers
|
|
60
|
+
|
|
61
|
+
### Standard Methods and Naming Conventions
|
|
62
|
+
|
|
63
|
+
#### Retrieve a Single Resource
|
|
64
|
+
- **Method Name:** `retrieve`
|
|
65
|
+
- **Purpose:** Obtain a specific resource instance using its unique identifier (using `key` instead of `id`)
|
|
66
|
+
- **Variations:**
|
|
67
|
+
- `retrieve_by_[field_name]` (for fields other than `key`)
|
|
68
|
+
|
|
69
|
+
#### List Multiple Resources
|
|
70
|
+
- **Method Name:** `list`
|
|
71
|
+
- **Purpose:** Fetch a collection of resources, optionally filtered by query parameters
|
|
72
|
+
- **Example:**
|
|
73
|
+
```python
|
|
74
|
+
resources = Resource.list(filters={})
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### Create a Resource
|
|
78
|
+
- **Method Name:** `create`
|
|
79
|
+
- **Purpose:** Add a new resource to the system
|
|
80
|
+
|
|
81
|
+
#### Update a Resource
|
|
82
|
+
- **Method Name:** `update`
|
|
83
|
+
- **Purpose:** Modify an existing resource
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.6
|
|
4
4
|
Summary: Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools.
|
|
5
5
|
Project-URL: Homepage, https://uipath.com
|
|
6
6
|
Project-URL: Repository, https://github.com/UiPath/uipath-python
|
|
@@ -23,7 +23,7 @@ Requires-Dist: tenacity>=9.0.0
|
|
|
23
23
|
Requires-Dist: tomli>=2.2.1
|
|
24
24
|
Requires-Dist: types-requests>=2.32.0.20250306
|
|
25
25
|
Provides-Extra: langchain
|
|
26
|
-
Requires-Dist: uipath-langchain
|
|
26
|
+
Requires-Dist: uipath-langchain<0.1.0,>=0.0.88; extra == 'langchain'
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
|
|
29
29
|
# UiPath Python SDK
|
|
@@ -32,28 +32,29 @@ Description-Content-Type: text/markdown
|
|
|
32
32
|
[](https://img.shields.io/pypi/v/uipath)
|
|
33
33
|
[](https://pypi.org/project/uipath/)
|
|
34
34
|
|
|
35
|
-
|
|
36
35
|
A Python SDK that enables programmatic interaction with UiPath Platform services including processes, assets, buckets, context grounding, data services, jobs, and more. The package also features a CLI for creation, packaging, and deployment of automations to UiPath Platform.
|
|
37
36
|
|
|
37
|
+
Use the [UiPath LangChain SDK](https://github.com/UiPath/uipath-langchain-python) to pack and publish LangGraph Agents.
|
|
38
|
+
|
|
38
39
|
## Table of Contents
|
|
39
40
|
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
|
|
41
|
+
- [Installation](#installation)
|
|
42
|
+
- [Configuration](#configuration)
|
|
43
|
+
- [Environment Variables](#environment-variables)
|
|
44
|
+
- [Basic Usage](#basic-usage)
|
|
45
|
+
- [Available Services](#available-services)
|
|
46
|
+
- [Examples](#examples)
|
|
47
|
+
- [Buckets Service](#buckets-service)
|
|
48
|
+
- [Context Grounding Service](#context-grounding-service)
|
|
49
|
+
- [Command Line Interface (CLI)](#command-line-interface-cli)
|
|
50
|
+
- [Authentication](#authentication)
|
|
51
|
+
- [Initialize a Project](#initialize-a-project)
|
|
52
|
+
- [Debug a Project](#debug-a-project)
|
|
53
|
+
- [Package a Project](#package-a-project)
|
|
54
|
+
- [Publish a Package](#publish-a-package)
|
|
55
|
+
- [Project Structure](#project-structure)
|
|
56
|
+
- [Development](#development)
|
|
57
|
+
- [Setting Up a Development Environment](#setting-up-a-development-environment)
|
|
57
58
|
|
|
58
59
|
## Installation
|
|
59
60
|
|
|
@@ -96,15 +97,24 @@ asset = sdk.assets.retrieve(name="MyAsset")
|
|
|
96
97
|
## Available Services
|
|
97
98
|
|
|
98
99
|
The SDK provides access to various UiPath services:
|
|
99
|
-
|
|
100
|
-
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
|
|
100
|
+
|
|
101
|
+
- `sdk.processes` - Manage and execute UiPath automation processes
|
|
102
|
+
|
|
103
|
+
- `sdk.assets` - Work with assets (variables, credentials) stored in UiPath
|
|
104
|
+
|
|
105
|
+
- `sdk.buckets` - Manage cloud storage containers for automation files
|
|
106
|
+
|
|
107
|
+
- `sdk.connections` - Handle connections to external systems
|
|
108
|
+
|
|
109
|
+
- `sdk.context_grounding` - Work with semantic contexts for AI-enabled automation
|
|
110
|
+
|
|
111
|
+
- `sdk.jobs` - Monitor and manage automation jobs
|
|
112
|
+
|
|
113
|
+
- `sdk.queues` - Work with transaction queues
|
|
114
|
+
|
|
115
|
+
- `sdk.actions` - Work with Action Center
|
|
116
|
+
|
|
117
|
+
- `sdk.api_client` - Direct access to the API client for custom requests
|
|
108
118
|
|
|
109
119
|
## Examples
|
|
110
120
|
|
|
@@ -167,10 +177,12 @@ uipath pack
|
|
|
167
177
|
Packages your project into a `.nupkg` file that can be deployed to UiPath.
|
|
168
178
|
|
|
169
179
|
**Note:** Your `pyproject.toml` must include:
|
|
170
|
-
|
|
171
|
-
-
|
|
180
|
+
|
|
181
|
+
- A description field (avoid characters: &, <, >, ", ', ;)
|
|
182
|
+
- Author information
|
|
172
183
|
|
|
173
184
|
Example:
|
|
185
|
+
|
|
174
186
|
```toml
|
|
175
187
|
description = "Your package description"
|
|
176
188
|
authors = [{name = "Your Name", email = "your.email@example.com"}]
|
|
@@ -187,12 +199,13 @@ Publishes the most recently created package to your UiPath Orchestrator.
|
|
|
187
199
|
## Project Structure
|
|
188
200
|
|
|
189
201
|
To properly use the CLI for packaging and publishing, your project should include:
|
|
190
|
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
202
|
+
|
|
203
|
+
- A `pyproject.toml` file with project metadata
|
|
204
|
+
- A `uipath.json` file (generated by `uipath init`)
|
|
205
|
+
- Any Python files needed for your automation
|
|
193
206
|
|
|
194
207
|
## Development
|
|
195
208
|
|
|
196
209
|
### Setting Up a Development Environment
|
|
197
210
|
|
|
198
|
-
Please read
|
|
211
|
+
Please read [CONTRIBUTING.md](./CONTRIBUTING.md) before submitting a pull request.
|
|
@@ -4,28 +4,29 @@
|
|
|
4
4
|
[](https://img.shields.io/pypi/v/uipath)
|
|
5
5
|
[](https://pypi.org/project/uipath/)
|
|
6
6
|
|
|
7
|
-
|
|
8
7
|
A Python SDK that enables programmatic interaction with UiPath Platform services including processes, assets, buckets, context grounding, data services, jobs, and more. The package also features a CLI for creation, packaging, and deployment of automations to UiPath Platform.
|
|
9
8
|
|
|
9
|
+
Use the [UiPath LangChain SDK](https://github.com/UiPath/uipath-langchain-python) to pack and publish LangGraph Agents.
|
|
10
|
+
|
|
10
11
|
## Table of Contents
|
|
11
12
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
13
|
+
- [Installation](#installation)
|
|
14
|
+
- [Configuration](#configuration)
|
|
15
|
+
- [Environment Variables](#environment-variables)
|
|
16
|
+
- [Basic Usage](#basic-usage)
|
|
17
|
+
- [Available Services](#available-services)
|
|
18
|
+
- [Examples](#examples)
|
|
19
|
+
- [Buckets Service](#buckets-service)
|
|
20
|
+
- [Context Grounding Service](#context-grounding-service)
|
|
21
|
+
- [Command Line Interface (CLI)](#command-line-interface-cli)
|
|
22
|
+
- [Authentication](#authentication)
|
|
23
|
+
- [Initialize a Project](#initialize-a-project)
|
|
24
|
+
- [Debug a Project](#debug-a-project)
|
|
25
|
+
- [Package a Project](#package-a-project)
|
|
26
|
+
- [Publish a Package](#publish-a-package)
|
|
27
|
+
- [Project Structure](#project-structure)
|
|
28
|
+
- [Development](#development)
|
|
29
|
+
- [Setting Up a Development Environment](#setting-up-a-development-environment)
|
|
29
30
|
|
|
30
31
|
## Installation
|
|
31
32
|
|
|
@@ -68,15 +69,24 @@ asset = sdk.assets.retrieve(name="MyAsset")
|
|
|
68
69
|
## Available Services
|
|
69
70
|
|
|
70
71
|
The SDK provides access to various UiPath services:
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
72
|
+
|
|
73
|
+
- `sdk.processes` - Manage and execute UiPath automation processes
|
|
74
|
+
|
|
75
|
+
- `sdk.assets` - Work with assets (variables, credentials) stored in UiPath
|
|
76
|
+
|
|
77
|
+
- `sdk.buckets` - Manage cloud storage containers for automation files
|
|
78
|
+
|
|
79
|
+
- `sdk.connections` - Handle connections to external systems
|
|
80
|
+
|
|
81
|
+
- `sdk.context_grounding` - Work with semantic contexts for AI-enabled automation
|
|
82
|
+
|
|
83
|
+
- `sdk.jobs` - Monitor and manage automation jobs
|
|
84
|
+
|
|
85
|
+
- `sdk.queues` - Work with transaction queues
|
|
86
|
+
|
|
87
|
+
- `sdk.actions` - Work with Action Center
|
|
88
|
+
|
|
89
|
+
- `sdk.api_client` - Direct access to the API client for custom requests
|
|
80
90
|
|
|
81
91
|
## Examples
|
|
82
92
|
|
|
@@ -139,10 +149,12 @@ uipath pack
|
|
|
139
149
|
Packages your project into a `.nupkg` file that can be deployed to UiPath.
|
|
140
150
|
|
|
141
151
|
**Note:** Your `pyproject.toml` must include:
|
|
142
|
-
|
|
143
|
-
-
|
|
152
|
+
|
|
153
|
+
- A description field (avoid characters: &, <, >, ", ', ;)
|
|
154
|
+
- Author information
|
|
144
155
|
|
|
145
156
|
Example:
|
|
157
|
+
|
|
146
158
|
```toml
|
|
147
159
|
description = "Your package description"
|
|
148
160
|
authors = [{name = "Your Name", email = "your.email@example.com"}]
|
|
@@ -159,12 +171,13 @@ Publishes the most recently created package to your UiPath Orchestrator.
|
|
|
159
171
|
## Project Structure
|
|
160
172
|
|
|
161
173
|
To properly use the CLI for packaging and publishing, your project should include:
|
|
162
|
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
174
|
+
|
|
175
|
+
- A `pyproject.toml` file with project metadata
|
|
176
|
+
- A `uipath.json` file (generated by `uipath init`)
|
|
177
|
+
- Any Python files needed for your automation
|
|
165
178
|
|
|
166
179
|
## Development
|
|
167
180
|
|
|
168
181
|
### Setting Up a Development Environment
|
|
169
182
|
|
|
170
|
-
Please read
|
|
183
|
+
Please read [CONTRIBUTING.md](./CONTRIBUTING.md) before submitting a pull request.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
## Using an Agent Based on LangGraph
|
|
4
|
+
|
|
5
|
+
To use the UiPath SDK with a LangGraph-based project:
|
|
6
|
+
|
|
7
|
+
1. Add the `uipath-langchain` package to your project:
|
|
8
|
+
|
|
9
|
+
```shell
|
|
10
|
+
uv add uipath-langchain
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
2. Initialize the project by running the following command in your activated virtual environment:
|
|
14
|
+
|
|
15
|
+
```shell
|
|
16
|
+
uipath init
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
> **Note:**: The `uipath init` command will execute your code to analyze its structure and collect information about inputs and outputs.
|
|
20
|
+
|
|
21
|
+
3. Package and publish your project:
|
|
22
|
+
```shell
|
|
23
|
+
uipath pack
|
|
24
|
+
uipath publish
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This will create and publish your package to the UiPath platform, making it available for use in your automation workflows.
|
|
28
|
+
|
|
29
|
+
For more examples and implementation patterns, check out the [sample projects](https://github.com/UiPath/uipath-langchain-python/tree/main/samples) in our GitHub repository.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
|
|
5
|
+
- Python 3.10 or higher
|
|
6
|
+
- `pip` or `uv` package manager
|
|
7
|
+
- A UiPath Platform account with appropriate permissions
|
|
8
|
+
|
|
9
|
+
## Creating a New Project
|
|
10
|
+
|
|
11
|
+
We recommend using `uv` for package management. To create a new project:
|
|
12
|
+
|
|
13
|
+
```shell
|
|
14
|
+
mkdir example
|
|
15
|
+
cd example
|
|
16
|
+
uv init . --python 3.10
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
This command creates a basic project structure.
|
|
20
|
+
|
|
21
|
+
### Installing the UiPath SDK
|
|
22
|
+
|
|
23
|
+
Add the UiPath SDK to your project:
|
|
24
|
+
|
|
25
|
+
```shell
|
|
26
|
+
uv add uipath
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
To verify the installation, run:
|
|
30
|
+
|
|
31
|
+
```shell
|
|
32
|
+
uv run uipath --version
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Authentication
|
|
36
|
+
|
|
37
|
+
To debug your script locally and publish your project, you need to authenticate with UiPath:
|
|
38
|
+
|
|
39
|
+
```shell
|
|
40
|
+
uv run uipath auth
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
This command opens a new browser window. If you encounter any issues, copy the URL from the terminal and paste it into your browser. After authentication, select your tenant by typing its corresponding number in the terminal.
|
|
44
|
+
|
|
45
|
+
After completing this step, your project will contain a `.env` file with your access token, UiPath URL, and other configuration details.
|
|
46
|
+
|
|
47
|
+
### Writing Your Code
|
|
48
|
+
|
|
49
|
+
Open `main.py` in your code editor. You can start with this example code:
|
|
50
|
+
|
|
51
|
+
```python
|
|
52
|
+
from dataclasses import dataclass
|
|
53
|
+
from typing import Optional
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@dataclass
|
|
57
|
+
class EchoIn:
|
|
58
|
+
message: str
|
|
59
|
+
repeat: Optional[int] = 1
|
|
60
|
+
prefix: Optional[str] = None
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
@dataclass
|
|
64
|
+
class EchoOut:
|
|
65
|
+
message: str
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def main(input: EchoIn) -> EchoOut:
|
|
69
|
+
result = []
|
|
70
|
+
for _ in range(input.repeat or 1):
|
|
71
|
+
line = input.message
|
|
72
|
+
if input.prefix:
|
|
73
|
+
line = f"{input.prefix}: {line}"
|
|
74
|
+
result.append(line)
|
|
75
|
+
|
|
76
|
+
return EchoOut(message="\n".join(result))
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Initializing the UiPath Project
|
|
80
|
+
|
|
81
|
+
To create a UiPath project, run the following command in your terminal:
|
|
82
|
+
|
|
83
|
+
```shell
|
|
84
|
+
uv run uipath init
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
> **Note:**: The `uipath init` command will execute your `main.py` file to analyze its structure and collect information about inputs and outputs.
|
|
88
|
+
|
|
89
|
+
This creates a `uipath.json` file containing the project metadata.
|
|
90
|
+
|
|
91
|
+
### Debugging Your Project
|
|
92
|
+
|
|
93
|
+
To debug your project, run:
|
|
94
|
+
|
|
95
|
+
```shell
|
|
96
|
+
uv run uipath run main.py '{"message": "test"}'
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
If you see output similar to the following, congratulations! You're almost ready to create your first coded package for UiPath:
|
|
100
|
+
|
|
101
|
+
```shell
|
|
102
|
+
[2025-04-11 10:13:58,857][INFO] {'message': 'test'}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Packaging and Publishing
|
|
106
|
+
|
|
107
|
+
Before packaging your project, add your details to the `pyproject.toml` file. Add the following line below the `description` field:
|
|
108
|
+
|
|
109
|
+
```toml
|
|
110
|
+
authors = [{ name = "Your name", email = "your.email@uipath.com" }]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Then, package your project:
|
|
114
|
+
|
|
115
|
+
```shell
|
|
116
|
+
uv run uipath pack
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Finally, publish your package. After selecting your publishing destination (tenant or personal workspace), you'll see details about your package and the success message:
|
|
120
|
+
|
|
121
|
+
```shell
|
|
122
|
+
Publishing most recent package: test.0.1.0.nupkg
|
|
123
|
+
Package published successfully!
|
|
124
|
+
```
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
|
|
5
|
+
- Python 3.10 or higher
|
|
6
|
+
- `pip` or `uv` package manager
|
|
7
|
+
- A UiPath Platform account with appropriate permissions
|
|
8
|
+
|
|
9
|
+
## Creating a New Project
|
|
10
|
+
|
|
11
|
+
We recommend using `uv` for package management. To create a new project:
|
|
12
|
+
|
|
13
|
+
```shell
|
|
14
|
+
mkdir example
|
|
15
|
+
cd example
|
|
16
|
+
uv init . --python 3.10
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
This command creates a basic project structure.
|
|
20
|
+
|
|
21
|
+
### Installing the UiPath SDK
|
|
22
|
+
|
|
23
|
+
Add the UiPath SDK to your project:
|
|
24
|
+
|
|
25
|
+
```shell
|
|
26
|
+
uv add uipath
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
To verify the installation, run:
|
|
30
|
+
|
|
31
|
+
```shell
|
|
32
|
+
uv run uipath --version
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Authentication
|
|
36
|
+
|
|
37
|
+
To debug your script locally and publish your project, you need to authenticate with UiPath:
|
|
38
|
+
|
|
39
|
+
```shell
|
|
40
|
+
uv run uipath auth
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
This command opens a new browser window. If you encounter any issues, copy the URL from the terminal and paste it into your browser. After authentication, select your tenant by typing its corresponding number in the terminal.
|
|
44
|
+
|
|
45
|
+
After completing this step, your project will contain a `.env` file with your access token, UiPath URL, and other configuration details.
|
|
46
|
+
|
|
47
|
+
### Configuring the Project
|
|
48
|
+
|
|
49
|
+
First, open `.env` in your code editor and specify the folder where you want to run the code. For example, to use the "Shared" folder:
|
|
50
|
+
|
|
51
|
+
```shell
|
|
52
|
+
UIPATH_FOLDER_PATH=Shared
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Writing the Client Code
|
|
56
|
+
|
|
57
|
+
Open `main.py` in your code editor and add the following code:
|
|
58
|
+
|
|
59
|
+
```python
|
|
60
|
+
from uipath import UiPath
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def main():
|
|
64
|
+
sdk = UiPath()
|
|
65
|
+
sdk.processes.invoke(
|
|
66
|
+
"test-pack",
|
|
67
|
+
input_arguments={
|
|
68
|
+
"message": "Hello, World!",
|
|
69
|
+
"repeat": 3,
|
|
70
|
+
"prefix": "[Echo]"
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
> **Note:**: `test-pack` is the name of the process we created from the [previous package.](./getting_started_cli.md)
|
|
76
|
+
|
|
77
|
+
### Verifying the Execution
|
|
78
|
+
|
|
79
|
+
Open your browser and navigate to UiPath. Go to the specified folder, and you'll see a new job for `test-pack` has been executed. The output will be:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
[Echo]: Hello, World! Echo: Hello, World! Echo: Hello, World!
|
|
83
|
+
```
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
- [CLI Guide](./getting_started_cli.md) - Learn how to use the UiPath Python CLI
|
|
3
|
+
- [SDK Guide](./getting_started_sdk.md) - Get started with the UiPath Python SDK
|
|
4
|
+
- [Agent Guide](./getting_started_agent.md) - Learn about working with LangGraph and UiPath
|
|
@@ -34,8 +34,14 @@ theme:
|
|
|
34
34
|
logo: assets/uipath-logo.svg
|
|
35
35
|
|
|
36
36
|
nav:
|
|
37
|
-
-
|
|
37
|
+
- Getting Started:
|
|
38
38
|
- index.md
|
|
39
|
+
- CLI: getting_started_cli.md
|
|
40
|
+
- SDK: getting_started_sdk.md
|
|
41
|
+
- Agent: getting_started_agent.md
|
|
42
|
+
- Cloud: getting_started_cloud.md
|
|
43
|
+
- UiPath SDK:
|
|
44
|
+
- sdk.md
|
|
39
45
|
- Actions: actions.md
|
|
40
46
|
- Assets: assets.md
|
|
41
47
|
- Buckets: buckets.md
|
|
@@ -44,13 +50,13 @@ nav:
|
|
|
44
50
|
- Jobs: jobs.md
|
|
45
51
|
- Queues: queues.md
|
|
46
52
|
- Processes: processes.md
|
|
47
|
-
-
|
|
53
|
+
- UiPathLangchain:
|
|
48
54
|
- plugins/uipath-langchain-python/README.md
|
|
49
55
|
- Chat models: plugins/uipath-langchain-python/docs/chat_models.md
|
|
50
56
|
- Context Grounding Chain: plugins/uipath-langchain-python/docs/context_grounding_chain.md
|
|
51
57
|
- Context Grounding Retriever: plugins/uipath-langchain-python/docs/context_grounding_retriever.md
|
|
52
58
|
- Interrupt models: plugins/uipath-langchain-python/docs/interrupt_models.md
|
|
53
|
-
- How To Contribute:
|
|
59
|
+
- How To Contribute: CONTRIBUTING.md
|
|
54
60
|
|
|
55
61
|
plugins:
|
|
56
62
|
- search
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uipath"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.6"
|
|
4
4
|
description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools."
|
|
5
5
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -56,7 +56,7 @@ dev = [
|
|
|
56
56
|
]
|
|
57
57
|
|
|
58
58
|
[project.optional-dependencies]
|
|
59
|
-
langchain = ["uipath-langchain
|
|
59
|
+
langchain = ["uipath-langchain>=0.0.88,<0.1.0"]
|
|
60
60
|
|
|
61
61
|
[tool.ruff]
|
|
62
62
|
line-length = 88
|
|
@@ -2320,7 +2320,7 @@ wheels = [
|
|
|
2320
2320
|
|
|
2321
2321
|
[[package]]
|
|
2322
2322
|
name = "uipath"
|
|
2323
|
-
version = "2.0.
|
|
2323
|
+
version = "2.0.6"
|
|
2324
2324
|
source = { editable = "." }
|
|
2325
2325
|
dependencies = [
|
|
2326
2326
|
{ name = "click" },
|
|
@@ -2366,7 +2366,7 @@ requires-dist = [
|
|
|
2366
2366
|
{ name = "tenacity", specifier = ">=9.0.0" },
|
|
2367
2367
|
{ name = "tomli", specifier = ">=2.2.1" },
|
|
2368
2368
|
{ name = "types-requests", specifier = ">=2.32.0.20250306" },
|
|
2369
|
-
{ name = "uipath-langchain", marker = "extra == 'langchain'", specifier = "
|
|
2369
|
+
{ name = "uipath-langchain", marker = "extra == 'langchain'", specifier = ">=0.0.88,<0.1.0" },
|
|
2370
2370
|
]
|
|
2371
2371
|
provides-extras = ["langchain"]
|
|
2372
2372
|
|
|
@@ -2388,7 +2388,7 @@ dev = [
|
|
|
2388
2388
|
|
|
2389
2389
|
[[package]]
|
|
2390
2390
|
name = "uipath-langchain"
|
|
2391
|
-
version = "0.0.
|
|
2391
|
+
version = "0.0.88"
|
|
2392
2392
|
source = { registry = "https://pypi.org/simple" }
|
|
2393
2393
|
dependencies = [
|
|
2394
2394
|
{ name = "httpx" },
|
|
@@ -2403,31 +2403,11 @@ dependencies = [
|
|
|
2403
2403
|
{ name = "python-dotenv" },
|
|
2404
2404
|
{ name = "requests" },
|
|
2405
2405
|
{ name = "types-requests" },
|
|
2406
|
-
{ name = "uipath
|
|
2406
|
+
{ name = "uipath" },
|
|
2407
2407
|
]
|
|
2408
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2408
|
+
sdist = { url = "https://files.pythonhosted.org/packages/80/0e/e05ecfc5a5b6b7f277dca18e61724c1a923ae4c9af39f71f2c8dce52343d/uipath_langchain-0.0.88.tar.gz", hash = "sha256:f06cc80c9499ae4309275119a9abf5d74c881aaef6731c6efb5b525a1291ef33", size = 1188502 }
|
|
2409
2409
|
wheels = [
|
|
2410
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2411
|
-
]
|
|
2412
|
-
|
|
2413
|
-
[[package]]
|
|
2414
|
-
name = "uipath-sdk"
|
|
2415
|
-
version = "0.0.112"
|
|
2416
|
-
source = { registry = "https://pypi.org/simple" }
|
|
2417
|
-
dependencies = [
|
|
2418
|
-
{ name = "click" },
|
|
2419
|
-
{ name = "httpx" },
|
|
2420
|
-
{ name = "pydantic" },
|
|
2421
|
-
{ name = "pytest-asyncio" },
|
|
2422
|
-
{ name = "python-dotenv" },
|
|
2423
|
-
{ name = "requests" },
|
|
2424
|
-
{ name = "tenacity" },
|
|
2425
|
-
{ name = "tomli" },
|
|
2426
|
-
{ name = "types-requests" },
|
|
2427
|
-
]
|
|
2428
|
-
sdist = { url = "https://files.pythonhosted.org/packages/39/df/5622c2f9f0aef4f1583eb3d02deaf991a00f12a78a1d1a4234679fa9c164/uipath_sdk-0.0.112.tar.gz", hash = "sha256:39c9540df41ae5d6da8240649347a0c0c95fb1200324093603c270598406f20a", size = 55208 }
|
|
2429
|
-
wheels = [
|
|
2430
|
-
{ url = "https://files.pythonhosted.org/packages/d7/04/18f01fec3148db875c77e75dd8a5203695b6624b806f8758f01240848f79/uipath_sdk-0.0.112-py3-none-any.whl", hash = "sha256:05361f301f2309cff80c2676e34e8c212a8e1c22fedad383ae2f31decde6e508", size = 81182 },
|
|
2410
|
+
{ url = "https://files.pythonhosted.org/packages/3a/7a/68ec6fcb4698af7f27c30a2107c349fb6115b84373dba38413346e8c5a57/uipath_langchain-0.0.88-py3-none-any.whl", hash = "sha256:78c92bebbd4a3651adcf914d3563a551222bef86f54cb3eb270d93a39ede7d28", size = 50641 },
|
|
2431
2411
|
]
|
|
2432
2412
|
|
|
2433
2413
|
[[package]]
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# Contributing to UiPath SDK
|
|
2
|
-
|
|
3
|
-
## Local Development Setup
|
|
4
|
-
|
|
5
|
-
### Prerequisites
|
|
6
|
-
|
|
7
|
-
1. **Install Python 3.13**:
|
|
8
|
-
- Download and install Python 3.13 from the official [Python website](https://www.python.org/downloads/)
|
|
9
|
-
- Verify the installation by running:
|
|
10
|
-
```sh
|
|
11
|
-
python3.13 --version
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
Alternative: [mise](https://mise.jdx.dev/lang/python.html)
|
|
15
|
-
|
|
16
|
-
2. **Install [uv](https://docs.astral.sh/uv/)**:
|
|
17
|
-
```sh
|
|
18
|
-
pip install uv
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
3. **Create a virtual environment in the current working directory**:
|
|
22
|
-
```sh
|
|
23
|
-
uv venv
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
4. **Install dependencies**:
|
|
27
|
-
```sh
|
|
28
|
-
uv sync --all-extras
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
See `just --list` for linting, formatting and build commands.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
### Use SDK Locally
|
|
35
|
-
1. Create a folder on your own device `mkdir project; cd project`
|
|
36
|
-
2. Initialize the python project `uv` `uv init . --python 3.9`
|
|
37
|
-
3. Obtain the project path `PATH_TO_SDK=/Users/YOU_USER/uipath-python`
|
|
38
|
-
4. Install the sdk in editable mode `uv add --editable ${PATH_TO_SDK}`
|
|
39
|
-
|
|
40
|
-
:information_source: Instead of cloning the project into `.venv/lib/python3.9/site-packages/uipath`, this mode creates a file named `_uipath.pth` inside `.venv/lib/python3.9/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.)
|
|
41
|
-
|
|
42
|
-
## API Style Guide
|
|
43
|
-
|
|
44
|
-
### General Rule:
|
|
45
|
-
- use key instead of ID
|
|
46
|
-
|
|
47
|
-
### Standard Methods & Naming Conventions
|
|
48
|
-
|
|
49
|
-
#### Retrieve a Single Resource
|
|
50
|
-
- **Method Name:** `retrieve` instead of get
|
|
51
|
-
- **Usage:** To obtain a specific resource instance using its unique identifier (using *key* instead of ID).
|
|
52
|
-
- **Extended:**
|
|
53
|
-
- `retrieve_by_[field_name]` (for fields other than key)
|
|
54
|
-
|
|
55
|
-
#### List Multiple Resources
|
|
56
|
-
- **Method Name:** `list`
|
|
57
|
-
- **Usage:** To fetch a collection of resources, optionally filtered by query parameters.
|
|
58
|
-
- **Example:**
|
|
59
|
-
```python
|
|
60
|
-
resources = Resource.list(filters={})
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
#### Create a Resource
|
|
64
|
-
- **Method Name:** `create`
|
|
65
|
-
- **Usage:** To add a new resource to the system.
|
|
66
|
-
|
|
67
|
-
#### Update a Resource
|
|
68
|
-
- **Method Name:** `update`
|
|
69
|
-
- **Usage:** To modify an existing resource.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|