Skip to content

v2.0.0

Compare
Choose a tag to compare
@ChrisMcCarthyDev ChrisMcCarthyDev released this 05 Jun 22:23
· 17 commits to main since this release
8157c7c

✨ What's New

Yawning-Titan CLI

  • Yawning-Titan now comes with a command line interface using tiangolo/Typer. This serves as the main entry point to Yawning-Titan for those using Yawning-Titan out-of-the-box. It enables things like setup, rebuilding DBs, viewing logs, starting the GUI, starting Jupyter Lab. After installing, you can use yawning-titan --help to see the available commands
    yt-cli-help

Yawning-Titan GUI

The Yawning-Titan GUI enables full standard use of Yawning-Titan out-of-the-box. Currently, the the GUI capabilities are:

  • Create, save, edit, and remove Game Modes in the GameModeDB.
  • Create, save, edit, and remove Networks in the NetworkDB.
  • Configure a Yawning-Titan run session.
  • Run a Yawning-Titan run session and view all metrics and log outputs.
  • Other miscellaneous things like:
    • View documentation.
    • Submit feature request.
    • Submit bug ticket.
    • View release notes.

Since the v2.0.0b1 beta preview:

  • Added a compatibility check between Game Modes and Networks
  • Added a mini-viewport that displays where the current view is in relation to the full network graph
    mini-viewport
  • Added an option to set an automatic layout for the network autolayout

Yawning-Titan

📚 Documentation

The Yawning-Titan docs have been revamped:

The latest Yawning-Titan docs can be viewed at https://dstl.github.io/YAWNING-TITAN/.

⚠️ Known Issues

Yawning-Titan GUI

  • During Red Agent configuration, clicking on any Use text box toggles the Use in the skills section. The associated toggles are not affected and toggle as expected.
  • The docs displayed in the GUI are offline built docs. As they're built from the Sphinx docs which are designed to work in a web browser, external links do now work from with the Yawning-Titan GUI when left clicked. To open external links, right click on the link and click Open in New Tab.
  • Clicking on the About button from a minimised/contracted Hamburger Menu does nothing. This is because the About section has several menu sub-items. To view the About section, expand the Hamburger menu, then click the + sign to the right of About.

🛠 Engineering Notes

  • As the docs viewed within the GUI and built and hosted lcoally, if your're making amendments to Yawning-Titan and rebuilding the gui, you'll need to rebuild and transport the built docs too. To do this:

    Windows (Powershell)

    cd docs
    make.bat clean
    make.bat html
    cd ..\scripts
    .\copy_docs_to_gui_static.bat

    Bash

    cd docs
    make clean
    make html
    cd ../scripts
    ./copy_docs_to_gui_static.sh

💫 How to Install & Run

First time installing Yawning-Titan?

Windows (Powershell)

mkdir ~\yawning_titan
cd ~\yawning_titan
Invoke-WebRequest -OutFile yawningtitan-2.0.0-py3-none-any.whl -Uri https://github.com/dstl/YAWNING-TITAN/releases/download/v2.0.0/yawningtitan-2.0.0-py3-none-any.whl
python3 -m venv .venv
attrib +h .venv /s /d # Hides the .venv directory
.\.venv\Scripts\activate
pip install --upgrade pip==23.0.1
pip install wheel==0.38.4 --upgrade
pip install setuptools==66 --upgrade
pip install yawningtitan-2.0.0-py3-none-any.whl
yawning-titan --install-completion
yawning-titan setup

Unix

sudo apt-get install python3-venv
mkdir ~/yawning_titan
cd ~/yawning_titan
wget https://github.com/dstl/YAWNING-TITAN/releases/download/v2.0.0/yawningtitan-2.0.0-py3-none-any.whl
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip==23.0.1
pip install wheel==0.38.4 --upgrade
pip install setuptools==66 --upgrade
pip install yawningtitan-2.0.0-py3-none-any.whl
yawning-titan --install-completion
yawning-titan setup

Updating an existing install?

Windows (Powershell)

cd ~\yawning_titan
Invoke-WebRequest -OutFile yawningtitan-2.0.0-py3-none-any.whl -Uri https://github.com/dstl/YAWNING-TITAN/releases/download/v2.0.0/yawningtitan-2.0.0-py3-none-any.whl
.\.venv\Scripts\activate
pip install --upgrade pip==23.0.1
pip install wheel==0.38.4 --upgrade
pip install setuptools==66 --upgrade
pip install yawningtitan-2.0.0-py3-none-any.whl --upgrade
yawning-titan --install-completion
yawning-titan setup

Unix

cd ~/yawning_titan
cwget https://github.com/dstl/YAWNING-TITAN/releases/download/v2.0.0/yawningtitan-2.0.0-py3-none-any.whl
source .venv/bin/activate
pip install --upgrade pip==23.0.1
pip install wheel==0.38.4 --upgrade
pip install setuptools==66 --upgrade
pip install yawningtitan-2.0.0-py3-none-any.whl --upgrade
yawning-titan --install-completion
yawning-titan setup

Installing Yawning-Titan from Source?

CD to where you want to store the Yawning-Titan source code, then:

Windows (Powershell)

git clone https://github.com/dstl/YAWNING-TITAN.git
python3 -m venv venv
.\venv\Scripts\activate
pip install --upgrade pip==23.0.1
pip install wheel==0.38.4 --upgrade
pip install setuptools==66 --upgrade
pip install build
pip install -e .[dev]
cd docs
make.bat html
cd ..\scripts
.\copy_docs_to_gui_static.bat
cd ..
python -m build
pip install .\dist\yawningtitan-2.0.0-py3-none-any.whl --upgrade
yawning-titan --install-completion
yawning-titan setup

Unix

git clone https://github.com/dstl/YAWNING-TITAN.git
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip==23.0.1
pip install wheel==0.38.4 --upgrade
pip install setuptools==66 --upgrade
pip install build
pip install -e .[dev]
cd docs
make html
cd ../scripts
./copy_docs_to_gui_static.sh
cd ..
python -m build
pip install .\dist\yawningtitan-2.0.0-py3-none-any.whl --upgrade
yawning-titan --install-completion
yawning-titan setup

Running Yawning-Titan from the GUI

Windows (Powershell)

cd ~\yawning_titan
.\.venv\Scripts\activate
yawning-titan gui

Unix

cd ~/yawning_titan
source .venv/bin/activate
yawning-titan gui

Running Yawning-Titan from the Jupyter Lab

Windows (Powershell)

cd ~\yawning_titan
.\.venv\Scripts\activate
yawning-titan notebooks

Unix

cd ~/yawning_titan
source .venv/bin/activate
cd notebooks
jupyter lab

Contributors

Full Changelog: v1.1.1...v2.0.0