All Python tools you'll likely need to work with Automation Anywhere
aa-pytools is a comprehensive Python library designed to streamline integration between Python applications and Automation Anywhere RPA platform. It provides essential tools, decorators, and utilities that make RPA development more efficient and reliable.
- Advanced Logging System - Centralized, configurable logging with auto-configuration
- Safe Execution Decorator - Error handling with structured payloads and timing information
- Vault Credential Management - Secure credential fetching from Automation Anywhere vault
- Execution Management - Run and monitor Automation Anywhere executions from Python
- REST API Integration - Complete API client for Automation Anywhere services
-
@safe_execute- Execute functions safely with comprehensive error handling -
@with_vault("SAP")- Automatic credential injection from vault -
@retry_on_failure- Intelligent retry mechanism for transient failures -
@timeout(30)- Execution timeout protection -
@transactional- Transaction management for complex operations -
@queue_worker("INVOICES")- Queue-based processing capabilities -
@aa_safe_run- Automation Anywhere-specific safe execution
pip install aa-pytoolsRequirements:
- Python 3.13 or higher
- No external dependencies for core functionality
from aa_pytools.decorators import safe_execute
from aa_pytools.core import get_logger
# Use the safe execution decorator
@safe_execute
def risky_operation(data):
# Your code here
return process_data(data)
result = risky_operation(my_data)
if result["status"]:
print(f"Success: {result['result']}")
else:
print(f"Error: {result['error']}")
# Logging with auto-configuration
logger = get_logger("my_module")
logger.info("This message will be automatically formatted and handled")from aa_pytools.core import configure_logging, get_logger
from pathlib import Path
# Configure custom logging
configure_logging(
level="DEBUG",
log_file=Path("logs/app.log"),
console=True,
format_string="%(asctime)s | %(name)s | %(levelname)s | %(message)s"
)
logger = get_logger("my_component")
logger.debug("Detailed debugging information")- Auto-configuring loggers
- Flexible formatting options
- Console and file output
- Package-scoped logging hierarchy
- Exception catching and structured error reporting
- Performance timing information
- Optional trace information for debugging
- JSON or dictionary return formats
Detailed API documentation is available at https://aa-pytools.readthedocs.io (coming soon).
This project is currently in early development (version 0.0.1).
Implemented:
- β Core logging system with full configuration options
- β Safe execution decorator with comprehensive error handling
- β Complete test coverage for implemented features
- β Modern Python packaging with uv and pyproject.toml
In Progress:
- π Vault integration for credential management
- π REST API client for Automation Anywhere
- π Execution management system
- π Additional specialized decorators
We welcome contributions! Please see our Contributing Guide for detailed information on:
- Setting up the development environment
- Running tests and linting
- Making pull requests
- Code style and standards
This project is licensed under the MIT License - see the LICENSE file for details.
Inspired by and built upon concepts from:
rpa-automationanywhere- Last update: June 5, 2025automation-anywhere- Last update: August 8, 2023
- π§ Email: devaul.fs@gmail.com
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
Created by @AND3SIL4 at Net Applications
α΄
α΄α΄ α΄Κα΄α΄α΄α΄
ΚΚ:
ββββββ βββ ββ βββββ βββββ ββββββ ββ ββ ββ ββ
ββββββ ββ ββββ ββ ββ ββββ ββββββ ββ ββ ββββββ
ββ ββ ββ ββ βββββ βββββ ββββββ ββ ββββββ ββ
Ιͺ α΄ΚΙͺΙ΄α΄, α΄Κα΄Κα΄κ°α΄Κα΄ Ιͺ α΄α΄ πΏ