The purpose of RPA Tomorrow is to implement a system where the user can write instructions in clear text in order to instruct the computer what to do. This application utilizes natural language processing together with custom-made neural networks in order to parse the intent of the given text and then returns an executable task.
For users of the system there are two user interfaces implemented, a CLI and a GUI.
Linux and Windows:
- Python 3+
- Anaconda or Miniconda
Additional for Windows Only:
- Microsoft C++ Build Tools (for GUI)
Clone and cd
into the repository. Create a file named .env
and inside it declare
the variable RPA_SECRET=<secret>
where <secret>
should be replaced by the passphrase
that will be used for deriving the key for encryption and decryption of the password
required for authentication against the SMTP server.
To create and activate the project environment the included setup script can be used (Linux only)
$ source init_env.sh
Otherwise you can do it manually
# Create environment
$ conda env create -f rpa-tomorrow.yml
# Install RPA models
$ pip install -r requirements.txt
# Activate environment
$ conda activate rpa-tomorrow
NOTE! If you're on Windows, replace all rpa-tomorrow
with rpa-tomorrow-win
above.
- To authenticate with Google for GCal support see google_auth_setup.md
- User settings can be configured manually inside
config/
or through the GUI
RPA Tomorrow accepts regular natural text as input. Below is the information for the supported interfaces. See accepted_input.md if the program is struggling to understand the input.
The CLI can be started as follows
$ python lib/cli/cli.py
Inside the CLI, type help
for more instructions.
The GUI can be started as follows
$ fbs run
Documentation are provided in docs/
here.
The tests can be run with the following command
$ pytest
A coverage report will automatically be generated and saved in htmlcov/
and it can be viewed at htmlcov/index.html
Licensed under the MIT license. See LICENSE for details.