Skip to main content

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

ᴅᴇᴠᴇʟᴏᴘᴇᴅ ʙʏ:
▄████▄ ███  ██ ████▄  ████▄ ▄█████ ██ ██    ██  ██
██▄▄██ ██ ▀▄██ ██  ██  ▄▄██ ▀▀▀▄▄▄ ██ ██    ▀█████
██  ██ ██   ██ ████▀  ▄▄▄█▀ █████▀ ██ ██████    ██
ɪ ᴛʜɪɴᴋ, ᴛʜᴇʀᴇꜰᴏʀᴇ ɪ ᴀᴍ 🗿

Metadata

Release files for aa-pytools 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aa-pytools 1.0.0
File Size Uploaded Provenance
aa_pytools-1.0.0.tar.gz 10.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for aa-pytools 1.0.0
File Interpreter ABI Platform
aa_pytools-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.4 kB

Release files / aa_pytools-1.0.0.tar.gz

Download URL aa_pytools-1.0.0.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0e8857ea4900fc469f4fde0d6b4e4a94b87a7144ce4265bb7f8549d02298efe0
BLAKE2b-256 checksum
How to use checksums
a278555b470e9a2d7c7651e8fbab71cf17639466053350b5e991c2eb88f21dc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / aa_pytools-1.0.0-py3-none-any.whl

Download URL aa_pytools-1.0.0-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
10da7add5d96e40bef46c1ce63e258d10a6fa1e868059067f2546d0d00a52aee
BLAKE2b-256 checksum
How to use checksums
6f9ef18fcb9814ac2cf6d490a5464c0835a854fbd654cce1adcc880f45a0db38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Security for aa-pytools 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page