build: zabalení hry do instalovatelného Python balíčku #26
Reference in New Issue
Block a user
Delete Branch "package"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Souhrn
Převádí projekt z volného skriptu na standardní instalovatelný Python balíček řízený
pyproject.toml. Po instalaci jde hra spustit příkazemkostky(nebopython -m kostky). Kód se stěhuje do balíčkukostky/,hodnoty.csvse načítá bezpečně přesimportlib.resourcesa přibývá konfigurace nástrojů (mypy, ruff) na jednom místě.Změny
kostky/:main.py→kostky/kostky.py,hodnoty.csv→kostky/hodnoty.csv, přidány__init__.pya__main__.py(umožnípython -m kostky).pyproject.toml– backend hatchling; metadata, závislosttabulate, dev extra (mypy,ruff,types-tabulate); entry pointkostky(kostky.kostky:main); konfigurace[tool.mypy](strict) a[tool.ruff].dynamic = ["version"]+ hatch-vcs ([tool.hatch.version] source = "vcs"), verze se tak bere z tagu, ne ručně.hodnoty.csv–open("hodnoty.csv")(závislé na aktuálním adresáři) nahrazenoimportlib.resources.files(__package__), takže hra funguje bez ohledu na to, odkud se spustí..gitignore– přidány build artefakty (dist/,build/,*.egg-info/)._dice,_i), ternárníclear(), zalomené dlouhé řádky; opravená anotaceto_sorted_tuple(L: list[tuple[int, str, int]]).