89fd8fb8dc64d21b8de7c8f8b176e57820aba3d3
## Summary - Added a feature which allows a user to load a previous SB3 session - Added a feature which allows a user to load a previous PrimaiteSession - Added a feature which allows a user to load a previous session via the CLI: `primaite session --load "<SESSION_PATH>"` - RLlib is TODO in another ticket #1626 - Parallel tests via the [pytest-xdist](https://pypi.org/project/pytest-xdist/) dependency (MIT licensed) - Moved hardcoded agent into hardcoded_abc.py - renamed agent.py to agent_abc.py to clarify it is an abstract base class - Added documentation to clarify how to use the feature via CLI or using the run function via main.py ## Test process Created [test_session_loading.py](https://dev.azure.com/ma-dev-uk/PrimAITE/_git/PrimAITE/pullrequest/119?_a=files&path=/tests/test_session_loading.py) which loads a previously run session and then performs a learn and evaluation run on the loaded agent/Primate session. The test copies the saved session into a temporary folder, which is then set as the test session path. Once the test is done, the temporary folder should then be deleted ## Checklist - [X] This PR is linked to a **work item** - [X] I have performed **self-review** of the code - [X] I have written **tests** for any new functionality added with this PR - [X] I have updated the **documentation** if this PR changes or adds functionality - [X] I have run **pre-commit** checks for code style Related work items: #1595
#1595: set default tc and ldc to None for AgentABC and PrimaiteSession + adding a comment for cli load flag
#1355 - Carried out full renaming in node.py, active_node.py, passive_node.py, and service_node.py to make params and variable names explicit.
PrimAITE
Getting Started with PrimAITE
Pre-Requisites
In order to get PrimAITE installed, you will need to have the following installed:
python3.8+python3-pipvirtualenv
PrimAITE is designed to be OS-agnostic, and thus should work on most variations/distros of Linux, Windows, and MacOS.
Installation from source
1. Navigate to the PrimAITE folder and create a new python virtual environment (venv)
python3 -m venv <name_of_venv>
2. Activate the venv
Unix
source <name_of_venv>/bin/activate
Windows
.\<name_of_venv>\Scripts\activate
3. Install primaite into the venv along with all of it's dependencies
python3 -m pip install -e .
Development Installation
To install the development dependencies, postfix the command in step 3 above with the [dev] extra. Example:
python3 -m pip install -e .[dev]
Building documentation
The PrimAITE documentation can be built with the following commands:
Unix
cd docs
make html
Windows
cd docs
.\make.bat html
This will build the documentation as a collection of HTML files which uses the Read The Docs sphinx theme. Other build options are available but may require additional dependencies such as LaTeX and PDF. Please refer to the Sphinx documentation for your specific output requirements.
Description
Languages
Python
80.2%
Jupyter Notebook
19.8%