PHPackages                             mission-gaming/tactician - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mission-gaming/tactician

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mission-gaming/tactician
========================

A modern PHP library for generating structured tournament schedules with deterministic algorithms like Round Robin, Swiss, and Pool play

00[1 PRs](https://github.com/mission-gaming/tactician/pulls)PHPCI passing

Since Oct 2Pushed 7mo agoCompare

[ Source](https://github.com/mission-gaming/tactician)[ Packagist](https://packagist.org/packages/mission-gaming/tactician)[ RSS](/packages/mission-gaming-tactician/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Tactician
=========

[](#tactician)

[![PHP Version](https://camo.githubusercontent.com/c9f64f714c636ba27a3bba6dfd52f98426832db1262747efa54b212d16943651/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e322d626c7565)](https://packagist.org/packages/mission-gaming/tactician)[![License](https://camo.githubusercontent.com/f8df3091bbe1149f398a5369b2c39e896766f9f6efba3477c63e9b4aa940ef14/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e)](LICENSE)[![Build Status](https://github.com/mission-gaming/tactician/actions/workflows/ci.yml/badge.svg)](https://github.com/mission-gaming/tactician/actions/workflows/ci.yml)[![codecov](https://camo.githubusercontent.com/72bddd1bd5db32f6ada6713a16e15e4367c080ba63602de23efa9b49881cf441/68747470733a2f2f636f6465636f762e696f2f6769746875622f6d697373696f6e2d67616d696e672f74616374696369616e2f67726170682f62616467652e7376673f746f6b656e3d42355151425734333441)](https://codecov.io/github/mission-gaming/tactician)

Overview
--------

[](#overview)

A modern PHP library for generating structured schedules between participants. Ideal for tournaments (round robin, Swiss, pools) but flexible enough for any scenario where entities need to be paired or grouped into events.

**Key Features:**

- 🏆 **Deterministic Algorithms**: Round Robin (complete), Swiss and Pool play (coming soon)
- 🔧 **Flexible Constraints**: Built-in and custom predicate-based constraint system
- ✅ **Schedule Validation**: Comprehensive validation prevents incomplete schedules
- ⚡ **Memory Efficient**: Generator-based iteration for large tournaments
- 🎯 **Modern PHP**: PHP 8.2+ with readonly classes and strict typing
- 🧪 **Test-Driven**: Comprehensive test suite with Pest framework
- 📐 **Mathematical Accuracy**: Circle method implementation for round-robin
- 🛡️ **Production Ready**: PHPStan level 8 compliance with zero errors

Installation
------------

[](#installation)

Install via Composer:

```
composer require mission-gaming/tactician
```

**Requirements:**

- PHP 8.2+
- No external dependencies in production

Quick Start
-----------

[](#quick-start)

```
