Package: pyskat
PySkat - A simple CLI and TUI Skat Tournament Management ProgramPySkat is a simple tool for managing tournaments of the German national card game Skat. The functionality follows
theofficial tournament rulesgiven by
theDeutscher Skatverband e.V.(German Skat Association). Evaluation of games is oriented at
theofficial game sheetsfor tournaments.Current StatusThis software is currently inalphastate, thus is functionality is not complete and the API may or will change in
future.The following features are already working:TinyDB backend with API methods to create, update, get and list players and game results.Backend function to automatically evaluate game results according to official tournament rules.CLI to interact with the backend database.CLI to shuffle players to tables and evaluate game results.The following planned features arenotworking:TUI interface with same feature set as the CLI.HTML printout of players, series, results.InstallationThe software is published on PyPI and can be installed viapipor similar tools:pipinstallpyskatUsageOnce installed, run the CLI using thepyskatcommand.To show the help on available commands run:pyskat--helpYou may use all commands directly from your preferred command line. However, it is recommended to open the interactive
shell of PySkat, as this saves typing and provides syntax completion without configuring your shell. To open an
interactive shell use:pyskatshellBy default, a file namedpyskat_db.jsonis created in the current working directory holding the persistent data of
players and results. You may specify another file by the-f/--database-fileoption, for example:pyskat-fmy_first_tournament.jsonshellManaging PlayersPlayers are managed using theplayercommand and its subcommands. Data for each command can be specified using
options, or, if omitted are prompted. To get help on a specific command use the-h/--helpoption on that command,
like:pyskatplayer--helpTo add a new player:pyskatplayeraddTo list all players in database:pyskatplayerlistTo update an existing player:pyskatplayerupdateTo remove a player:pyskatremoveGenerating a SeriesTo distribute players randomly to tables (generating a series), use theseries generatecommand. This will print out a
data sheet indexed by table ID with players placed at the tables, so that the current number of players in the database
is efficiently distributed to four- and three-player tables.pyskatgenerateseriesEntering ResultsResults are managed using theresultcommand and its subcommands. Data for each command can be specified using
options, or, if omitted are prompted.
A result is meant as the result of a specific player in a specific series.To add a new result:pyskatresultaddTo list all results in database:pyskatresultlistTo update an existing result:pyskatresultupdateEvaluating ResultsResults over all games can be evaluated using theevaluatecommand. For example to generate the high-score list of the
tournament, execute:pyskatevaluatetotal-sscoreLicenseThis software is published under the terms of theMIT License.ContributingThis project is in early status and does currently not accept code contributions. This may change in future. Feedback
and suggestions are welcome via issues.