Skip to main content

This project contains useful tools to work with Automation Anywhere + Python

Project description

aa-pytools

PyPI version Python 3.13+ License: MIT

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.

๐Ÿš€ Features

Core Functionality

  • Advanced Logging System - Centralized, configurable logging with auto-configuration
  • Safe Execution Decorator - Error handling with structured payloads and timing information

Automation Anywhere Integration

  • 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

Specialized Decorators

  • @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

๐Ÿ“ฆ Installation

pip install aa-pytools

Requirements:

  • Python 3.13 or higher
  • No external dependencies for core functionality

๐ŸŽฏ Quick Start

Basic Usage

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")

Advanced Logging

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")

๐Ÿ“– Documentation

Core Components

Logging System (aa_pytools.core)

  • Auto-configuring loggers
  • Flexible formatting options
  • Console and file output
  • Package-scoped logging hierarchy

Safe Execution (aa_pytools.decorators.safe_execute)

  • Exception catching and structured error reporting
  • Performance timing information
  • Optional trace information for debugging
  • JSON or dictionary return formats

API Reference

Detailed API documentation is available at https://aa-pytools.readthedocs.io (coming soon).

๐Ÿงช Development Status

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

๐Ÿค Contributing

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

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

Inspired by and built upon concepts from:

  • rpa-automationanywhere - Last update: June 5, 2025
  • automation-anywhere - Last update: August 8, 2023

๐Ÿ“ž Support


Created by @AND3SIL4 at Net Applications

แด…แด‡แด แด‡สŸแดแด˜แด‡แด… ส™ส:
โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–„  โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ    โ–ˆโ–ˆ  โ–ˆโ–ˆ
โ–ˆโ–ˆโ–„โ–„โ–ˆโ–ˆ โ–ˆโ–ˆ โ–€โ–„โ–ˆโ–ˆ โ–ˆโ–ˆ  โ–ˆโ–ˆ  โ–„โ–„โ–ˆโ–ˆ โ–€โ–€โ–€โ–„โ–„โ–„ โ–ˆโ–ˆ โ–ˆโ–ˆ    โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ
โ–ˆโ–ˆ  โ–ˆโ–ˆ โ–ˆโ–ˆ   โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–€  โ–„โ–„โ–„โ–ˆโ–€ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ    โ–ˆโ–ˆ
ษช แด›สœษชษดแด‹, แด›สœแด‡ส€แด‡๊œฐแดส€แด‡ ษช แด€แด ๐Ÿ—ฟ

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

aa_pytools-1.0.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aa_pytools-1.0.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file aa_pytools-1.0.0.tar.gz.

File metadata

  • Download URL: aa_pytools-1.0.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for aa_pytools-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0e8857ea4900fc469f4fde0d6b4e4a94b87a7144ce4265bb7f8549d02298efe0
MD5 80b2d7a05d3e0145de99f09e18f6fcb4
BLAKE2b-256 a278555b470e9a2d7c7651e8fbab71cf17639466053350b5e991c2eb88f21dc3

See more details on using hashes here.

File details

Details for the file aa_pytools-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: aa_pytools-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for aa_pytools-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10da7add5d96e40bef46c1ce63e258d10a6fa1e868059067f2546d0d00a52aee
MD5 034db672fc637345cf9a80a16913064a
BLAKE2b-256 6f9ef18fcb9814ac2cf6d490a5464c0835a854fbd654cce1adcc880f45a0db38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page