Apologies Server

Apologies Server is a Websocket server interface used to interactively play a multi-player game using the Apologies library. The Apologies library implements a game similar to the Sorry board game.
I originally developed this code in mid-2020 during COVID-enforced downtime, as
part of an effort to write a UI to play the Apologies board game in a web
browser. However, Javascript moves really fast, and by mid-2021, my UI
implementation was already partially obsolete, and I abandoned work on it.
This code is still a reasonable example of how to build a Websocket server
including a state machine to manage board game state. However, its main
purpose was to support the process of building that web UI, so it's not
designed or architected for production use. It doesn't really look like
something I would write today, given the benefit of more experience with async
design patterns in Python. But, it works.
See the documentation for notes about the public interface and the event model.
Prototype Code