Skip to content

markhakansson/rpa-tomorrow

 
 

Repository files navigation

RPA Tomorrow - process tasks from natural text

made-with-python GitHub release Actions Status License: MIT Code style: black

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.

Table of contents

  1. Requirements
  2. Setup
    1. Advanced setup
  3. Quickstart
  4. Usage
    1. CLI
    2. GUI
  5. DEMO
  6. Documentation
  7. Testing
  8. License

Requirements

Linux and Windows:

  • Python 3+
  • Anaconda or Miniconda

Additional for Windows Only:

  • Microsoft C++ Build Tools (for GUI)

Quickstart

  1. Follow the setup
  2. Start the application through either the CLI or GUI

Setup

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.

Advanced setup

  • To authenticate with Google for GCal support see google_auth_setup.md
  • User settings can be configured manually inside config/ or through the GUI

Usage

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.

CLI

The CLI can be started as follows

$ python lib/cli/cli.py

Inside the CLI, type help for more instructions.

GUI

The GUI can be started as follows

$ fbs run

DEMO

asciicast

Documentation

Documentation are provided in docs/ here.

Testing

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

License

Licensed under the MIT license. See LICENSE for details.

About

THIS REPOSITORY IS NOW UNMAINTAINED

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%