spuštění jedním příkazem: uv run web.py
Trojice venv/pip/python byla zbytečná ceremonie pro appku, která se pouští jednou za herní večer. - web.py i dice.py si nesou závislosti v hlavičce podle PEP 723, takže je uv obstará sám a není co instalovat ani aktivovat - pytest.ini staví kořen repa na pythonpath, takže testy jdou spustit i mimo připravené prostředí - README nabízí uv jako hlavní cestu, venv a systémové balíčky jako záložní Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5052a48611
commit
374e4209c5
4 files changed
+37
-5
No files matched your search
@@ -9,11 +9,12 @@ ten samý Adam jako z minulého měsíce. Žádné účty, žádná hesla.
|
|||||||
## Spuštění
|
## Spuštění
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python -m venv .venv
|
uv run web.py
|
||||||
.venv/bin/pip install -r requirements.txt
|
|
||||||
.venv/bin/python 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ý:
|
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:
|
Terminálová verze zůstává funkční jako záloha:
|
||||||
|
|
||||||
```bash
|
```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
|
## Testy
|
||||||
|
|
||||||
```bash
|
```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`.
|
||||||
@@ -1,3 +1,7 @@
|
|||||||
|
# /// script
|
||||||
|
# requires-python = ">=3.11"
|
||||||
|
# dependencies = ["tabulate"]
|
||||||
|
# ///
|
||||||
"""Počitadlo skóre v terminálu.
|
"""Počitadlo skóre v terminálu.
|
||||||
|
|
||||||
Pravidla žijí v `core.Game`, tenhle modul je jen vstup a výstup. Hraje se
|
Pravidla žijí v `core.Game`, tenhle modul je jen vstup a výstup. Hraje se
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
[pytest]
|
||||||
|
# Testy sahají na moduly v kořeni repa, ne na nainstalovaný balíček.
|
||||||
|
pythonpath = .
|
||||||
|
testpaths = tests
|
||||||
@@ -1,3 +1,7 @@
|
|||||||
|
# /// script
|
||||||
|
# requires-python = ">=3.11"
|
||||||
|
# dependencies = ["flask", "qrcode"]
|
||||||
|
# ///
|
||||||
"""Webové počitadlo pro domácí síť.
|
"""Webové počitadlo pro domácí síť.
|
||||||
|
|
||||||
Telefon zapisuje skóre (`/game/<id>`), notebook ukazuje zápisník (`/board`).
|
Telefon zapisuje skóre (`/game/<id>`), notebook ukazuje zápisník (`/board`).
|
||||||
|
|||||||
Reference in new issue
Block a user