Metadata-Version: 2.4
Name: apologiesserver
Version: 0.2.1
Summary: Websocket server to interactively play the Apologies game
Project-URL: Homepage, https://pypi.org/project/apologiesserver/
Project-URL: Repository, https://github.com/pronovic/apologies-server
Project-URL: Changelog, https://github.com/pronovic/apologies-server/releases
Project-URL: Documentation, https://apologies-server.readthedocs.io/en/stable/
Project-URL: Issues, https://github.com/pronovic/apologies-server/issues
Author-email: "Kenneth J. Pronovici" <pronovic@ieee.org>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Games/Entertainment :: Board Games
Requires-Python: <4,>=3.11
Requires-Dist: apologies<0.5.0,>=0.4.1
Requires-Dist: ordered-set<5.0.0,>=4.1.0
Requires-Dist: websockets<17.0,>=16.0
Provides-Extra: docs
Requires-Dist: sphinx-autoapi<4.0.0,>=3.0.0; extra == 'docs'
Requires-Dist: sphinx<10.0.0,>=9.0.4; extra == 'docs'
Description-Content-Type: text/markdown

# Apologies Server

[![pypi](https://img.shields.io/pypi/v/apologiesserver.svg)](https://pypi.org/project/apologiesserver/)
[![license](https://img.shields.io/pypi/l/apologiesserver.svg)](https://github.com/pronovic/apologies-server/blob/master/LICENSE)
[![wheel](https://img.shields.io/pypi/wheel/apologiesserver.svg)](https://pypi.org/project/apologiesserver/)
[![python](https://img.shields.io/pypi/pyversions/apologiesserver.svg)](https://pypi.org/project/apologiesserver/)
[![docs](https://readthedocs.org/projects/apologies-server/badge/?version=stable&style=flat)](https://apologies-server.readthedocs.io/en/stable/)
[![coverage](https://coveralls.io/repos/github/pronovic/apologies-server/badge.svg?branch=master)](https://coveralls.io/github/pronovic/apologies-server?branch=master)

[Apologies Server](https://github.com/pronovic/apologies-server) is a [Websocket](https://en.wikipedia.org/wiki/WebSocket) server interface used to interactively play a multi-player game using the [Apologies](https://github.com/pronovic/apologies) library.  The Apologies library implements a game similar to the [Sorry](https://en.wikipedia.org/wiki/Sorry!_(game)) 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 wrote write today, given the benefit of more experience with async
design patterns in Python.  But, it works.

See the [documentation](https://apologies-server.readthedocs.io/en/stable/design.html) for notes about the public interface and the event model.

## Prototype Code

