diff --git a/README.md b/README.md index ab39dbd..3803366 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,12 @@ ten samý Adam jako z minulého měsíce. Žádné účty, žádná hesla. ## Spuštění ```bash -python -m venv .venv -.venv/bin/pip install -r requirements.txt -.venv/bin/python web.py +uv run web.py ``` +To je celé. Závislosti si skript nese v hlavičce (PEP 723) a `uv` je obstará +sám — není co instalovat ani aktivovat. + Server vypíše všechny adresy, na kterých je dostupný: ``` @@ -72,11 +73,30 @@ při remíze na prvním místě se hraje dál. Terminálová verze zůstává funkční jako záloha: ```bash -.venv/bin/python dice.py +uv run dice.py +``` + +## Bez uv + +Když `uv` po ruce není, jde to postaru: + +```bash +python -m venv .venv +.venv/bin/pip install -r requirements.txt +.venv/bin/python web.py +``` + +Na Fedoře stačí i systémové balíčky, pak se nemusí řešit vůbec nic: + +```bash +sudo dnf install python3-flask python3-qrcode python3-tabulate +python3 web.py ``` ## Testy ```bash -.venv/bin/python -m pytest tests/ -v +uv run --with-requirements requirements.txt --no-project pytest ``` + +Nebo z připraveného prostředí prostě `pytest`. diff --git a/dice.py b/dice.py index 7e3a7d1..19772ea 100644 --- a/dice.py +++ b/dice.py @@ -1,3 +1,7 @@ +# /// script +# requires-python = ">=3.11" +# dependencies = ["tabulate"] +# /// """Počitadlo skóre v terminálu. Pravidla žijí v `core.Game`, tenhle modul je jen vstup a výstup. Hraje se diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..b2e925e --- /dev/null +++ b/pytest.ini @@ -0,0 +1,4 @@ +[pytest] +# Testy sahají na moduly v kořeni repa, ne na nainstalovaný balíček. +pythonpath = . +testpaths = tests diff --git a/web.py b/web.py index 7686555..93bba45 100644 --- a/web.py +++ b/web.py @@ -1,3 +1,7 @@ +# /// script +# requires-python = ">=3.11" +# dependencies = ["flask", "qrcode"] +# /// """Webové počitadlo pro domácí síť. Telefon zapisuje skóre (`/game/`), notebook ukazuje zápisník (`/board`).