v2.0.0
✨ 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
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
- Added an option to set an automatic layout for the network
Yawning-Titan
- Migrated from setup.py to pyproject.toml - This is a reaction to pypa/pip #8368 Deprecate call to setup.py install when building a wheel failed for source distributions without pyproject.toml, and the issues this has caused with legacy packages like openai/gym (see: dstl/YAWNING-TITAN #44 Yawning-Titan install failing due to Gym not compatible with setuptools>=67 ).
📚 Documentation
The Yawning-Titan docs have been revamped:
- The pradyunsg/furo is now being used to enable responsive light and dark mode.
- Code blocks that required both Windows (Powershell) and Unix code are now presented as tabbed code blocks using coldfix/sphinx-code-tabs.
- All codeblocks now have a copy button using executablebooks/sphinx-copybutton.
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
- @ChrisMcCarthyDev part of the Yawning-Titan dev team.
- @czar-ec-envitia part of the Yawning-Titan dev team.
- @Rumbelows part of the Yawning-Titan dev team.
- @RiccardoGTolli made their first contribution in #46
Full Changelog: v1.1.1...v2.0.0