Table of Contents
RPA Framework is a collection of open-source libraries and tools for Robotic Process Automation (RPA), and it is designed to be used with both Robot Framework and Python. The goal is to offer well-documented and actively maintained core libraries for Software Robot Developers.
Learn more about RPA at Robocorp Documentation.
The project is:
- 100% Open Source
- Sponsored by Robocorp
- Optimized for Robocorp Control Room and Developer Tools
- Accepting external contributions
- Homepage: https://www.github.com/robocorp/rpaframework/
- Documentation: https://rpaframework.org/
- PyPI: https://pypi.org/project/rpaframework/
- Release notes: https://rpaframework.org/releasenotes.html
- RSS feed: https://rpaframework.org/releases.xml
The RPA Framework project currently includes the following libraries:
Archive | Archiving TAR and ZIP files |
Browser.Selenium | Control browsers and automate the web |
Browser.Playwright | Newer way to control browsers |
Cloud.AWS | Use Amazon AWS services |
Cloud.Azure | Use Microsoft Azure services |
Cloud.Google | Use Google Cloud services |
Crypto | Common hashing and encryption operations |
Database | Interact with databases |
Desktop | Cross-platform desktop automation |
Desktop.Clipboard | Interact with the system clipboard |
Desktop.OperatingSystem | Read OS information and manipulate processes |
Desktop.Windows | Automate Windows desktop applications |
Dialogs | Request user input during executions |
Email.Exchange | E-Mail operations (Exchange protocol) |
Email.ImapSmtp | E-Mail operations (IMAP & SMTP) |
Excel.Application | Control the Excel desktop application |
Excel.Files | Manipulate Excel files directly |
FileSystem | Read and manipulate files and paths |
FTP | Interact with FTP servers |
HTTP | Interact directly with web APIs |
Images | Manipulate images |
JavaAccessBridge | Control Java applications |
JSON | Manipulate JSON objects |
Notifier | Notify messages using different services |
Outlook.Application | Control the Outlook desktop application |
Read and create PDF documents | |
Robocorp.Process | Use the Robocorp Process API |
Robocorp.WorkItems | Use the Robocorp Work Items API |
Robocorp.Vault | Use the Robocorp Secrets API |
Salesforce | Salesforce operations |
SAP | Control SAP GUI desktop client |
Tables | Manipulate, sort, and filter tabular data |
Tasks | Control task execution |
Twitter API interface | |
Word.Application | Control the Word desktop application |
Learn about installing Python packages at Installing Python Packages.
Default installation method with Robocorp Developer Tools using conda.yaml:
channels:
- conda-forge
dependencies:
- python=3.7.5
- pip=20.1
- pip:
- rpaframework==11.6.1
To install all extra packages (including Playwright dependencies), you can use:
channels:
- conda-forge
dependencies:
- python=3.7.5
- tesseract=4.1.1
- pip=20.1
- nodejs=14.17.4
- pip:
- rpaframework[aws]==11.6.1
- rpaframework-google==0.3.0
- rpaframework-recognition==0.7.2
- robotframework-browser==10.0.3
rccPostInstall:
- rfbrowser init
Separate installation of PDF and Dialogs libraries without main rpaframework:
channels:
- conda-forge
dependencies:
- python=3.7.5
- pip=20.1
- pip:
- rpaframework-dialogs==0.4.2 # included in the rpaframework by default
- rpaframework-pdf==0.10.0 # included in the rpaframework by default
Note
Python 3.6 or higher is required
After installation the libraries can be directly imported inside Robot Framework:
*** Settings ***
Library RPA.Browser.Selenium
*** Tasks ***
Login as user
Open available browser https://example.com
Input text id:user-name ${USERNAME}
Input text id:password ${PASSWORD}
The libraries are also available inside Python:
from RPA.Browser.Selenium import Selenium
lib = Selenium()
lib.open_available_browser("https://example.com")
lib.input_text("id:user-name", username)
lib.input_text("id:password", password)
- rpaframework.org for library documentation
- Robocorp Documentation for guides and tutorials
- #rpaframework channel in Robot Framework Slack if you have open questions or want to contribute
- Robocorp Forum for discussions about RPA
- Communicate with your fellow Software Robot Developers and Robocorp experts at Robocorp Developers Slack
Found a bug? Missing a critical feature? Interested in contributing? Head over to the Contribution guide to see where to get started.
This project is open-source and licensed under the terms of the Apache License 2.0.