Skip to content

A comprehensive Python SDK for interacting with UiPath's automation platform

License

Notifications You must be signed in to change notification settings

UiPath/uipath-python

Repository files navigation

UiPath Python SDK

PyPI downloads PyPI - Version Python versions

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.

Use the UiPath LangChain SDK to pack and publish LangGraph Agents.

Table of Contents

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 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.actions - 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 [ENTRYPOINT]

Creates a uipath.json configuration file for your project. If the entrypoint is not provided, it will try to find a single Python file in the current directory.

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 = "your.email@example.com"}]

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.toml file with project metadata
  • A uipath.json file (generated by uipath init)
  • Any Python files needed for your automation

Development

Setting Up a Development Environment

Please read CONTRIBUTING.md before submitting a pull request.