Skip to content

Latest commit

Β 

History

1,096 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


RPAForge is a modern, open-source Robotic Process Automation studio. Design automation workflows visually, debug them step by step, and execute them with a production-grade Python engine β€” no vendor lock-in, no license fees.

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

Download

Just want to use RPAForge? Grab the latest Windows installer from the Releases page. The installer bundles the Python engine, so no separate Python installation is required β€” install, launch, and start building automations.

To build from source instead, see the Quick Start below.


Features

Visual Designer Drag-and-drop workflow builder powered by React Flow β€” nodes, edges, sub-diagrams, zoom/pan, and a mini-map
AI Diagram Generation Describe a process in plain language and get a draft diagram β€” OpenAI-compatible or Anthropic models, validated and shown as an Apply/Discard preview before it ever touches your canvas
Integrated Debugger Breakpoints, step over/into/out, variable inspection, call stacks, conditional stops
14 RPA Libraries 120+ ready-made activities covering Desktop, Web, Excel, DataFrames, Database, OCR, HTTP, Credentials and more
Python Bridge Asyncio JSON-RPC server β€” Electron talks to Python over IPC with full type safety
Code Generation Diagram β†’ Python, with topology validation before every run
Security First SQL injection, path traversal, unsafe getattr, and IPC payload validation built-in (v0.3.1)
Persistent Storage IndexedDB autosave for processes, variables, and execution history
Multi-Language UI and library logging in English (en), Russian (ru), German (de), Spanish (es), Chinese (zh) β€” contribute new languages
Cross-Platform Windows, macOS, Linux β€” one codebase

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  RPAForge Studio  (Electron 42 + React 19 + TailwindCSS 4)      β”‚
β”‚                                                                  β”‚
β”‚   Designer β”‚ Debugger β”‚ Console β”‚ Recorder                      β”‚
β”‚   React Flow Β· Monaco Editor Β· Zustand Β· Vite 8                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚  JSON-RPC over IPC / Stdio
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Python Bridge Server  (asyncio JSON-RPC)                        β”‚
β”‚                                                                  β”‚
β”‚   StudioEngine Β· ProcessRunner Β· Debugger Β· Recorder             β”‚
β”‚   CodeGenerator Β· Topology Validator                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  RPA Libraries  (14 modules Β· 120+ activities)                    β”‚
β”‚                                                                  β”‚
β”‚  DesktopUI  WebUI   Excel    Database  OCR   Credentials         β”‚
β”‚  File       HTTP    DateTime String    Flow  Variables  Spy …    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Packages

rpaforge/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ core/           # Python engine β€” runner, debugger, bridge, codegen
β”‚   β”œβ”€β”€ libraries/      # RPA library modules
β”‚   β”œβ”€β”€ studio/         # Electron + React desktop application
β”‚   └── orchestrator/   # Control Tower (planned)
β”œβ”€β”€ docs/               # MKDocs documentation
β”œβ”€β”€ .github/            # CI/CD workflows (ci, release, codeql, docs)
└── tools/              # Release scripts

Quick Start

Prerequisites

Tool Version
Python 3.10 – 3.13
Node.js 20+
pnpm 9+ (or npm 9+)
Git any
VS Build Tools Windows only, for native modules

Install & Run

# 1. Clone
git clone https://github.com/chelslava/rpaforge.git
cd rpaforge

# 2. Python packages (development mode)
pip install -r requirements-dev.txt
pre-commit install
pip install -e packages/core
pip install -e packages/libraries

# 3. Studio UI
cd packages/studio
pnpm install          # or: npm ci --include=optional

# 4. Verify
cd ../..
pytest packages/core/tests -v
cd packages/studio && pnpm test && cd ../..

Start the Studio

cd packages/studio
pnpm dev              # Vite dev server + Electron hot-reload

Build a Distributable Installer

The installer bundles a frozen Python engine, so end users do not need Python installed β€” activities work out of the box.

cd packages/studio
pnpm build:dist       # freezes the engine + builds the NSIS installer

