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
From the above packages rpaframework-core and rpaframework-recognition are support packages, which themselves do not contain any libraries.
The RPA Framework project currently includes the following libraries:
The x
in the PACKAGE column means that library is included in the rpaframework package and for example. x,dialogs
means that RPA.Dialogs
library is provided in both the rpaframework and rpaframework-dialogs packages.
LIBRARY NAME | DESCRIPTION | PACKAGE |
Archive | Archiving TAR and ZIP files | x |
Browser.Selenium | Control browsers and automate the web | x |
Browser.Playwright | Newer way to control browsers | x |
Cloud.AWS | Use Amazon AWS services | x |
Cloud.Azure | Use Microsoft Azure services | x |
Cloud.Google | Use Google Cloud services | |
Crypto | Common hashing and encryption operations | x |
Database | Interact with databases | x |
Desktop | Cross-platform desktop automation | x |
Desktop.Clipboard | Interact with the system clipboard | x |
Desktop.OperatingSystem | Read OS information and manipulate processes | x |
Desktop.Windows | Automate Windows desktop applications | x |
Dialogs | Request user input during executions | x,dialogs |
Email.Exchange | E-Mail operations (Exchange protocol) | x |
Email.ImapSmtp | E-Mail operations (IMAP & SMTP) | x |
Excel.Application | Control the Excel desktop application | x |
Excel.Files | Manipulate Excel files directly | x |
FileSystem | Read and manipulate files and paths | x |
FTP | Interact with FTP servers | x |
HTTP | Interact directly with web APIs | x |
Images | Manipulate images | x |
JavaAccessBridge | Control Java applications | x |
JSON | Manipulate JSON objects | x |
Notifier | Notify messages using different services | x |
Outlook.Application | Control the Outlook desktop application | x |
Read and create PDF documents | x,pdf | |
Robocorp.Process | Use the Robocorp Process API | x |
Robocorp.WorkItems | Use the Robocorp Work Items API | x |
Robocorp.Vault | Use the Robocorp Secrets API | x |
Salesforce | Salesforce operations | x |
SAP | Control SAP GUI desktop client | x |
Tables | Manipulate, sort, and filter tabular data | x |
Tasks | Control task execution | x |
Twitter API interface | x | |
Windows | Alternative library for Windows automation | windows |
Word.Application | Control the Word desktop application | x |
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==12.0.0
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]==12.0.0
- rpaframework-google==1.0.0
- rpaframework-recognition==1.0.0
- rpaframework-windows==1.2.1
- 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==1.26.11 # 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.