CI / Build and push docker image (push) Successful in 1m20s
kaya 0.0.5 surfaces a vanished websocket peer as kaya.core.WebSocketDisconnect instead of leaking granian's RSGIProtocolClosed: receive() reports a close message so iteration ends normally, sends raise the new exception, and KayaApp.handle_websocket swallows it as normal termination. Adopt it: drop the granian-specific workaround from the platform websocket handler, catch WebSocketDisconnect in the send helper, and model the new semantics in the abrupt-disconnect test (with coverage that a send on a vanished peer is ignored). Regenerate the lock: the eight kaya pins move to 0.0.5 (declared metadata is unchanged) and pip-compile also bumps PyJWT to 2.15.1, a security release with no breaking changes for kaya-oidc's jwt.decode usage. tavolo-platform now floors kaya-core>=0.0.5 (it imports WebSocketDisconnect) and tavolo-app floors kaya-otel>=0.0.5.
39 lines
1015 B
TOML
39 lines
1015 B
TOML
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "tavolo-platform"
|
|
version = "0.1.0"
|
|
description = "Game-independent multiplayer game platform (lobby, live play, match history, leaderboards) built on the kaya framework"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"kaya-core>=0.0.5",
|
|
"kaya-session",
|
|
"kaya-oidc",
|
|
"kaya-openapi",
|
|
"tortoise-orm",
|
|
"redis",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
namespaces = true
|
|
|
|
[tool.mypy]
|
|
python_version = "3.12"
|
|
ignore_missing_imports = true
|
|
plugins = []
|
|
|
|
# TortoiseORM auto-generates `<fk>_id` attributes on ForeignKeyField at
|
|
# runtime; without the (unavailable here) tortoise mypy plugin the stubs
|
|
# only declare the relation field. These are real attributes, not bugs.
|
|
[[tool.mypy.overrides]]
|
|
module = "tavolo.platform.models"
|
|
disable_error_code = ["attr-defined"]
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = "tavolo.platform.routes.*"
|
|
disable_error_code = ["attr-defined"]
|