A professional Python library for high-performance interaction with the Automation Anywhere A360 API.
Project description
Automation Anywhere A360 Python API Client
A high-performance Python library for interacting with the Automation Anywhere A360 (Control Room) API.
Business Value
This library enables you to automate the management and orchestration of the Automation Anywhere 360 infrastructure.By providing a structured, type-safe interface to the A360 Control Room, it allows you to:
- Programmatically manage devices, users, and lockers to reduce manual administrative overhead.
- Integrate A360 repository management and bot deployment into existing CI/CD workflows.
- Safely manage Credential Vault entries with built-in RSA encryption and optimized bulk retrieval.
- Monitor RPA performance with comprehensive bot metrics and execution history analysis.
- Execute API Tasks (HotBot) for high-frequency, low-latency automation needs.
- Orchestrate Bot Lifecycle (BLM) by automating the export and import of bots across environments.
Architecture
The project is built on modern Python standards with a focus on maintainability, security, and developer experience.
Core Services
The AAClient provides access to a comprehensive suite of 16 domain-specific services:
credentials: Secure management of Credential Vault entries.users: Control Room user and role management.lockers: Management of lockers, owners, and participants.devices: Monitoring and management of Bot Runners and device pools.repository: Interaction with the file repository (Upload, Download, Search).automations: Bot deployment (v3/v4), activity monitoring, and performance metrics.wlm: Workload Management (Queues, Work Items, and Models).audit: Retrieval and filtering of Control Room audit logs.api_task: Management and execution of API Tasks (HotBot).blm: Bot Lifecycle Management (Export, Import, and Promotion).aari: Orchestration of AARI processes and tasks.policy: Code analysis and policy management.license: Control Room license monitoring.scheduler: Management of automation schedules.triggers: Configuration of event-based triggers.ai_agent_studio: Integration with AI Agent Studio services.
Requirements
- Python: 3.10 or higher (Optimized for 3.14+ with
from __future__ import annotations) - Key Dependencies:
pydantic&pydantic-settings(v2, data validation andcamelCasealiasing)requests(HTTP communication with connection pooling)cryptography(RSA OAEP SHA-256 encryption)robocorp-vault(Secret container compatibility)
Usage
1. Initialization
from rpa_automationanywhere import AAClient
# Load connection details from .env (A360_USERNAME, A360_PASSWORD, A360_CONTROL_ROOM_URI)
with AAClient.from_env() as client:
print(f"Connected to: {client.api_client.base_url}")
devices = client.devices.list_devices()
2. Optimized Credential Retrieval
The client automatically handles A360's internal masking logic, ensuring sensitive values are correctly retrieved while optimizing network calls.
# Returns a robocorp.vault.SecretContainer for native compatibility
secret = client.credentials.get_secret("Legacy_ERP_Login")
print(f"Username: {secret.values['username']}")
# Even masked attributes are transparently fetched and available
print(f"Password: {secret.values['password']}")
3. RPA Metrics & Performance Analysis
Deliver actionable business insights using the built-in metrics engine.
metrics = client.automations.get_execution_metrics()
print(f"Overall Success Rate: {metrics.overall_success_rate:.2f}%")
for bot in metrics.bot_metrics:
print(f"Bot: {bot.file_name}")
print(f" - Success: {bot.success_count}/{bot.total_executions}")
print(f" - Avg Duration: {bot.avg_duration:.1f}s")
4. API Task Execution (HotBot)
Execute high-performance API Tasks by fetching access details and posting input data.
# 1. Get execution details
details = client.api_task.get_access_details(["/Bots/MyTaskBot"])
task = details.list[0]
# 2. Execute with input data
result = client.api_task.execute_task(
url=task.url,
headers=task.headers,
input_data={"customer_id": "12345"}
)
5. Bot Lifecycle Management (BLM)
Automate bot promotion between Dev, Test, and Prod environments.
# Export a bot package
export_req = BlmExportRequest(file_paths=["/Bots/MainBot"])
response = client.blm.export_bots(export_req)
# Wait for export to complete and download
status = client.blm.get_status(response.request_id, timeout=30)
archive_bytes = client.blm.download_exported_bots(status.download_file_id)
Security
- Exception Masking: Error messages are automatically truncated to prevent accidental leakage of sensitive data in logs.
- Payload Protection: All sensitive Vault attributes are encrypted locally using RSA OAEP SHA-256 before transmission.
- Persistent Sessions: Securely managed
requests.Sessionobjects handle authentication tokens and connection persistence.
Testing
The library includes a comprehensive test suite (70+ tests) with 100% coverage goals, utilizing pytest and advanced mocking.
pytest tests/
License
This project is licensed under the MIT License - see the LICENSE.txt file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rpa_automationanywhere-2.0.0.tar.gz.
File metadata
- Download URL: rpa_automationanywhere-2.0.0.tar.gz
- Upload date:
- Size: 113.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca9a336f9f8c78a1a52af809390e5d219008256b8d476f1388c5d364c1ab4299
|
|
| MD5 |
b07567f09c1bd39d95e164d44e789e69
|
|
| BLAKE2b-256 |
78eb2d828177e4167a3cd7dca9e809c42b38afcdd3d5e947b11d68d3c5fdb3d8
|
File details
Details for the file rpa_automationanywhere-2.0.0-py3-none-any.whl.
File metadata
- Download URL: rpa_automationanywhere-2.0.0-py3-none-any.whl
- Upload date:
- Size: 67.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79c4e50a57c8e7f0f4f5f4fc7c9a2d9ae693ee7059f3377e8bdb4e2eebcba025
|
|
| MD5 |
171bbd1c18c7a85c414dfcbc23340644
|
|
| BLAKE2b-256 |
f1e0108dedef68921d41b9bca2d564254ac6de613a74a1e1016fea8bed4ec30d
|