rpasuite

RPA Suite

# RPA Suite **A comprehensive Python toolkit for Robotic Process Automation (RPA) development** [![PyPI Downloads](https://static.pepy.tech/badge/rpa-suite/month)](https://pepy.tech/projects/rpa_suite) [![PyPI version](https://img.shields.io/pypi/v/rpa-suite)](https://pypi.org/project/rpa-suite/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/rpa-suite)](https://pypi.org/project/rpa-suite/) [![License MIT](https://img.shields.io/github/license/docling-project/docling)](https://opensource.org/licenses/MIT) [Documentation](#documentation) • [Installation](#installation) • [Quick Start](#quick-start) • [Features](#features) • [Contributing](#contributing)

Overview

RPA Suite is a powerful and versatile Python library designed to streamline and optimize the development of Robotic Process Automation (RPA) projects. Built with simplicity and efficiency in mind, it provides a comprehensive set of tools that make automation development faster, more reliable, and more maintainable.

Whether you’re working with Selenium, Botcity, or building custom automation solutions, RPA Suite offers the essential utilities you need to accelerate your development process.

Key Features

Installation

Basic Installation

Install RPA Suite using pip:

pip install rpa-suite

Or using conda:

conda install -c conda-forge rpa-suite

Optional Dependencies

For advanced features, install additional dependencies:

# Browser automation (Selenium)
pip install selenium webdriver-manager

# OCR with AI (Iris module)
pip install docling

# Desktop automation (Artemis - included by default)
# pyautogui is already included

Quick Start

After installation, import and use RPA Suite immediately:

from rpa_suite import rpa

# Send an email
rpa.email.send_smtp(
    email_user="your@email.com",
    email_password="your_password",
    email_to="recipient@email.com",
    subject_title="Hello from RPA Suite",
    body_message="<p>This is a test email</p>"
)

# Schedule a function to run at a specific time
rpa.clock.exec_at_hour('14:30', my_function, arg1, arg2)

# Wait before executing a function
rpa.clock.wait_for_exec(30, my_function)

# Take a screenshot
rpa.file.screen_shot(filename="screenshot.png")

# Print colored messages
rpa.success_print("Operation completed successfully!")
rpa.error_print("An error occurred!")

Database Module Example

Track your automation executions with the Database module:

from rpa_suite import rpa

# Initialize database (SQLite by default)
db = rpa.database()

# Start tracking an execution
exec_id = db.start_execution(automation_name="My Automation Bot")

# Add items to process
item_id = db.add_item(execution_id=exec_id, item_identifier="item_001")

# Finish the execution
db.finish_execution(exec_id, status="completed")

Requirements

Core Dependencies

Optional Dependencies

Features in Detail

Time Management (Clock Module)

Control execution timing and scheduling:

Email (Email Module)

Send emails with full SMTP support:

Logging (Log Module)

Comprehensive logging system based on Loguru:

File Operations (File Module)

File and screenshot management:

Database Tracking (Database Module)

Complete execution lifecycle management:

Module Structure

Core Modules

Advanced Modules

Database Module Methods

Execution Management:

Item Processing:

Reprocessing:

Maintenance:

Statistics & Logging:

Documentation

For detailed documentation, usage examples, and API reference, visit:

Contributing

Contributions are welcome! If you’d like to contribute to RPA Suite:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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

Author

Camilo Costa de Carvalho

Release Notes

Version 1.6.6

New Features:

Improvements:

Version 1.6.5


**[⬆ Back to Top](#rpa-suite)** Made with ❤️ for the RPA community