New tavolo-scopa package with a pure rules engine and the platform adapters for two-player scopa and four-player fixed-partnership scopa a quattro: three cards each and four on the table, capture by rank or sum, sweep for scope and score carte/denara/settebello/primiera. The optional asso pigliatutto creation option turns either variant into scopa d'assi (an ace sweeps the whole table and scores no scopa), reusing scopone's rule semantics. Wire both engines into the app and the Docker install, add the scopa table view to the SPA (duo and four-seat layouts, deck count, captured/scope stats, hand-summary and final screens, player names in the two-player summary), and cover the rules, the platform contract, the REST/WebSocket flows, match persistence and Elo.
185 lines
5.4 KiB
Plaintext
185 lines
5.4 KiB
Plaintext
#
|
|
# This file is autogenerated by pip-compile with Python 3.14
|
|
# by the following command (run from server/packages/tavolo-app/):
|
|
#
|
|
# pip-compile --allow-unsafe --extra otel --extra-index-url=https://pypi.org/simple --index-url=https://gitea.woggioni.net/api/packages/woggioni/pypi/simple --output-file=../../requirements.txt pyproject.toml
|
|
#
|
|
# NOTE: the tavolo-platform, tavolo-scopone, tavolo-scopa, tavolo-briscola
|
|
# and tavolo-app sibling packages are NOT pinned here: they are installed
|
|
# from ./packages in
|
|
# the Dockerfile and in development (pip install -e ./packages/tavolo-platform
|
|
# -e ./packages/tavolo-scopone -e ./packages/tavolo-scopa
|
|
# -e ./packages/tavolo-briscola
|
|
# -e ./packages/tavolo-app). All of their
|
|
# third-party dependencies are direct dependencies of tavolo-app, so this
|
|
# lock covers the full closure. The otel extra (kaya-otel and its
|
|
# OpenTelemetry dependencies) IS included, so OTEL_ENABLED works in the
|
|
# Docker image; pip-compile cannot resolve the unpublishable sibling
|
|
# packages, so regeneration drops them from a copy of the input file (the
|
|
# existing pins constrain the rest).
|
|
#
|
|
--index-url https://gitea.woggioni.net/api/packages/woggioni/pypi/simple
|
|
--extra-index-url https://pypi.org/simple
|
|
|
|
aerich==0.10.1
|
|
# via tavolo-app (pyproject.toml)
|
|
aiosqlite==0.22.1
|
|
# via tortoise-orm
|
|
anyio==4.15.1
|
|
# via
|
|
# aerich
|
|
# httpx
|
|
# tortoise-orm
|
|
asyncclick==8.4.2.1
|
|
# via aerich
|
|
asyncpg==0.31.0
|
|
# via tavolo-app (pyproject.toml)
|
|
certifi==2026.7.22
|
|
# via
|
|
# httpcore
|
|
# httpx
|
|
cffi==2.1.1
|
|
# via cryptography
|
|
click==8.5.0
|
|
# via granian
|
|
cryptography==50.0.1
|
|
# via pyjwt
|
|
dictdiffer==0.10.0
|
|
# via aerich
|
|
googleapis-common-protos==1.75.4
|
|
# via opentelemetry-exporter-otlp-proto-http
|
|
granian==2.8.3
|
|
# via
|
|
# kaya-rsgi
|
|
# tavolo-app (pyproject.toml)
|
|
h11==0.16.0
|
|
# via httpcore
|
|
httpcore==1.0.9
|
|
# via httpx
|
|
httpx==0.28.1
|
|
# via
|
|
# kaya-oidc
|
|
# tavolo-app (pyproject.toml)
|
|
idna==3.20
|
|
# via
|
|
# anyio
|
|
# httpx
|
|
iso8601==2.1.0
|
|
# via tortoise-orm
|
|
kaya-core==0.0.7
|
|
# via
|
|
# kaya-cors
|
|
# kaya-oidc
|
|
# kaya-openapi
|
|
# kaya-otel
|
|
# kaya-rsgi
|
|
# kaya-session
|
|
# tavolo-app (pyproject.toml)
|
|
kaya-cors==0.0.7
|
|
# via tavolo-app (pyproject.toml)
|
|
kaya-oidc==0.0.7
|
|
# via tavolo-app (pyproject.toml)
|
|
kaya-openapi==0.0.7
|
|
# via tavolo-app (pyproject.toml)
|
|
kaya-otel==0.0.7
|
|
# via tavolo-app (pyproject.toml)
|
|
kaya-rsgi==0.0.7
|
|
# via tavolo-app (pyproject.toml)
|
|
kaya-session==0.0.7
|
|
# via
|
|
# kaya-oidc
|
|
# kaya-session-redis
|
|
# tavolo-app (pyproject.toml)
|
|
kaya-session-redis==0.0.7
|
|
# via tavolo-app (pyproject.toml)
|
|
opentelemetry-api==1.45.0
|
|
# via
|
|
# opentelemetry-exporter-http-transport
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
# opentelemetry-instrumentation
|
|
# opentelemetry-instrumentation-asyncpg
|
|
# opentelemetry-instrumentation-redis
|
|
# opentelemetry-instrumentation-system-metrics
|
|
# opentelemetry-sdk
|
|
# opentelemetry-semantic-conventions
|
|
opentelemetry-exporter-http-transport[urllib3]==0.66b0
|
|
# via opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-exporter-otlp-common==0.66b0
|
|
# via opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-exporter-otlp-proto-common==1.45.0
|
|
# via opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-exporter-otlp-proto-http==1.45.0
|
|
# via kaya-otel
|
|
opentelemetry-instrumentation==0.66b0
|
|
# via
|
|
# opentelemetry-instrumentation-asyncpg
|
|
# opentelemetry-instrumentation-redis
|
|
# opentelemetry-instrumentation-system-metrics
|
|
opentelemetry-instrumentation-asyncpg==0.66b0
|
|
# via tavolo-app (pyproject.toml)
|
|
opentelemetry-instrumentation-redis==0.66b0
|
|
# via tavolo-app (pyproject.toml)
|
|
opentelemetry-instrumentation-system-metrics==0.66b0
|
|
# via tavolo-app (pyproject.toml)
|
|
opentelemetry-proto==1.45.0
|
|
# via
|
|
# opentelemetry-exporter-otlp-proto-common
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-sdk==1.45.0
|
|
# via
|
|
# kaya-otel
|
|
# opentelemetry-exporter-otlp-common
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-semantic-conventions==0.66b0
|
|
# via
|
|
# opentelemetry-instrumentation
|
|
# opentelemetry-instrumentation-asyncpg
|
|
# opentelemetry-instrumentation-redis
|
|
# opentelemetry-instrumentation-system-metrics
|
|
# opentelemetry-sdk
|
|
packaging==26.3
|
|
# via opentelemetry-instrumentation
|
|
protobuf==7.36.2
|
|
# via
|
|
# googleapis-common-protos
|
|
# opentelemetry-proto
|
|
psutil==7.2.2
|
|
# via opentelemetry-instrumentation-system-metrics
|
|
pwo==0.1.2
|
|
# via
|
|
# kaya-core
|
|
# kaya-rsgi
|
|
# kaya-session
|
|
# tavolo-app (pyproject.toml)
|
|
pycparser==3.0
|
|
# via cffi
|
|
pyjwt[crypto]==2.15.1
|
|
# via
|
|
# kaya-oidc
|
|
# tavolo-app (pyproject.toml)
|
|
pypika-tortoise==0.6.5
|
|
# via tortoise-orm
|
|
pyyaml==6.0.3
|
|
# via tavolo-app (pyproject.toml)
|
|
redis==8.1.0
|
|
# via
|
|
# kaya-session-redis
|
|
# tavolo-app (pyproject.toml)
|
|
tortoise-orm==1.1.8
|
|
# via aerich
|
|
typing-extensions==4.16.0
|
|
# via
|
|
# anyio
|
|
# kaya-core
|
|
# opentelemetry-api
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
# opentelemetry-sdk
|
|
# opentelemetry-semantic-conventions
|
|
# pwo
|
|
urllib3==2.8.0
|
|
# via opentelemetry-exporter-http-transport
|
|
wrapt==2.5.0
|
|
# via
|
|
# opentelemetry-instrumentation
|
|
# opentelemetry-instrumentation-redis
|