Top 8 Python Frameworks to develop RPA

This is a discussion topic for the original post at Top 8 Python Frameworks to develop RPA - Botcity | Blog

Python is the best solution for tech teams to develop RPAs. Python is an open technology, cross-platform, free to use, and supported by major technology companies (lots of SDKs and libraries). We have Python libraries for almost all automation use cases. Tech teams go faster with Python, delivering more robust and reliable solutions.

This post lists the Top 8 Python frameworks to automate desktop, web, legacy, and mobile applications.

1. Selenium (Web, webdriver)

Selenium was initially released in 2004 and is probably the most used framework for web automation. The project supports multiple browsers and all major programming languages, including Python.

License: Apache 2.0
Site: https://selenium-python.readthedocs.io/

2. Pyppeteer (Web, chromium)

Python port of Puppeteer Javascript chrome/chromium browser automation library. It is a framework created specifically for web automation on Chrome browser. It uses Chrome DevTools Protocol under the covers.

License: MIT License
Site: https://github.com/pyppeteer/pyppeteer

3. BotCity Core (Desktop, Mobile and Legacy)

BotCity Core is an open-source automation framework that combines multiple technologies, such as UI manipulations via Ids, computer vision (Open CV), and other strategies. BotCity project provides tools to generate codes automatically as the developer specifies the actions in the target application UI. It is cross-platform, can operate any operating system and browser.

License: Apache 2.0
Site: https://github.com/botcity-dev/botcity-framework-core-python

4. BotCity Web (Web, supports Computer Vision)

BotCity Web is a web automation framework that combines Selenium with Computer Vision for interacting with web UI. Developers can choose the best approach to develop UI automation, combining component selection and manipulation by Id, XPath, or its visual appearance. The automations run in headless mode even when using computer vision.

License: Apache 2.0
Site: https://github.com/botcity-dev/botcity-framework-web-python

5. PyWinAuto (Windows applications)

PyWinAuto combines Python modules to allow developers to send mouse and keyboard actions to windows applications. It uses Microsoft Windows API to access and manipulate dialogs and controls.

License: BSD 3-Clause
Site: https://pywinauto.readthedocs.io/en/latest/

6. PyAutoGui (Mouse and keyboard control)

Python library to programmatically control the mouse and keyboard. It works on Windows, macOS and Linux and runs on Pyhton 2 and 3.

License: BSD 3-Clause
Site: https://pyautogui.readthedocs.io/en/latest/

7. AutoPy

AutoPy is another library for controlling the keyboard and mouse. It also allows finding colors and bitmaps on-screen to choose UI components for interaction. Currently supported on macOS, Windows, and X11 with the XTest extension.

License: Apache 2.0
Site: https://github.com/autopilot-rs/autopy

8. Appium (Mobile)

Appium Python Client can be used to automate mobile applications using WebDriver protocol and Appium commands. Like many other automation frameworks, its primary purpose is software testing, but it can also be used to develop RPA modules.

License: Apache 2.0
Site: https://github.com/appium/python-client

PLUS – RPA Orchestration

Developing your bots is just one step in delivering and maintaining RPA in your organization. RPA Orchestration is crucial to monitor, improve and scale your operation.

BotCity Maestro is a cloud-based orchestrator for your RPAs. Easy deployment (VMs or containers on AWS, Azure, GCP, or on-premise), task queue, error handling, alerts, logs, result files, and full integration and control over API.