Metadata-Version: 2.1
Name: apologiesserver
Version: 0.1.1
Summary: Websocket server to interactively play the Apologies game
Home-page: https://github.com/pronovic/apologies-server
License: Apache-2.0
Author: Kenneth J. Pronovici
Author-email: pronovic@ieee.org
Requires-Python: >=3.7,<4.0
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.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Games/Entertainment :: Board Games
Requires-Dist: apologies (>=0.1.16,<0.2.0)
Requires-Dist: asyncio-periodic (>=2019.2,<2020.0)
Requires-Dist: ordered-set (>=4.0.1,<5.0.0)
Requires-Dist: websockets (>=8.1,<9.0)
Project-URL: Repository, https://github.com/pronovic/apologies-server
Description-Content-Type: text/markdown

# Apologies Server

![](https://img.shields.io/pypi/l/apologies-server.svg)
![](https://img.shields.io/pypi/wheel/apologies-server.svg)
![](https://img.shields.io/pypi/pyversions/apologies-server.svg)
![](https://github.com/pronovic/apologies-server/workflows/Test%20Suite/badge.svg)
![](https://readthedocs.org/projects/apologies-server/badge/?version=latest&style=flat)

[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.  See the [documentation](https://apologies-server.readthedocs.io/en/latest) for notes about the public interface and the event model.

_Note:_ At present, the Apologies Server runs as a single stateful process that
maintains game state in memory.  It cannot be horizontally scaled, and there is
no option for an external data store.  There is also only limited support for
authentication and authorization - basically, any player can register any
available handle.  We do enforce resource limits (open connections, registered
users, in-progress games) to limit the amount of damage abusive clients can do.

