Skip to main content

Tourneyket

GitHub License Python Version from PEP 621 TOML PyPI - Version

Package to let you easily represent and progress Bracket-style single elimination Tournaments, allowing you to focus on matchup logic and analysis without worrying about the boilerplate. Supports 2, 4, 8, 16, 32, 64... 2^n starting teams.

The Bracket object accepts an initial bracket and a function to select matchup winner. Automatically fills out the rest of the bracket using whatever logic you provide, and implements a method to print out the final bracket to console in a nice, bracket shaped format.

Installation:

Install from pip:

pip install Tourneyket 

Example:

from tourneyket import Bracket

# List of competitors. 1 plays 2, 3 plays 4... and so on. Likewise, winner of 1v2 plays winner of 3v4, etc.
my_tournament = [{"name": "Kitten State", "power_level": 9001},
                {"name": "Bunnyville", "power_level": 6000},
                {"name": "Muscle Hamsters", "power_level": 2},
                {"name": "Doggy Dog World", "power_level": 8500},
                {"name": "Horsies", "power_level": 8934},
                {"name": "Lizard Wizards", "power_level": 7800},
                {"name": "Ole Penguin", "power_level": 8300},
                {"name": "Pigchamps", "power_level": 7500}]

def pick_by_power_level(a, b):
    if a["power_level"] > b["power_level"]:
        return a 
    else: 
        return b

MyBracket = Bracket(my_tournament)
# play_out_bracket accepts an optional pick_winner parameter. 
# Default just picks a random winner in each matchup.
MyBracket.play_out_bracket(pick_winner=pick_by_power_level)
# Optional formatting= parameter lets you specify what to print instead of just printing the whole dictionary
# Can also specify spacing for how it is printed. Default is 20.
MyBracket.print_bracket(formatting=lambda t: t["name"], spaces=20)

Which outputs:


Kitten State
 |----------------- Kitten State
Bunnyville
                     |----------------- Kitten State
Muscle Hamsters
 |----------------- Doggy Dog World
Doggy Dog World
                                         |----------------- Kitten State
Horsies
 |----------------- Horsies
Lizard Wizards
                     |----------------- Horsies
Ole Penguin
 |----------------- Ole Penguin
Pigchamps

Metadata

Release files for Tourneyket 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Tourneyket 1.0.1
File Size Uploaded
tourneyket-1.0.1.tar.gz 6.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Tourneyket 1.0.1
File Interpreter ABI Platform
tourneyket-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 11.8 kB

Release files / tourneyket-1.0.1.tar.gz

Download URL tourneyket-1.0.1.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5da2530d6b63fec7bbb49e88999fb34a8d308baf25bbb4cf41e26171f1422546
BLAKE2b-256 checksum
How to use checksums
15e404956b85de99c2292ef20c90482a9c532a772f647e269db6c9f884ad50ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2025.

Transparency log

Release files / tourneyket-1.0.1-py3-none-any.whl

Download URL tourneyket-1.0.1-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b19295815f0162109b9497e01c36151c8095987900537cb3d16c2b35e3ee275
BLAKE2b-256 checksum
How to use checksums
fe4b9d20574a10d920768548fcc8caa276faa9671f55fdef4ab0abeef12bf58f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page