diff --git a/docs/index.rst b/docs/index.rst index fed65919..cba573d6 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -20,17 +20,24 @@ What is PrimAITE built with * `OpenAI's Gym `_ is used as the basis for AI blue agent interaction with the PrimAITE environment * `Networkx `_ is used as the underlying data structure used for the PrimAITE environment * `Stable Baselines 3 `_ is used as a default source of RL algorithms (although PrimAITE is not limited to SB3 agents) +* `Ray RLlib `_ is used as an additional source of RL algorithms +* `Typer `_ is used for building CLIs (Command Line Interface applications) +* `Jupyterlab `_ is used as an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture +* `Platformdirs `_ is used for finding the right location to store user data and configuration but varies per platform +* `Plotly `_ is used for building high level charts + Where next? ------------ -The best place to start is :ref:`about` +Head over to the :ref:`getting-started` page to install and setup PrimAITE! .. toctree:: :maxdepth: 8 :caption: Contents: :hidden: + source/getting_started source/about source/config source/primaite_session @@ -41,12 +48,14 @@ The best place to start is :ref:`about` source/glossary source/migration_1.2_-_2.0 + +.. TODO: Add project links once public repo has been created + .. toctree:: :caption: Project Links: :hidden: -.. - #Code <> - #Issues <> - #Pull Requests <> - #Discussions <> + Code + Issues + Pull Requests + Discussions diff --git a/docs/source/getting_started.rst b/docs/source/getting_started.rst new file mode 100644 index 00000000..e0254cdb --- /dev/null +++ b/docs/source/getting_started.rst @@ -0,0 +1,151 @@ +.. _getting-started: + +Getting Started +=============== + +**Getting Started with PrimAITE** + +Pre-Requisites + +In order to get **PrimAITE** installed, you will need to have a python version between 3.8 and 3.10 installed. If you don't already have it, this is how to install it: + + +.. tabs:: lang + + .. code-tab:: bash + :caption: Unix + + sudo add-apt-repository ppa:deadsnakes/ppa + sudo apt install python3.10 + sudo apt-get install python3-pip + sudo apt-get install python3-venv + + .. code-tab:: text + :caption: Windows (Powershell) + + - Manual install from: https://www.python.org/downloads/release/python-31011/ + +**PrimAITE** is designed to be OS-agnostic, and thus should work on most variations/distros of Linux, Windows, and MacOS. + +Install PrimAITE +**************** + +1. Create a primaite directory in your home directory: + +.. tabs:: lang + + .. code-tab:: bash + :caption: Unix + + mkdir ~/primaite + + .. code-tab:: powershell + :caption: Windows (Powershell) + + mkdir ~\primaite + +2. Navigate to the primaite directory and create a new python virtual environment (venv) + +.. tabs:: lang + + .. code-tab:: bash + :caption: Unix + + cd ~/primaite + python3 -m venv .venv + + .. code-tab:: powershell + :caption: Windows (Powershell) + + cd ~\primaite + python3 -m venv .venv + attrib +h .venv /s /d # Hides the .venv directory + +3. Activate the venv + +.. tabs:: lang + + .. code-tab:: bash + :caption: Unix + + source .venv/bin/activate + + .. code-tab:: powershell + :caption: Windows (Powershell) + + .\.venv\Scripts\activate + + +4. Install PrimAITE using pip from PyPi + +.. tabs:: lang + + .. code-tab:: bash + :caption: Unix + + pip install primaite + + .. code-tab:: powershell + :caption: Windows (Powershell) + + pip install primaite + +5. Perform the PrimAITE setup + +.. tabs:: lang + + .. code-tab:: bash + :caption: Unix + + primaite setup + + .. code-tab:: powershell + :caption: Windows (Powershell) + + primaite setup + +Clone & Install PrimAITE for Development +**************************************** + +To be able to extend PrimAITE further, or to build wheels manually before install, clone the repository to a location +of your choice: + +.. TODO:: Add repo path once we know what it is + +.. code-block:: bash + + git clone + cd primaite + +Create and activate your Python virtual environment (venv) + +.. tabs:: lang + + .. code-tab:: bash + :caption: Unix + + python3 -m venv venv + source venv/bin/activate + + .. code-tab:: powershell + :caption: Windows (Powershell) + + python3 -m venv venv + .\venv\Scripts\activate + +Install PrimAITE with the dev extra + +.. tabs:: lang + + .. code-tab:: bash + :caption: Unix + + pip install -e .[dev] + + .. code-tab:: powershell + :caption: Windows (Powershell) + + pip install -e .[dev] + + +To view the complete list of packages installed during PrimAITE installation, go to the dependencies page (:ref:`Dependencies`). diff --git a/docs/source/primaite_session.rst b/docs/source/primaite_session.rst index a393093c..bfc5ee16 100644 --- a/docs/source/primaite_session.rst +++ b/docs/source/primaite_session.rst @@ -10,6 +10,7 @@ A PrimAITE session can be ran either with the ``primaite session`` command from (See :func:`primaite.cli.session`), or by calling :func:`primaite.main.run` from a Python terminal or Jupyter Notebook. Both the ``primaite session`` and :func:`primaite.main.run` take a training config and a lay down config as parameters. + .. tabs:: .. code-tab:: bash @@ -19,7 +20,7 @@ Both the ``primaite session`` and :func:`primaite.main.run` take a training conf source ./.venv/bin/activate primaite session ./config/my_training_config.yaml ./config/my_lay_down_config.yaml - .. code-tab:: bash + .. code-tab:: powershell :caption: Powershell CLI cd ~\primaite