tebelorg / RPA-Python

Python package for doing RPA
Apache License 2.0
4.87k stars 663 forks source link

Meeting point for TagUI users converting .tag workflows to Python rpa .py scripts #484

Closed kensoh closed 1 month ago

kensoh commented 1 year ago

TagUI RPA has been maintained by AI Singapore for several years. From Q4 2023, they will stop supporting it.

The natural evolution for TagUI users, to make the most use of developed assets like TagUI workflows, would be to assess if converting to Python rpa package scripts make sense. Since each TagUI step has a matching Python rpa function(), conversion should be pretty straightforward for any user willing to learn Python.

For the JavaScript sections in TagUI workflow files, there are online convertors to convert JavaScript code to Python code. There are also other considerations like how to deal with scripts written in human languages other than English, how to deal with object repositories, how to deal with data tables etc etc etc.

Creating a placeholder issue here so TagUI users can post their challenges and share solutions on migrating from the most popular open-source RPA tool (TagUI) to the most popular open-source Python rpa tool (this package 😄)

kensoh commented 1 year ago

How I'll broadly approach migrating a TagUI script. Hope this is useful to you.

For basic TagUI workflows without advance features

  1. convert each TagUI step to Python syntax (it's similar to JavaScript). For example, snap page to results.png becomes r.snap('page', 'results.png')
  2. convert human language steps like if, for to Python or JavaScript syntax

For more complex TagUI workflows containing advance features

  1. if your TagUI script has JavaScript code, use online JavaScript to Python convertors
  2. handle object repository possibly by loading the csv using csv module (or Pandas)
  3. handle data table possibly by loading the csv using csv module (or Pandas)

For other features not mentioned above, post here to ask and exchange tips

TagUI RPA and Python rpa API references for your convenience

kensoh commented 1 month ago

Closing issue for now because no posts or comments here, but feel free to post anything here, I will get GitHub notification