uipath-python
uipath-python copied to clipboard
A comprehensive Python SDK for interacting with UiPath's Automation Platform
UiPath Python SDK
A Python SDK that enables programmatic interaction with UiPath Cloud 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 Cloud Platform.
Use the UiPath LangChain SDK to pack and publish LangGraph Agents.
Use the UiPath LlamaIndex SDK to pack and publish LlamaIndex Agents.
This quickstart guide walks you through deploying your first agent to UiPath Cloud Platform.
Table of Contents
- Installation
- Configuration
- Environment Variables
- Basic Usage
- Available Services
- Examples
- Buckets Service
- Context Grounding Service
- Command Line Interface (CLI)
- Authentication
- Initialize a Project
- Debug a Project
- Package a Project
- Publish a Package
- Project Structure
- Development
- Setting Up a Development Environment
Installation
pip install uipath
using uv:
uv add uipath
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
Basic Usage
from uipath.platform import UiPath
# Initialize the SDK
sdk = UiPath()
# Execute a process
job = sdk.processes.invoke(
name="MyProcess",
input_arguments={"param1": "value1", "param2": 42}
)
# Work with assets
asset = sdk.assets.retrieve(name="MyAsset")
Available Services
The SDK provides access to various UiPath services:
-
sdk.processes- Manage and execute UiPath automation processes -
sdk.assets- Work with assets (variables, credentials) stored in UiPath -
sdk.buckets- Manage cloud storage containers for automation files -
sdk.connections- Handle connections to external systems -
sdk.context_grounding- Work with semantic contexts for AI-enabled automation -
sdk.jobs- Monitor and manage automation jobs -
sdk.queues- Work with transaction queues -
sdk.tasks- Work with Action Center -
sdk.api_client- Direct access to the API client for custom requests
Examples
Buckets Service
# Download a file from a bucket
sdk.buckets.download(
bucket_key="my-bucket",
blob_file_path="path/to/file.xlsx",
destination_path="local/path/file.xlsx"
)
Context Grounding Service
# Search for contextual information
results = sdk.context_grounding.search(
name="my-knowledge-index",
query="How do I process an invoice?",
number_of_results=5
)
Command Line Interface (CLI)
The SDK also provides a command-line interface for creating, packaging, and deploying automations:
Authentication
uipath auth
This command opens a browser for authentication and creates/updates your .env file with the proper credentials.
Initialize a Project
uipath init
The uipath.json file should include your entry points in the functions section:
{
"functions": {
"main": "main.py:main"
}
}
Running uipath init will process these function definitions and create the corresponding entry-points.json file needed for deployment.
For more details on the configuration format, see the UiPath configuration specifications.
Debug a Project
uipath run ENTRYPOINT [INPUT]
Executes a Python script with the provided JSON input arguments.
Package a Project
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:
description = "Your package description"
authors = [{name = "Your Name", email = "[email protected]"}]
Publish a Package
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.tomlfile with project metadata - A
uipath.jsonfile with your function definitions (e.g.,"functions": {"main": "main.py:main"}) - A
entry-points.jsonfile (generated byuipath init) - A
bindings.jsonfile (generated byuipath init) to configure resource overrides - Any Python files needed for your automation
Development
Setting Up a Development Environment
Please read CONTRIBUTING.md before submitting a pull request.