/rc-cli

Primary LanguageShellMIT LicenseMIT

RC CLI

Introduction

This repository houses all code needed to setup, evaluate and test code for the Amazon Routing Challenge.

Using the rc-cli, participants of the Amazon Routing Challenge will be able to:

  • Create a new app
  • Run local development code with competition data
  • Run environment agnostic code with competition data
  • Save solution files (a file that can be submitted for evaluation)
  • Test local code and solutions with the official scoring algorithm

Saved solutions that have been tested can be uploaded to the competition site: routingchallenge.io

Mac and Unix Setup

  1. Install Docker:
  • Note: Make sure to install Docker Engine v18.09 or later
  • If you have an older version of Docker, make sure BuildKits are enabled
  • On Linux based systems you may need to follow the post installation setup instructions for docker:
    • sudo groupadd docker
    • sudo usermod -aG docker $USER
    • Validate the Installation
      • docker run hello-world
  1. Install Git
  • It is likely git is already installed. You can check with:
    git --version
  1. Install the rc-cli
  • Run the following commands to install the rc-cli
    bash <(curl -s https://raw.githubusercontent.com/MIT-CAVE/rc-cli/main/install.sh)
    • Follow the prompts to finish the installation process
  1. Validate the installation was successful
  • Run the following command:
    rc-cli version
  • If successful, the output should look something like:
    Routing Challenge CLI 0.2.0
    
  • If unsuccessful, you may get something like:
    rc-cli: command not found
    
  1. Continue to the Download Your Dataset section below

Windows 10 Setup

  1. Install Docker
  • Install WSL2 update during Docker installation
    • Update your WSL2 Kernel (If you are prompted during installation)
      • Click on link to the Windows Documentation about WSL2
      • Download the file to update the WSL kernel package to WSL2
      • Use the downloaded package to install the WSL2 Kernel
  • Reboot your system
  1. Open PowerShell as Administrator
  • In PowerShell type:
    wsl --set-default-version 2
    
  • Press Enter
  • Exit PowerShell
  1. Install Ubuntu 20.04
  • In the Microsoft store, search for Ubuntu 20.04
  • Install the Ubuntu 20.04 App
  1. Open the Ubuntu 20.04 app
  • This may take a while the first time
  • You will be prompted for a username and password
    • Set your username and password
    • MAKE SURE TO REMEMBER THESE
  • Close the app
  1. Open the Docker Desktop app
  • In settings > resources > WSL Integration
    • Allow Ubuntu 20.04
  • Reboot Docker
  1. Open the Ubuntu 20.04 app
  • Run the following commands to finish setting up Docker:
    • Note: You may be prompted for your password
      • This is your Ubuntu password
    sudo groupadd docker
    sudo usermod -aG docker $USER
  • Validate Docker is working with the following command:
    docker run hello-world
    • This may not work until you close and re-open Docker.
  1. Install the rc-cli in the Ubuntu 20.04 app
  • Run the following commands to install the rc-cli
    bash <(curl -s https://raw.githubusercontent.com/MIT-CAVE/rc-cli/main/install.sh)
    • Follow the prompts to finish the installation process
  1. Validate the installation was successful in the Ubuntu 20.04 app
  • Run the following command:
    rc-cli version
  1. Continue to the Download Your Dataset section below

Download Your Dataset

As of version 0.2.x, RC CLI does not download the data sources for you in the installation process. Please follow the steps below to download your data set:

  1. Install the AWS CLI tool

  2. Alternatively, explore the datasets available for the 2021 Amazon Last Mile Routing Research Challenge

aws s3 ls --no-sign-request s3://amazon-last-mile-challenges/almrrc2021/
  1. Select the desired dataset (evaluation or training) and copy it to your data directory in the rc-cli installation path

    • Evaluation dataset:
    aws s3 sync --no-sign-request s3://amazon-last-mile-challenges/almrrc2021/almrrc2021-data-evaluation/ ~/.rc-cli/data/
    
    • Training dataset:
    aws s3 sync --no-sign-request s3://amazon-last-mile-challenges/almrrc2021/almrrc2021-data-training/ ~/.rc-cli/data/
    
  2. For more information, see the official Registry of Open Data on AWS

  3. Continue to the Create Your App section below

Create Your App

  1. Get available commands
rc-cli help
  1. Create an app in your current directory
  • Note: Feel free to change my-app to any name you want
rc-cli new-app my-app
  1. Enter the app directory
cd my-app
  1. Get the folder location on your machine to open the app in your favorite editor.
  • On Mac:
    • Open your current directory in finder
      open .
    • Display your current directory as a path
      echo $PWD
  • On Linux:
    • Display your current directory as a path
      echo $PWD
  • On Windows 10 (using WSL Ubuntu 20.04)
    • Open explorer from your current directory
      explorer.exe .
    • Alternatively, your Ubuntu 20.04 app stores files on your local operating system at:
      • \\wsl$>Ubuntu-20.04>home>your-username
  1. All rc-cli commands and usages are documented in your created application as README.md