A small CLI and TUI app for managing Skat tournaments.
Project description
PySkat - A simple CLI and TUI Skat Tournament Management Program
PySkat is a simple tool for managing tournaments of the German national card game Skat. The functionality follows the official tournament rules given by the Deutscher Skatverband e.V. (German Skat Association). Evaluation of games is oriented at the official game sheets for tournaments.
Current Status
This software is currently in alpha state, 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 are not working:
- TUI interface with same feature set as the CLI.
- HTML printout of players, series, results.
Installation
The software is published on PyPI and can be installed via pip
or similar tools:
pip install pyskat
Usage
Once installed, run the CLI using the pyskat
command.
To show the help on available commands run:
pyskat --help
You 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:
pyskat shell
By default, a file named pyskat_db.json
is created in the current working directory holding the persistent data of
players and results. You may specify another file by the -f/--database-file
option, for example:
pyskat -f my_first_tournament.json shell
Managing Players
Players are managed using the player
command 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/--help
option on that command,
like:
pyskat player --help
To add a new player:
pyskat player add
To list all players in database:
pyskat player list
To update an existing player:
pyskat player update
To remove a player:
pyskat remove
Generating a Series
To distribute players randomly to tables (generating a series), use the series generate
command. 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.
pyskat generate series
Entering Results
Results are managed using the result
command 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:
pyskat result add
To list all results in database:
pyskat result list
To update an existing result:
pyskat result update
Evaluating Results
Results over all games can be evaluated using the evaluate
command. For example to generate the high-score list of the
tournament, execute:
pyskat evaluate total -s score
License
This software is published under the terms of the MIT License.
Contributing
This project is in early status and does currently not accept code contributions. This may change in future. Feedback and suggestions are welcome via issues.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyskat-0.2.0.tar.gz
.
File metadata
- Download URL: pyskat-0.2.0.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b9adc5e0f84b2d873e9aa8b00b1378f278c51da876e037bf82f6c87eef29024 |
|
MD5 | 84f5be4d3049905565822cb77635c077 |
|
BLAKE2b-256 | 49e9b4c5304844452499fc2738eba4a7765eeea4a9704403a216902674064ed2 |
File details
Details for the file pyskat-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: pyskat-0.2.0-py3-none-any.whl
- Upload date:
- Size: 39.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a071b4055c867dc11260ab32f742128d615f6cbfe1cb832b2a1b847a87d7711 |
|
MD5 | 61e91ad137ad335e7c69445459163dc9 |
|
BLAKE2b-256 | ade431f5a39391179eea4f29a70799279d7431e7cec4c471ddc37cbc2a42ae63 |