2023-05-25 11:42:19 +01:00
|
|
|
# PrimAITE
|
2023-06-20 11:19:05 +01:00
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
PrimAITE (Primary-level AI Training Environment) is a simulation environment for training AI under the ARCD programme.
|
|
|
|
|
|
2023-06-20 11:19:05 +01:00
|
|
|
## Getting Started with PrimAITE
|
|
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
### 💫 Install & Run
|
|
|
|
|
**PrimAITE** is designed to be OS-agnostic, and thus should work on most variations/distros of Linux, Windows, and MacOS.
|
|
|
|
|
Currently, the PRimAITE wheel can only be installed from GitHub. This may change in the future with release to PyPi.
|
2023-07-26 19:49:24 +01:00
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
#### Windows (PowerShell)
|
2023-06-20 11:19:05 +01:00
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
**Prerequisites:**
|
|
|
|
|
* Manual install of Python >= 3.8 < 3.11
|
2023-06-20 11:19:05 +01:00
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
**Install:**
|
|
|
|
|
|
|
|
|
|
``` powershell
|
|
|
|
|
mkdir ~\primaite
|
|
|
|
|
cd ~\primaite
|
|
|
|
|
python3 -m venv .venv
|
|
|
|
|
attrib +h .venv /s /d # Hides the .venv directory
|
|
|
|
|
.\.venv\Scripts\activate
|
|
|
|
|
pip install https://github.com/Autonomous-Resilient-Cyber-Defence/PrimAITE/releases/download/v2.0.0/primaite-2.0.0-py3-none-any.whl
|
|
|
|
|
primaite setup
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### Unix
|
|
|
|
|
|
|
|
|
|
**Prerequisites:**
|
|
|
|
|
* Manual install of Python >= 3.8 < 3.11
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
sudo add-apt-repository ppa:deadsnakes/ppa
|
|
|
|
|
sudo apt install python3.10
|
|
|
|
|
sudo apt-get install python3-pip
|
|
|
|
|
sudo apt-get install python3-venv
|
|
|
|
|
```
|
|
|
|
|
**Install:**
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
mkdir ~/primaite
|
|
|
|
|
cd ~/primaite
|
|
|
|
|
python3 -m venv .venv
|
|
|
|
|
source .venv/bin/activate
|
|
|
|
|
pip install https://github.com/Autonomous-Resilient-Cyber-Defence/PrimAITE/releases/download/v2.0.0/primaite-2.0.0-py3-none-any.whl
|
|
|
|
|
primaite setup
|
|
|
|
|
```
|
2023-06-20 11:19:05 +01:00
|
|
|
|
|
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
### Developer Install from Source
|
|
|
|
|
To make your own changes to PrimAITE, perform the install from source (developer install)
|
|
|
|
|
|
|
|
|
|
#### 1. Clone the PrimAITE repository
|
|
|
|
|
``` unix
|
|
|
|
|
git clone git@github.com:Autonomous-Resilient-Cyber-Defence/PrimAITE.git
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 2. CD into the repo directory
|
|
|
|
|
``` unix
|
|
|
|
|
cd PrimAITE
|
|
|
|
|
```
|
|
|
|
|
#### 3. Create a new python virtual environment (venv)
|
2023-06-20 11:19:05 +01:00
|
|
|
|
|
|
|
|
```unix
|
2023-07-26 19:49:24 +01:00
|
|
|
python3 -m venv venv
|
2023-06-20 11:19:05 +01:00
|
|
|
```
|
|
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
#### 4. Activate the venv
|
2023-06-20 11:19:05 +01:00
|
|
|
|
|
|
|
|
##### Unix
|
|
|
|
|
```bash
|
2023-07-26 19:49:24 +01:00
|
|
|
source venv/bin/activate
|
2023-06-20 11:19:05 +01:00
|
|
|
```
|
|
|
|
|
|
2023-07-26 19:49:24 +01:00
|
|
|
##### Windows (Powershell)
|
2023-06-20 11:19:05 +01:00
|
|
|
```powershell
|
2023-07-26 19:49:24 +01:00
|
|
|
.\venv\Scripts\activate
|
2023-06-20 11:19:05 +01:00
|
|
|
```
|
|
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
#### 5. Install `primaite` with the dev extra into the venv along with all of it's dependencies
|
2023-06-20 11:19:05 +01:00
|
|
|
|
|
|
|
|
```bash
|
2023-07-26 19:49:24 +01:00
|
|
|
python3 -m pip install -e .[dev]
|
2023-06-20 11:19:05 +01:00
|
|
|
```
|
|
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
#### 6. Perform the PrimAITE setup:
|
2023-06-20 11:19:05 +01:00
|
|
|
|
|
|
|
|
```bash
|
2023-07-26 19:49:24 +01:00
|
|
|
primaite setup
|
2023-06-20 11:22:29 +01:00
|
|
|
```
|
2023-06-20 11:19:05 +01:00
|
|
|
|
2023-07-26 21:49:36 +01:00
|
|
|
## 📚 Building documentation
|
2023-06-20 11:19:05 +01:00
|
|
|
The PrimAITE documentation can be built with the following commands:
|
|
|
|
|
|
|
|
|
|
##### Unix
|
|
|
|
|
```bash
|
|
|
|
|
cd docs
|
|
|
|
|
make html
|
|
|
|
|
```
|
|
|
|
|
|
2023-07-26 19:49:24 +01:00
|
|
|
##### Windows (Powershell)
|
2023-06-20 11:19:05 +01:00
|
|
|
```powershell
|
|
|
|
|
cd docs
|
|
|
|
|
.\make.bat html
|
|
|
|
|
```
|