The installer is written to packages/studio/dist-electron/*.exe. Building one requires Python + PyInstaller on the build machine; see Building the Installer for prerequisites, bundled libraries, and CI details.

Platform-Specific Setup

πŸͺŸ Windows 11

Prerequisites:

  • Python 3.10+ (download from python.org)
  • Node.js 20+ and pnpm (download from nodejs.org)
  • Visual Studio Build Tools (required for native modules)
    # Download from: https://visualstudio.microsoft.com/visual-cpp-build-tools/

Installation:

# Clone and setup
git clone https://github.com/chelslava/rpaforge.git
cd rpaforge

# Create virtual environment
python -m venv .venv
.venv\Scripts\activate

# Install dependencies
pip install -r requirements-dev.txt
pre-commit install
pip install -e packages/core
pip install -e packages/libraries

# Install Studio
cd packages/studio
pnpm install
pnpm dev

Running from PowerShell:

# Python tests
pytest packages/core/tests -v
pytest packages/libraries/tests -v

# Studio
cd packages/studio
pnpm dev
pnpm test
🍎 macOS (Intel & Apple Silicon)

Prerequisites:

# Install Xcode Command Line Tools
xcode-select --install

# Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install required tools
brew install python@3.12 node pnpm

Installation:

# Clone and setup
git clone https://github.com/chelslava/rpaforge.git
cd rpaforge

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements-dev.txt
pre-commit install
pip install -e packages/core
pip install -e packages/libraries

# Install Studio
cd packages/studio
pnpm install
pnpm dev

Note for Apple Silicon (M1/M2/M3):

# Some dependencies may require native builds, ensure Xcode is fully installed
xcode-select --install
# If issues persist, reset Xcode path
sudo xcode-select --reset
🐧 Linux (Ubuntu/Debian/Fedora)

Prerequisites for Ubuntu/Debian:

# Update package lists
sudo apt-get update

# Install system dependencies
sudo apt-get install -y \
  python3.12 python3.12-venv python3.12-dev \
  nodejs npm \
  build-essential \
  git

# Install pnpm
npm install -g pnpm

Prerequisites for Fedora/RHEL:

# Install system dependencies
sudo dnf install -y \
  python3.12 python3.12-devel \
  nodejs npm \
  gcc g++ make \
  git

# Install pnpm
npm install -g pnpm

Prerequisites for desktop automation (optional):

# Ubuntu/Debian
sudo apt-get install -y libnss3 libnspr4 libatk-bridge2.0-0 libdrm2 libxkbcommon0 libgbm1

# Fedora/RHEL
sudo dnf install -y nss nspr atk libdrm libxkbcommon libgbm

Installation:

# Clone and setup
git clone https://github.com/chelslava/rpaforge.git
cd rpaforge

# Create virtual environment
python3.12 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements-dev.txt
pre-commit install
pip install -e packages/core
pip install -e packages/libraries

# Install Studio
cd packages/studio
pnpm install
pnpm dev

System Dependencies

OCR support (all platforms)
pip install -e "packages/libraries[ocr]"

# Windows: https://github.com/UB-Mannheim/tesseract/wiki
# Linux:   sudo apt-get install tesseract-ocr
# macOS:   brew install tesseract
Web automation (Playwright)
pip install -e "packages/libraries[web]"
playwright install    # Downloads browser binaries

RPA Libraries

Library Activities Description Extra deps
DesktopUI 20+ Windows UI automation β€” Win32, WPF, and Java pywinauto, pillow
WebUI 15+ Browser automation (Chrome, Firefox, and Safari) playwright
Excel 8+ Read/write XLSX spreadsheets openpyxl
DataFrames 28+ Tabular data operations β€” filter, sort, join, aggregate polars
Database 6+ SQL queries via SQLAlchemy ORM sqlalchemy
OCR 5+ Text recognition β€” Tesseract + barcodes pytesseract, pyzbar, pyautogui
Credentials 4+ Encrypted OS credential store cryptography, keyring
File 8+ File and folder operations β€”
HTTP 5+ REST API requests requests
DateTime 6+ Date/time utilities β€”
String 7+ String manipulation β€”
Variables 4+ Variable management and scoping β€”
Flow 4+ Control flow β€” if, while, for β€”
Spy 3+ Live UI element inspector overlay uiautomation, pynput

Install only what you need:

pip install -e "packages/libraries[desktop]"    # DesktopUI
pip install -e "packages/libraries[web]"         # WebUI
pip install -e "packages/libraries[dataframes]"  # DataFrames (polars)
pip install -e "packages/libraries[all]"         # Everything

Development

Common Commands

make test         # Run all Python tests
make lint         # ruff + mypy
make format       # ruff format
make docs         # Build MKDocs
make docs-serve   # Serve docs locally
make studio-dev   # Studio hot-reload

cd packages/studio
pnpm test         # Vitest
pnpm build        # Production build

Tech Stack

Backend (Python)

  • asyncio JSON-RPC bridge
  • Ruff for linting and formatting
  • pytest + pytest-asyncio for testing
  • mypy for type checking

Frontend (TypeScript)

  • React 19 + Vite 8
  • React Flow 11 β€” visual diagram editor
  • Zustand 5 β€” state management
  • Monaco Editor β€” embedded code editor
  • TailwindCSS 4 β€” utility styling
  • Electron 42 β€” desktop packaging

Project Status

Package Description Version Status
rpaforge-core Engine, debugger, JSON-RPC bridge v0.5.0 βœ… Stable
rpaforge-libraries 15 RPA library modules v0.5.0 βœ… Stable
rpaforge-studio Electron + React desktop UI v0.5.0 πŸ”„ Alpha
rpaforge-orchestrator Control Tower β€” πŸ”œ Planned

Roadmap

v0.4.x β€” AI Generation, XYFlow 12 & Plugin Architecture (released)

  • βœ… XYFlow 12 Migration: Modernized React Flow canvas with ELK auto-layout and sub-diagrams
  • βœ… AI Workflow Generation: Natural language prompt-to-diagram generation (OpenAI, Anthropic, Gemini, Ollama, Groq)
  • βœ… Plugin Architecture & SDK: Standard entry-points discovery (rpaforge.libraries) and @library/@activity decorators
  • βœ… Polars DataFrames: Tabular data manipulation with 28 activities and visual debugger inspector
  • βœ… Studio Git Integration: Embedded source control panel for staging, committing, and remote push/pull
  • βœ… Bundled PyInstaller Distribution: Standalone Windows installer with embedded Python, Chromium & Tesseract

v0.5.0 β€” Unattended Execution & Resilient Work Queues (released)

  • βœ… Headless Robot Runner CLI & Daemon (rpaforge-runner): Standalone unattended execution for Linux/Docker/Windows with supervisor and health probes
  • βœ… Transaction Work Queue Engine: Dispatcher-Performer pattern, priority scheduling, auto-retry, and dead-letter queues (rpaforge.queues)
  • βœ… Multi-Strategy Smart Selectors: Fallback chains (CSS/XPath β†’ Text Anchors β†’ OpenCV Computer Vision) with confidence scoring
  • βœ… Pluggable Secret Providers: HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, and .env support
  • βœ… Self-Contained Package Bundler (.forge): Signed portable automation packages with integrity verification
  • βœ… Resilient Python Bridge: Process watchdog, automatic crash recovery, in-flight request replay, and binary buffer IPC
  • βœ… Smart Studio UX: Canvas Quick-Add spotlight search, auto-connect on edge drop, and IntelliSense variable auto-completion

v0.6.0 β€” Agentic RPA & Intelligent Document Processing (IDP) (Q1 2027)

  • Agentic Workflow Nodes: LLM dynamic decision branching, autonomous tool-calling loops, and JSON schema extraction
  • Native IDP Library: Multi-modal document parsing for Invoices, Receipts, and IDs with table extraction
  • VLM Visual Element Grounding: Natural language visual UI targeting and AI-driven selector self-healing
  • Human-in-the-Loop (HITL): Interactive approval forms, Slack/Teams notifications, and workflow suspension

v0.7.0 β€” Enterprise Observability, Security & CI/CD (Q2 2027)

  • OpenTelemetry (OTel): Distributed tracing and metrics exported to Jaeger, Prometheus, Datadog
  • Robot Sandbox & Security Policies: Permission boundaries for filesystem, network egress, and system calls
  • Automated Workflow Testing (rpaforge-test): Unit testing with activity mocking, assertions, and coverage
  • Official CI/CD Actions: GitHub Actions and GitLab CI templates for automated linting and execution

v0.8.0 β€” Next-Gen Smart Studio & Interactive Debugging (Q3 2027)

  • Unified Hybrid Smart Recorder: Cross-application recording across Web, Win32, WPF, and terminal
  • Live Execution Rewind & Hot-Reload: Checkpoint rewinding and edit-and-continue debugging
  • Visual Workflow Diffing & Merge Tool: Graphical side-by-side branch comparison and merge conflicts resolver
  • Custom Activity Builder: Package sub-diagrams into reusable drag-and-drop activities

v0.9.0 β€” Control Tower / Orchestrator Platform (Beta - Q4 2027)

  • Centralized Control Tower Backend: FastAPI + PostgreSQL + Redis with REST/WebSocket APIs
  • Fleet Management & Agent Pairing: Instant mTLS registration, live heartbeats, and remote deployment
  • Centralized Scheduling & Event Triggers: Timezone-aware cron schedules, webhooks, and email triggers
  • Orchestrator Web Dashboard: Real-time fleet monitoring, execution streaming, and queue metrics

v1.0.0 β€” Production Ready & Enterprise LTS (Q4 2027)

  • High Availability (HA) Clustering: Multi-node orchestrator with automatic failover
  • Enterprise Identity (SSO / RBAC): SAML 2.0, OIDC, LDAP (Okta, Azure AD, Keycloak) with granular permissions
  • Full Cross-Platform Parity: Certified Windows, Linux, and macOS runners with Docker/K8s Helm charts
  • Enterprise Migration Assistant: Automated converter for UiPath (.xaml) and Robot Framework workflows
  • Community & Enterprise Marketplace: Certified connectors, verified plugin registry, and templates hub
  • Long-Term Support (LTS): 3-year stability SLA and backward compatibility guarantee


Documentation

Resource Description
Getting Started Installation and system setup
Quick Start Build your first automation
Developer Guide Architecture, patterns, code conventions
Contributing How to contribute code or docs
Translation Guide Add translations for new languages
Changelog Release notes
Roadmap Detailed feature roadmap

Contributing

Contributions are welcome β€” bug reports, feature requests, documentation, and code.

# Fork β†’ clone β†’ branch
git checkout -b feat/my-feature

# Make changes, then
make test && make lint

# Commit (Conventional Commits)
git commit -m "feat(libraries): add PDF extraction keyword"

# Open a PR against main

See CONTRIBUTING.md for the full workflow, coding standards, and PR checklist.

New to the project? Pick a task from the curated good first issues menu - each is small, self-contained, and priority-reviewed.


Acknowledgements


GitHub Discussions Β· Issue Tracker

Apache License 2.0 β€” Made with care by the RPAForge Community

About

Open Source RPA Studio built on Python - Visual process designer, recorder, debugger and orchestrator

Topics

Resources

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages