Metadata-Version: 2.4
Name: rpaforge-core
Version: 0.3.7
Summary: Native Python execution engine
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,debugger,execution-engine
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
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: psutil>=5.9.0
Provides-Extra: subprocess
Requires-Dist: psutil>=5.9; extra == "subprocess"
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: ruff>=0.15.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Requires-Dist: psutil>=5.9; extra == "dev"

[🇷🇺 Русский](README.ru.md)

# RPAForge Core

[![PyPI version](https://badge.fury.io/py/rpaforge-core.svg)](https://badge.fury.io/py/rpaforge-core)
[![Python Support](https://img.shields.io/pypi/pyversions/rpaforge-core.svg)](https://pypi.org/project/rpaforge-core/)
[![License](https://img.shields.io/github/license/chelslava/rpaforge)](LICENSE)

Core engine for RPAForge — native Python execution with full debugging, recording, and IPC bridge capabilities.

## Installation

```bash
pip install rpaforge-core
```

## Usage

```python
from rpaforge import StudioEngine
from rpaforge_libraries.DesktopUI import DesktopUI

engine = StudioEngine()
engine.executor.register_library("DesktopUI", DesktopUI())

builder = engine.create_process("Notepad Automation")
builder.add_task("Open and Type", [
    ("DesktopUI.Open Application", {"executable": "notepad.exe"}),
    ("DesktopUI.Wait For Window",  {"title": "Notepad", "timeout": "10s"}),
    ("DesktopUI.Input Text",       {"text": "Hello from RPAForge!"}),
    ("DesktopUI.Close Window",     {}),
])

result = engine.run(builder.build())
print(f"Status: {result.status}")
```

## Features

- **Engine**: Native Python execution with topology validation and code generation
- **Debugger**: Breakpoints, step over/into/out, variable inspection, call stack
- **Recorder**: Record user actions to automation diagrams
- **IPC Bridge**: Asyncio JSON-RPC server for Electron ↔ Python communication

## Development

```bash
# Install in development mode
pip install -e .

# Run tests
pytest tests/ -v

# Format code
ruff format src/
```

## License

Apache License 2.0
