Skip to main content

Adaptive tournament planning engine

Project description

AdaptiveSolvePlanner

AdaptiveSolvePlanner is a production-oriented adaptive tournament planner and solver. It supports sequential and process-parallel search over retention/decay parameters to produce "nice" tournament round plans (groups, qualifiers, wildcards) while honoring configurable limits.

Python >=3.11 License: GPL-3.0

Quickstart

To install from PyPI:

python -m pip install adaptivesolveplanner

To install latest from GitHub:

pip install git+https://github.com/Smoki-Cool/adaptivesolveplanner.git

Example:

from adaptive_solve_planner import plan

p = plan(start_guess=100, finals_target=12, rounds_desired=5, strictness="generous",
         prefer_wc=True, allow_wc_down=True, top_k_per_round=12, max_nodes=300000, time_limit=12.0)
print(p["_meta"])
for r in p["rows"]:
    print(r)

API

Two primary entry points:

  • plan(...) — sequential single-process planner
  • parallel_plan(...) — process-parallel planner with auto-tuning

Both return a dict with:

  • rows — per-round dicts
  • final_total — final number of players
  • _meta — diagnostic metadata
  • _score — score used for selecting best plan

See examples/ for runnable samples.

Configuration

PlannerConfig centralizes defaults and can be overridden from environment variables using the ASP_ prefix (e.g. ASP_WC_PCT=0.12). See adaptive_solve_planner/config.py.

CLI

If you installed the package with the console script, run:

adaptivesolveplanner --help

Development

Create a virtualenv, install dev requirements, run tests:

python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install build twine pytest
python -m pytest

Contributing

See CONTRIBUTING.md.

License

This project is licensed under the GNU General Public License v3.0 — see the LICENSE file.

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

adaptivesolveplanner-0.1.3.dev0.tar.gz (45.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adaptivesolveplanner-0.1.3.dev0-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file adaptivesolveplanner-0.1.3.dev0.tar.gz.

File metadata

File hashes

Hashes for adaptivesolveplanner-0.1.3.dev0.tar.gz
Algorithm Hash digest
SHA256 0205a63a64f60680bfb706f67c98555fdb6ddef8f6a4203690e3f9652b48e4ce
MD5 c80886feae1a77dd7487cd3485d78576
BLAKE2b-256 431730f675ce7f7ed25aaa026efbad518d22ff2dbc9aee42e779dab13592ef84

See more details on using hashes here.

File details

Details for the file adaptivesolveplanner-0.1.3.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for adaptivesolveplanner-0.1.3.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f7980bd12137d087da8eb9c433cf1b505f17f0bdd45d3e2c955973257ff7a68
MD5 45737669b633d769a0035050ff96922f
BLAKE2b-256 fd3dcb049c0e93f38bc623c79a1bb9377dc7a438fbdb2ad2e3d637e45d1d0b6d

See more details on using hashes here.

Supported by

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