Metadata-Version: 2.4
Name: rpaforge-libraries
Version: 0.3.0
Summary: RPA automation libraries for RPAForge
Author: RPAForge Contributors
License: Apache-2.0
Project-URL: Homepage, https://github.com/chelslava/rpaforge
Project-URL: Repository, https://github.com/chelslava/rpaforge.git
Project-URL: Issues, https://github.com/chelslava/rpaforge/issues
Keywords: rpa,automation,desktop-automation,web-automation,ocr,excel
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: rpaforge-core>=0.3.0
Requires-Dist: cryptography>=41.0
Requires-Dist: requests>=2.28
Provides-Extra: desktop
Requires-Dist: pywinauto>=0.6.8; extra == "desktop"
Requires-Dist: pillow>=10.0; extra == "desktop"
Provides-Extra: web
Requires-Dist: playwright>=1.40; extra == "web"
Provides-Extra: ocr
Requires-Dist: pytesseract>=0.3.10; extra == "ocr"
Requires-Dist: easyocr>=1.7; extra == "ocr"
Requires-Dist: pillow>=10.0; extra == "ocr"
Provides-Extra: excel
Requires-Dist: openpyxl>=3.1; extra == "excel"
Provides-Extra: database
Requires-Dist: sqlalchemy>=2.0; extra == "database"
Provides-Extra: all
Requires-Dist: rpaforge-libraries[database,desktop,excel,ocr,web]; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"

# RPAForge Libraries

[![PyPI version](https://badge.fury.io/py/rpaforge-libraries.svg)](https://badge.fury.io/py/rpaforge-libraries)
[![Python Support](https://img.shields.io/pypi/pyversions/rpaforge-libraries.svg)](https://pypi.org/project/rpaforge-libraries/)

RPA automation libraries for RPAForge.

## Included Libraries

| Library | Description | Status |
|---------|-------------|--------|
| `DesktopUI` | Windows desktop automation (Win32, WPF) | 🟡 In Progress |
| `WebUI` | Web automation with Playwright | 🟡 In Progress |
| `OCR` | Text recognition with Tesseract/EasyOCR | 🟡 In Progress |
| `Excel` | Excel file operations | 🟡 In Progress |
| `Database` | Database operations with SQLAlchemy | 🟡 In Progress |
| `Credentials` | Secure credential management | 🟡 In Progress |

## Installation

```bash
# Core libraries
pip install rpaforge-libraries

# With optional dependencies
pip install rpaforge-libraries[desktop]   # Desktop UI automation
pip install rpaforge-libraries[web]       # Web UI automation
pip install rpaforge-libraries[ocr]       # OCR support
pip install rpaforge-libraries[excel]     # Excel operations
pip install rpaforge-libraries[all]       # All dependencies
```

## Usage

### Desktop UI

```robot
*** Settings ***
Library    RPAForge.DesktopUI

*** Tasks ***
Automate Notepad
    Open Application    notepad.exe
    Wait For Window     Untitled - Notepad    timeout=10s
    Input Text    Hello from RPAForge!
    ${text}=    Get Window Text
    Log    ${text}
    Close Window
```

### Web UI

```robot
*** Settings ***
Library    RPAForge.WebUI

*** Tasks ***
Login Example
    Open Browser    https://example.com/login
    Input Text      id:username    myuser
    Input Text      id:password    mypass
    Click Button    id:login-btn
    Wait For Page Load
    Close Browser
```

### Excel

```robot
*** Settings ***
Library    RPAForge.Excel

*** Tasks ***
Process Invoice
    Open Workbook    invoice.xlsx
    ${data}=    Read Worksheet    Sheet1
    FOR    ${row}    IN    @{data}
        Log    Processing: ${row}[Customer]
    END
    Close Workbook
```

## License

Apache License 2.0
