Metadata-Version: 2.4
Name: perfect-strangers
Version: 0.2.0
Summary: Non-search based routines for perfect stranger matching in behavioural studies.
Project-URL: Documentation, https://senderby.co.uk/perfect-strangers
Project-URL: Issues, https://github.com/seanlikeskites/perfect-strangers/issues
Project-URL: Source, https://github.com/seanlikeskites/perfect-strangers
Author-email: Sean Enderby <sean.enderby@gmail.com>
License-Expression: MIT
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.10
Requires-Dist: galois~=0.4
Requires-Dist: numpy~=2.0
Description-Content-Type: text/markdown

# perfect_strangers

[![PyPI - Version](https://img.shields.io/pypi/v/perfect-strangers.svg)](https://pypi.org/project/perfect-strangers)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/perfect-strangers.svg)](https://pypi.org/project/perfect-strangers)
[![Test Status](https://img.shields.io/github/actions/workflow/status/seanlikeskites/perfect-strangers/tests.yml?label=tests)](https://github.com/seanlikeskites/perfect-strangers/actions/workflows/tests.yml)

## Table of Contents

- [Installation](#installation)
- [Documentation](https://senderby.co.uk/perfect-strangers/)
- [Quick Start](#quick-start)
- [License](#license)

## Installation

```console
pip install perfect-strangers
```

## [Documentation](https://senderby.co.uk/perfect-strangers/)

## Quick Start
### Create a Matcher
To get started import the `create_matcher()` function:

```Python
from perfect_strangers import create_matcher
```

This function returns a group matcher object which will produce the longest sequence of perfect stranger matched rounds for
the given experiment parameters.

```Python
groups_per_round = 5 # Number of groups per round of the experiment.
group_size = 3 # Number of participants per group.

matcher = create_matcher(groups_per_round, group_size)
```

For each round of the experiment call `groups_for_next_round()` on the matcher object to get the participant groupings.

```Python
groups = matcher.groups_for_next_round()
```

## License

`perfect-strangers` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
