rpaframework

robocorpApache-2.0活跃维护

一套面向 RPA 的开源 Python 库和工具集,兼容 Robot Framework,集成 OCR、文档解析和 NLP 能力,用来搭建业务流程自动化脚本。

Collection of open-source libraries and tools for Robotic Process Automation (RPA), designed to be used with both Robot Framework and Python

rpaframework-sema4ai-2.1.0发布于 2026-11-02 17:16 UTC1,582star280fork同步于 2026-11-10 11:47 UTC

怎么上手

由 README 提炼,执行前请确认
pip install rpaframework
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

面向 RPA 开发者的开源库集合,同时支持 Robot Framework 和 Python 编写软件机器人

一套面向 RPA 的开源 Python 库和工具集,兼容 Robot Framework,集成 OCR、文档解析和 NLP 能力,用来搭建业务流程自动化脚本。

核心能力

  • 提供 Excel、PDF、浏览器、邮件等数十个 RPA 专用库
  • 同时兼容 Robot Framework 关键字与纯 Python 调用
  • 按功能拆分为多个 PyPI 包,可按需安装
  • 针对 Robocorp Control Room 与开发者工具优化
  • 包含 Selenium 与 Playwright 两种浏览器自动化方案

容易踩的坑

Browser.Playwright 属于特殊包,需按 README 另行安装;rpaframework-core 和 rpaframework-recognition 只是支撑包,单独安装不含任何库;部分库如 AWS、Google、Hubspot 需安装对应的独立包

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本rpaframework-sema4ai-2.1.0
  1. rpaframework-sema4ai-2.1.0rpaframework-sema4ai 2.1.0最新正式版2026-11-02 · 2026-11-02 17:16 UTC

    What's changed

    • rpaframework 34.0.1: RPA.Twitter could not be imported on Python 3.13 and newer
    • rpaframework: the source distribution (.tar.gz) on PyPI is complete again. Since
    • rpaframework-sema4ai 2.1.0, final release, package deprecated: the library is

    Packages released

    • rpaframework 34.0.1
    • rpaframework-sema4ai 2.1.0

    Links

  2. rpaframework-34.0.1rpaframework 34.0.12026-11-02 · 2026-11-02 17:14 UTC
    查看更新说明

    What's changed

    • rpaframework 34.0.1: RPA.Twitter could not be imported on Python 3.13 and newer
    • rpaframework: the source distribution (.tar.gz) on PyPI is complete again. Since
    • rpaframework-sema4ai 2.1.0, final release, package deprecated: the library is

    Packages released

    • rpaframework 34.0.1
    • rpaframework-sema4ai 2.1.0

    Links

  3. rpaframework-sema4ai-2.0.0rpaframework-sema4ai 2.0.02026-11-01 · 2026-11-01 15:14 UTC
    查看更新说明

    What's changed

    • Breaking: All packages now require Python 3.11 or newer. Python 3.10 reached
    • RPA.Robocorp.Process: List Process Work Items now retrieves all result
    • New package rpaframework-decision with library RPA.Decision: typed,
    • Security: Bump pillow ≥13.0.0 (42 advisories, 5 of them CRITICAL: heap buffer
    • Security: Bump certifi ≥2026.10.18 (CRITICAL — bundled emSign root CAs whose
    • Security: Bump pypdf ≥6.21.4 (HIGH — infinite loops and unbounded memory use on
    • Security: Bump fpdf2 ≥2.8.8 (MEDIUM — implicit loading of external URLs and local
    • Security: Bump pyasn1 ≥0.6.5 (HIGH — quadratic-time denial of service in BER/CER/DER
    • Security: Bump dnspython ≥2.9.0 (HIGH — excessive CPU use in
    • Security: Bump msgpack ≥1.2.3 (HIGH — unbounded memory leak in the C extension on
    • Security: Bump setuptools ≥84.1.0 (LOW — Windows path escape via
    • Security: Bump Werkzeug ≥3.1.9 (MEDIUM — safe_join() allows Windows special
    • RPA.Windows: Add keyword Control Parent Window, the counterpart of
    • rpaframework-pdf, rpaframework-windows, rpaframework-recognition,
    • rpaframework-core 14.0.0
    • rpaframework-pdf 12.0.0
    • rpaframework-recognition 9.0.0
    • rpaframework-windows 12.0.0
    • rpaframework-decision 1.0.0
    • rpaframework-assistant 7.0.0
    • rpaframework-aws 9.0.0
    • rpaframework-google 13.0.0
    • rpaframework-hubspot 5.0.0
    • rpaframework-openai 6.0.0
    • rpaframework-sema4ai 2.0.0
    • rpaframework 34.0.0

    Packages released

    • rpaframework-core 14.0.0
    • rpaframework-pdf 12.0.0
    • rpaframework-recognition 9.0.0
    • rpaframework-windows 12.0.0
    • rpaframework-decision 1.0.0
    • rpaframework-assistant 7.0.0
    • rpaframework-aws 9.0.0
    • rpaframework-google 13.0.0
    • rpaframework-hubspot 5.0.0
    • rpaframework-openai 6.0.0
    • rpaframework-sema4ai 2.0.0
    • rpaframework 34.0.0

    Links

  4. rpaframework-windows-12.0.0rpaframework-windows 12.0.02026-11-01 · 2026-11-01 14:42 UTC
    查看更新说明

    What's changed

    • Breaking: All packages now require Python 3.11 or newer. Python 3.10 reached
    • RPA.Robocorp.Process: List Process Work Items now retrieves all result
    • New package rpaframework-decision with library RPA.Decision: typed,
    • Security: Bump pillow ≥13.0.0 (42 advisories, 5 of them CRITICAL: heap buffer
    • Security: Bump certifi ≥2026.10.18 (CRITICAL — bundled emSign root CAs whose
    • Security: Bump pypdf ≥6.21.4 (HIGH — infinite loops and unbounded memory use on
    • Security: Bump fpdf2 ≥2.8.8 (MEDIUM — implicit loading of external URLs and local
    • Security: Bump pyasn1 ≥0.6.5 (HIGH — quadratic-time denial of service in BER/CER/DER
    • Security: Bump dnspython ≥2.9.0 (HIGH — excessive CPU use in
    • Security: Bump msgpack ≥1.2.3 (HIGH — unbounded memory leak in the C extension on
    • Security: Bump setuptools ≥84.1.0 (LOW — Windows path escape via
    • Security: Bump Werkzeug ≥3.1.9 (MEDIUM — safe_join() allows Windows special
    • RPA.Windows: Add keyword Control Parent Window, the counterpart of
    • rpaframework-pdf, rpaframework-windows, rpaframework-recognition,
    • rpaframework-core 14.0.0
    • rpaframework-pdf 12.0.0
    • rpaframework-recognition 9.0.0
    • rpaframework-windows 12.0.0
    • rpaframework-decision 1.0.0
    • rpaframework-assistant 7.0.0
    • rpaframework-aws 9.0.0
    • rpaframework-google 13.0.0
    • rpaframework-hubspot 5.0.0
    • rpaframework-openai 6.0.0
    • rpaframework-sema4ai 2.0.0
    • rpaframework 34.0.0

    Packages released

    • rpaframework-core 14.0.0
    • rpaframework-pdf 12.0.0
    • rpaframework-recognition 9.0.0
    • rpaframework-windows 12.0.0
    • rpaframework-decision 1.0.0
    • rpaframework-assistant 7.0.0
    • rpaframework-aws 9.0.0
    • rpaframework-google 13.0.0
    • rpaframework-hubspot 5.0.0
    • rpaframework-openai 6.0.0
    • rpaframework-sema4ai 2.0.0
    • rpaframework 34.0.0

    Links

  5. rpaframework-recognition-9.0.0rpaframework-recognition 9.0.02026-11-01 · 2026-11-01 14:41 UTC
    查看更新说明

    What's changed

    • Breaking: All packages now require Python 3.11 or newer. Python 3.10 reached
    • RPA.Robocorp.Process: List Process Work Items now retrieves all result
    • New package rpaframework-decision with library RPA.Decision: typed,
    • Security: Bump pillow ≥13.0.0 (42 advisories, 5 of them CRITICAL: heap buffer
    • Security: Bump certifi ≥2026.10.18 (CRITICAL — bundled emSign root CAs whose
    • Security: Bump pypdf ≥6.21.4 (HIGH — infinite loops and unbounded memory use on
    • Security: Bump fpdf2 ≥2.8.8 (MEDIUM — implicit loading of external URLs and local
    • Security: Bump pyasn1 ≥0.6.5 (HIGH — quadratic-time denial of service in BER/CER/DER
    • Security: Bump dnspython ≥2.9.0 (HIGH — excessive CPU use in
    • Security: Bump msgpack ≥1.2.3 (HIGH — unbounded memory leak in the C extension on
    • Security: Bump setuptools ≥84.1.0 (LOW — Windows path escape via
    • Security: Bump Werkzeug ≥3.1.9 (MEDIUM — safe_join() allows Windows special
    • RPA.Windows: Add keyword Control Parent Window, the counterpart of
    • rpaframework-pdf, rpaframework-windows, rpaframework-recognition,
    • rpaframework-core 14.0.0
    • rpaframework-pdf 12.0.0
    • rpaframework-recognition 9.0.0
    • rpaframework-windows 12.0.0
    • rpaframework-decision 1.0.0
    • rpaframework-assistant 7.0.0
    • rpaframework-aws 9.0.0
    • rpaframework-google 13.0.0
    • rpaframework-hubspot 5.0.0
    • rpaframework-openai 6.0.0
    • rpaframework-sema4ai 2.0.0
    • rpaframework 34.0.0

    Packages released

    • rpaframework-core 14.0.0
    • rpaframework-pdf 12.0.0
    • rpaframework-recognition 9.0.0
    • rpaframework-windows 12.0.0
    • rpaframework-decision 1.0.0
    • rpaframework-assistant 7.0.0
    • rpaframework-aws 9.0.0
    • rpaframework-google 13.0.0
    • rpaframework-hubspot 5.0.0
    • rpaframework-openai 6.0.0
    • rpaframework-sema4ai 2.0.0
    • rpaframework 34.0.0

    Links

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    RPA Framework

    .. contents:: Table of Contents :local: :depth: 1

    .. include-docs-readme

    Introduction

    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

    .. _Robot Framework: https://robotframework.org .. _Robot Framework Foundation: https://robotframework.org/foundation/ .. _Python: https://www.python.org/ .. _Robocorp: https://robocorp.com .. _Robocorp Documentation: https://robocorp.com/docs-robot-framework .. _Control Room: https://robocorp.com/docs/control-room .. _Developer Tools: https://robocorp.com/downloads .. _Installing Python Packages: https://robocorp.com/docs/setup/installing-python-package-dependencies

    Links ^^^^^

    • 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>_

    .. image:: https://img.shields.io/github/actions/workflow/status/robocorp/rpaframework/main.yaml?style=for-the-badge :target: https://github.com/robocorp/rpaframework/actions/workflows/main.yaml :alt: Status

    .. image:: https://img.shields.io/pypi/dw/rpaframework?style=for-the-badge :target: https://pypi.python.org/pypi/rpaframework :alt: rpaframework

    .. image:: https://img.shields.io/pypi/l/rpaframework.svg?style=for-the-badge&color=brightgreen :target: http://www.apache.org/licenses/LICENSE-2.0.html :alt: License


    Packages

    .. image:: https://img.shields.io/pypi/v/rpaframework.svg?label=rpaframework&style=for-the-badge :target: https://pypi.python.org/pypi/rpaframework :alt: rpaframework latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-assistant.svg?label=rpaframework-assistant&style=for-the-badge :target: https://pypi.python.org/pypi/rpaframework-assistant :alt: rpaframework-assistant latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-aws.svg?label=rpaframework-aws&style=for-the-badge :target: https://pypi.python.org/pypi/rpaframework-aws :alt: rpaframework-aws latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-core.svg?label=rpaframework-core&style=for-the-badge :target: https://pypi.python.org/pypi/rpaframework-core :alt: rpaframework-core latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-google.svg?label=rpaframework-google&style=for-the-badge&color=blue :target: https://pypi.python.org/pypi/rpaframework-google :alt: rpaframework-google latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-hubspot.svg?label=rpaframework-hubspot&style=for-the-badge&color=blue :target: https://pypi.python.org/pypi/rpaframework-hubspot :alt: rpaframework-hubspot latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-openai.svg?label=rpaframework-openai&style=for-the-badge&color=blue :target: https://pypi.python.org/pypi/rpaframework-openai :alt: rpaframework-openai latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-decision.svg?label=rpaframework-decision&style=for-the-badge&color=blue :target: https://pypi.python.org/pypi/rpaframework-decision :alt: rpaframework-decision latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-pdf.svg?label=rpaframework-pdf&style=for-the-badge&color=blue :target: https://pypi.python.org/pypi/rpaframework-pdf :alt: rpaframework-pdf latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-recognition.svg?label=rpaframework-recognition&style=for-the-badge&color=blue :target: https://pypi.python.org/pypi/rpaframework-recognition :alt: rpaframework-recognition latest version

    .. image:: https://img.shields.io/pypi/v/rpaframework-windows.svg?label=rpaframework-windows&style=for-the-badge&color=blue :target: https://pypi.python.org/pypi/rpaframework-windows :alt: rpaframework-windows latest version


    From the above packages, rpaframework-core and rpaframework-recognition are support packages, which alone do not contain any libraries.

    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,pdf means that RPA.PDF library is provided in both the rpaframework and rpaframework-pdf packages.

    +----------------------------+-------------------------------------------------------+------------------------+ | LIBRARY NAME | DESCRIPTION | PACKAGE | +----------------------------+-------------------------------------------------------+------------------------+ | Archive_ | Archiving TAR and ZIP files | x | +----------------------------+-------------------------------------------------------+------------------------+ | Assistant_ | Display information to a user and request input. | assistant | +----------------------------+-------------------------------------------------------+------------------------+ | Browser.Selenium_ | Control browsers and automate the web | x | +----------------------------+-------------------------------------------------------+------------------------+ | Browser.Playwright_ | Newer way to control browsers | special (more below) | +----------------------------+-------------------------------------------------------+------------------------+ | Calendar_ | For date and time manipulations | x | +----------------------------+-------------------------------------------------------+------------------------+ | Cloud.AWS_ | Use Amazon AWS services | x,aws | +----------------------------+-------------------------------------------------------+------------------------+ | Cloud.Azure_ | Use Microsoft Azure services | x | +----------------------------+-------------------------------------------------------+------------------------+ | Cloud.Google_ | Use Google Cloud services | google | +----------------------------+-------------------------------------------------------+------------------------+ | 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 | +----------------------------+-------------------------------------------------------+------------------------+ | DocumentAI_ | Intelligent Document Processing wrapper | x | +----------------------------+-------------------------------------------------------+------------------------+ | DocumentAI.Base64AI_ | Intelligent Document Processing service | x | +----------------------------+-------------------------------------------------------+------------------------+ | DocumentAI.Nanonets_ | Intelligent Document Processing service | x | +----------------------------+-------------------------------------------------------+------------------------+ | 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 | +----------------------------+-------------------------------------------------------+------------------------+ | Hubspot_ | Access HubSpot CRM data objects | hubspot | +----------------------------+-------------------------------------------------------+------------------------+ | Images_ | Manipulate images | x | +----------------------------+-------------------------------------------------------+------------------------+ | JavaAccessBridge_ | Control Java applications | x | +----------------------------+-------------------------------------------------------+------------------------+ | JSON_ | Manipulate JSON objects | x | +----------------------------+-------------------------------------------------------+------------------------+ | MFA_ | Authenticate using one-time passwords (OTP) & OAuth2 | x | +----------------------------+-------------------------------------------------------+------------------------+ | MSGraph_ | Access Microsoft 365 via the Microsoft Graph API | x | +----------------------------+-------------------------------------------------------+------------------------+ | Notifier_ | Notify messages using different services | x | +----------------------------+-------------------------------------------------------+------------------------+ | Decision_ | Decision model (Jev, Laya) for typed decisions | decision | | OpenAI_ | Artificial Intelligence service | openai | +----------------------------+-------------------------------------------------------+------------------------+ | Outlook.Application_ | Control the Outlook desktop application | x | +----------------------------+-------------------------------------------------------+------------------------+ | PDF_ | 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 | +----------------------------+-------------------------------------------------------+------------------------+ | Robocorp.Storage_ | Use the Robocorp Asset Storage API | x | +----------------------------+-------------------------------------------------------+------------------------+ | Salesforce_ | Salesforce operations | x | +----------------------------+-------------------------------------------------------+------------------------+ | SAP_ | Control SAP GUI desktop client | x | +----------------------------+-------------------------------------------------------+------------------------+ | Slack_ | Send messages and interact with Slack workspaces | x | +----------------------------+-------------------------------------------------------+------------------------+ | Smartsheet_ | Access Smartsheet sheets | x | +----------------------------+-------------------------------------------------------+------------------------+ | Tables_ | Manipulate, sort, and filter tabular data | x | +----------------------------+-------------------------------------------------------+------------------------+ | Tasks_ | Control task execution | x | +----------------------------+-------------------------------------------------------+------------------------+ | Twitter_ | Twitter API interface | x | +----------------------------+-------------------------------------------------------+------------------------+ | Windows_ | Alternative library for Windows automation | x,windows | +----------------------------+-------------------------------------------------------+------------------------+ | Word.Application_ | Control the Word desktop application | x | +----------------------------+-------------------------------------------------------+------------------------+

    .. _Archive: https://rpaframework.org/libraries/archive/ .. _Assistant: https://rpaframework.org/libraries/assistant/ .. _Browser.Playwright: https://rpaframework.org/libraries/browser_playwright/ .. _Browser.Selenium: https://rpaframework.org/libraries/browser_selenium/ .. _Calendar: https://rpaframework.org/libraries/calendar/ .. _Cloud.AWS: https://rpaframework.org/libraries/cloud_aws/ .. _Cloud.Azure: https://rpaframework.org/libraries/cloud_azure/ .. _Cloud.Google: https://rpaframework.org/libraries/cloud_google/ .. _Crypto: https://rpaframework.org/libraries/crypto/ .. _Database: https://rpaframework.org/libraries/database/ .. _Desktop: https://rpaframework.org/libraries/desktop/ .. _Desktop.Clipboard: https://rpaframework.org/libraries/desktop_clipboard/ .. _Desktop.OperatingSystem: https://rpaframework.org/libraries/desktop_operatingsystem/ .. _DocumentAI: https://rpaframework.org/libraries/documentai .. _DocumentAI.Base64AI: https://rpaframework.org/libraries/documentai_base64ai/ .. _DocumentAI.Nanonets: https://rpaframework.org/libraries/documentai_nanonets/ .. _Email.Exchange: https://rpaframework.org/libraries/email_exchange/ .. _Email.ImapSmtp: https://rpaframework.org/libraries/email_imapsmtp/ .. _Excel.Application: https://rpaframework.org/libraries/excel_application/ .. _Excel.Files: https://rpaframework.org/libraries/excel_files/ .. _FileSystem: https://rpaframework.org/libraries/filesystem/ .. _FTP: https://rpaframework.org/libraries/ftp/ .. _HTTP: https://rpaframework.org/libraries/http/ .. _Hubspot: https://rpaframework.org/libraries/hubspot/ .. _Images: https://rpaframework.org/libraries/images/ .. _JavaAccessBridge: https://rpaframework.org/libraries/javaaccessbridge/ .. _JSON: https://rpaframework.org/libraries/json/ .. _MFA: https://rpaframework.org/libraries/mfa/ .. _MSGraph: https://rpaframework.org/libraries/msgraph/ .. _Notifier: https://rpaframework.org/libraries/notifier/ .. _Decision: https://rpaframework.org/libraries/decision/ .. _OpenAI: https://rpaframework.org/libraries/openai/ .. _Outlook.Application: https://rpaframework.org/libraries/outlook_application/ .. _PDF: https://rpaframework.org/libraries/pdf/ .. _Robocorp.Process: https://rpaframework.org/libraries/robocorp_process/ .. _Robocorp.WorkItems: https://rpaframework.org/libraries/robocorp_workitems/ .. _Robocorp.Vault: https://rpaframework.org/libraries/robocorp_vault/ .. _Robocorp.Storage: https://rpaframework.org/libraries/robocorp_storage/ .. _Salesforce: https://rpaframework.org/libraries/salesforce/ .. _SAP: https://rpaframework.org/libraries/sap/ .. _Slack: https://rpaframework.org/libraries/slack/ .. _Smartsheet: https://rpaframework.org/libraries/smartsheet/ .. _Tables: https://rpaframework.org/libraries/tables/ .. _Tasks: https://rpaframework.org/libraries/tasks/ .. _Twitter: https://rpaframework.org/libraries/twitter/ .. _Windows: https://rpaframework.org/libraries/windows/ .. _Word.Application: https://rpaframework.org/libraries/word_application/

    Installation of RPA.Browser.Playwright

    The RPA.Browser.Playwright at the moment requires special installation, because of the package size and the post install step it needs to be fully installed.

    Minimum required conda.yaml to install Playwright:

    .. code-block:: yaml

    channels:
      - conda-forge
    dependencies:
      - python=3.11.13
      - nodejs=22.9.0
      - pip=24.0
      - pip:
        - robotframework-browser==18.8.1
        - rpaframework==31.1.2
    rccPostInstall:
      - rfbrowser init
    

    Installation

    Learn about installing Python packages at Installing Python Packages_.

    Default installation method with Robocorp Developer Tools_ using conda.yaml:

    .. code-block:: yaml

    channels: - conda-forge dependencies: - python=3.11.13 - pip=24.0 - pip: - rpaframework==31.1.2

    To install all extra packages (including Playwright dependencies), you can use:

    .. code-block:: yaml

    channels: - conda-forge dependencies: - python=3.11.13 - tesseract=5.4.1 - nodejs=22.9.0 - pip=24.0 - pip: - robotframework-browser==18.8.1 - rpaframework==31.1.2 - rpaframework-aws==5.3.3 - rpaframework-google==9.0.2 - rpaframework-recognition==5.2.5 rccPostInstall: - rfbrowser init

    Separate installation of AWS, PDF and Windows libraries without the main rpaframework:

    .. code-block:: yaml

    channels: - conda-forge dependencies: - python=3.11.13 - pip=24.0 - pip: - rpaframework-aws==5.3.3 # included in the rpaframework as an extra - rpaframework-pdf==7.3.3 # included in the rpaframework by default - rpaframework-windows==7.5.2 # included in the rpaframework by default

    Installation method with pip using Python venv_:

    .. code-block:: shell

    python -m venv .venv source .venv/bin/activate pip install rpaframework

    .. note:: Python 3.9.2 or higher is required (tested up to 3.13)

    Example

    After installation the libraries can be directly imported inside Robot Framework_:

    .. code:: robotframework

    *** 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_:

    .. code:: 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)
    

    Here is another example showing how to read an Excel file and filter rows using RPA.Excel.Files_ and RPA.Tables_ together:

    .. code:: robotframework

    *** Settings ***
    Library    RPA.Excel.Files
    Library    RPA.Tables
    
    *** Tasks ***
    Filter active employees
        Open workbook    employees.xlsx
        ${table}=    Read worksheet as table    header=True
        Close workbook
        ${active}=    Filter table by column    ${table}    Status    ==    Active
        Log    Found ${active.size} active employees
    

    And the same example in Python_:

    .. code:: python

    from RPA.Excel.Files import Files
    from RPA.Tables import Tables
    
    excel = Files()
    tables = Tables()
    
    excel.open_workbook("employees.xlsx")
    table = excel.read_worksheet_as_table(header=True)
    excel.close_workbook()
    
    active = tables.filter_table_by_column(table, "Status", "==", "Active")
    print(f"Found {active.size} active employees")
    

    Support and contact

    • rpaframework.org <https://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
    • Communicate with your fellow Software Robot Developers and Robocorp experts at Robocorp Developers Slack_

    .. _Robot Framework Slack: https://robotframework-slack-invite.herokuapp.com/ .. _Robocorp Developers Slack: https://robocorp-developers.slack.com

    Contributing

    Found a bug? Missing a critical feature? Interested in contributing? Head over to the Contribution guide <https://rpaframework.org/contributing/guide.html>_ to see where to get started.

    Development

    Repository development is Python_ based and requires Python 3.11 or higher (tested up to 3.14) installed on the development machine. Python 3.10 and older are not supported since the November 2026 releases (3.10 reached end of life in October 2026).

    Repository development tooling is based on uv_ and invoke_. uv is used for dependency management, building and running the package. Invoke is used for scripting purposes, for example for linting, testing and publishing tasks.

    Before writing any code, please read and acknowledge our extensive Dev Guide_.

    .. _Dev Guide: https://github.com/robocorp/rpaframework/blob/master/docs/source/contributing/development.md

    First steps to start developing:

    1. Install uv_ (see uv installation docs <https://docs.astral.sh/uv/getting-started/installation/>_)

    2. git clone the repository

    #. create a new Git branch or switch to correct branch or stay in master branch

    • branch naming conventions: feature/name-of-feature, hotfix/name-of-the-issue, release/number-of-release

    #. uv sync — installs the package and its dependencies into the .venv directory

    #. if testing against Robocorp Robot which is using devdata/env.json:

    • set environment variables
    • or uv build and use the resulting .whl file (in the dist/ directory) in the Robot conda.yaml
    • or push the .whl to a repository and reference the raw URL in conda.yaml

    #. uv run python -m robot <ROBOT_ARGS> <TARGET_ROBOT_FILE>

    • common ROBOT_ARGS from Robocorp Robot template: --report NONE --outputdir output --logtitle "Task log"

    #. uv run python <TARGET_PYTHON_FILE>

    #. invoke lint to make sure that code formatting follows rpaframework repository guidelines. Formatting is based on black_ and flake8_ and those are run with invoke lint.

    #. Library documentation can be generated from the repository root (the "meta" package level). Local changes to the main package are reflected automatically. For optional packages, use invoke install-local --package <package_name> (e.g. rpaframework-aws) to install them as editable versions. Reset with invoke install --reset.

    • uv sync and/or invoke install-local --package <package name>
    • make docs
    • open docs/build/html/index.html in a browser, or run make local and navigate to localhost:8000 for a live preview.

    .. code-block:: toml

      # Before
      [tool.uv.sources]
      rpaframework = { path = "packages/main", extras = ["cv", "playwright", "aws"] }
      rpaframework-google = { version = "^4.0.0" }
      rpaframework-windows = { version = "^4.0.0" }
    
      # After
      [tool.uv.sources]
      rpaframework = { path = "packages/main", extras = ["cv", "playwright"] }
      rpaframework-aws = { path = "packages/aws" }
      rpaframework-google = { version = "^4.0.0" }
      rpaframework-windows = { version = "^4.0.0" }
    

    #. invoke test (runs both Python unittests and Robot Framework tests in the package tests/ directory)

    • to run a specific Python test: uv run pytest path/to/test.py::test_function
    • to run a specific Robot Framework test: inv testrobot -r <robot_name> -t <task_name>

    #. git commit changes #. git push changes to remote #. create a pull request from the branch describing the changes in the description #. update docs/source/releasenotes.rst with changes (commit and push)

    Packaging and publishing are done after changes have been merged into master branch. All the following steps should be done within master branch.

    #. in a pull request: update pyproject.toml with the new version according to semantic versioning, run uv lock in the package (and at the repository root when the root lock file is affected), and move the changes in docs/source/releasenotes.rst from Upcoming release into a dated block under Released that ends with the list of released versions, one bullet per package in the form rpaframework-core 14.0.0 #. merge the pull request once the GitHub Actions on it are green #. git checkout master && git pull, then in the package directory run python ../../tools/tag.py. It creates and pushes the tag <package>-<version> #. the release workflow builds the package from the tagged commit, publishes it to PyPI (trusted publishing from the pypi environment) and creates the GitHub release from the dated release-notes block that contains the version #. when a package depends on another package of this repository with a raised version floor, release the dependency first: the dependent can only be relocked once the dependency is on PyPI

    Some recommended tools for development

    • Visual Studio Code_ as a code editor with following extensions:

      • Sema4.ai_
      • Robot Framework Language Server_
      • GitLens_
      • Python extension_
    • GitHub Desktop_ will make version management less prone to errors

    .. _uv: https://docs.astral.sh/uv/ .. _invoke: https://www.pyinvoke.org .. _Visual Studio Code: https://code.visualstudio.com .. _GitHub Desktop: https://desktop.github.com .. _Sema4.ai: https://marketplace.visualstudio.com/items?itemName=sema4ai.sema4ai .. _Robot Framework Language Server: https://marketplace.visualstudio.com/items?itemName=robocorp.robotframework-lsp .. _GitLens: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens .. _Python extension: https://marketplace.visualstudio.com/items?itemName=ms-python.python .. _black: https://pypi.org/project/black/ .. _flake8: https://pypi.org/project/flake8/ .. _venv: https://docs.python.org/3/library/venv.html .. _RPA.Excel.Files: https://rpaframework.org/libraries/excel_files/ .. _RPA.Tables: https://rpaframework.org/libraries/tables/

    License

    This project is open-source and licensed under the terms of the Apache License 2.0 <http://apache.org/licenses/LICENSE-2.0>_.