It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
Edsger W. Dijkstra
In Dikstra’s days, computing was an emerging niche, like the RPA of today. From the perspective of computer scientists, BASIC or its latest incarnation, Visual Basic are mutilating young minds in both cases. However, there are emerging RPA platforms emerging on Python so Python developers no longer need to use .Net to develop RPA solutions to benefit from this fast growing market.
RPA is booming
RPA is in its early days. The oldest RPA company, Blue Prism was founded in 2001 but significant growth of the industry only started in 2010s.
However, interest in RPA is booming. According to Gartner, RPA is the fastest-growing segment of the global enterprise software market and all industry analysts expect it to keep on growing. If you need more convincing on RPA’s growth, feel free to read our article on the level of interest in RPA.
Python based RPA platforms are emerging
Initial RPA platforms were built on the .Net framework taking advantage of its close integration with the Windows OS. However, given Python’s growing popularity, it is no surprise that new RPA platforms are being built on top of Python:
|Company||Has marketplace that allows code monetization||Fortune 500 users||Number of employees||Source code||Number of contributors on github (as of 10/Aug/2019)||Last commit (as of 10/Aug/2019)|
|Argos Labs||TRUE||Softbank, SK Telecom, Toyota and others||28||Propriatery|
|Robot Framework Foundation||FALSE||N/A||6||Open source||82||09/08/2019|
Python developers can benefit from the growing RPA market in 3 ways
1- Build reusable plugins for marketplaces
Python developers can build reusable plugins for these RPA platforms to benefit from the growing RPA market both in terms of reputation and also financial rewards.
While RPA platforms provide the basic functionality to build bots, this basic functionality is limited. In most platforms, there is 300-400 functions which help end users manipulate UI and data. Beyond this, users need to rely on marketplaces where they can get access to thousands of different functions
Based on our analysis of existing RPA marketplaces and RPA case studies, these are the leading areas where Python libraries can be used to build widely used RPA plugins:
- Document processing is an important part of most repetitive business processes and invoice automation was the most common RPA example we encountered while researching RPA case studies. Therefore, plugins for OCR and more advanced technologies for document data extraction can be beneficial for RPA users. For example, Camelot library providing table extraction for text-based PDFs can be a beneficial plugin.
- Once data is extracted from documents, NLP tools are needed to analyze the text. Python probably has the largest set of NLP libraries including spaCy, Gensim and NLTK, all with >5k stars on github.
- Integrating machine learning to RPA bots is a growing area of interest as patten recognition can enable bots to make decisions and take on more complex tasks. TensorFlow and PyTorch are some of the leading libraries in deep/machine learning
- Additional areas include image processing where OpenCV and Numpy are leading libraries and web scraping where Scrapy and Selenium are leading libraries.
According to the whitepaper they published, Argos Labs is building the only RPA marketplace for Python developers. Contact them to get early access. The process to submit a plugin to the marketplace is relatively simple:
- Plugin is either submitted to
- a private repository, after which it becomes usable as a plugin in Argos Labs’ RPA+ bots. This keeps the plugin private to your company
- the public repository, after which it gets checked for security and compliance to RPA+ platform. Once the checks are complete, the plugin becomes available to all users of RPA+
Below is a more visual explanation of the same process:
2- Join development teams of propriatery Python RPA products
Joining the development teams of Python RPA products can allow you to develop your career in RPA via Python however given the few number of propriatery platforms, this is an opportunity for a relatively small number of developers.
3- Contribute to open source RPA projects
We identified a few open source RPA projects. Contributing to them can allow developers to improve their reputation in open source and RPA.
We summarized the ways Python developers can contribute to the development of RPA and benefit from its fast growth. Feel free to comment if you see other ways for Python developers to develop RPA solutions