Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyskat-0.1.0a0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

pyskat-0.1.0a0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file pyskat-0.1.0a0.tar.gz.

File metadata

  • Download URL: pyskat-0.1.0a0.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.26.0

File hashes

Hashes for pyskat-0.1.0a0.tar.gz
Algorithm Hash digest
SHA256 206e751ba66bcd102fae353edb2614ea745532c20b3abfe557acf5976296aaaf
MD5 98ae6d18a6a9b419ca3cbc2e45c15d18
BLAKE2b-256 fcce03674f8cffd963649c18f87c56033c47b8c139352991ca44f58f855d6afa

See more details on using hashes here.

File details

Details for the file pyskat-0.1.0a0-py3-none-any.whl.

File metadata

  • Download URL: pyskat-0.1.0a0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.26.0

File hashes

Hashes for pyskat-0.1.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e905b6a6b7f5eb9356784d4335d7f0a3cafa6ccd08f1527851983f7660816a0
MD5 bb597f2b519a1b3bda6d2c653700d304
BLAKE2b-256 95b26f4005bff3fad019df62535251aea7da13bb7939e8e2666af08a3e58c854

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page