Skip to content

Conversation

@daffidwilde
Copy link
Owner

Begins the process of closing #153.

This PR is the staging point for a few more to come prior to merging into dev-2.0.0. Each subsequent PR will implement these rank matrix changes to the problems implemented in matching.

daffidwilde and others added 5 commits October 21, 2023 21:14
- utility to rank
- preference to rank
* Write init test for new single matching

* Move to ruff over black for formatting

* Remove limit on parallel CI

* Write test for SingleMatching repr dunder method

* Check dictionary is in single matching repr

* Write test for equivalence dunder

* Write test for single matching inverter

* Remove old SingleMatching tests

* Implement SingleMatching class

* Move matching classes to subpackage

* Write test for instantiating SM classes

* Fix ruff config and add pre-commit

* Write tests for utility builder

* Write test for preference list builder (slow!)

* Reduce test size for preference builder

* Implement builders for SM

* Write input validator tests

* Implement input validator

* Ensure higher utility leads to higher ranking

* Reintegrate tests into modular structure

* Translate SM algorithm test to rankings

* Write test for player set attribute inverter

* Move rank matrices to class attributes

* Write tests for solver

* Implement solver and algorithm

* Rewrite preference converter test

* Write test for converting incomplete preferences

* Reimplement preference converter

* Include preference lookup in attributes

* Write optimality tests

* Rewrite example tests

* Ensure rejections are recorded

* Write test for preference matching converter

* Revert example tests to use preference terms

* Implement a preference matching converter

* Reformat code base and drop deprecated np.infty

* Bump actions and drop support for Python<3.10

* Stop doctesting paper and fix examples in README

* Update all docs that SM touches

* Remove creation from instances how-to

* Remove SM solver test module

* Wrap SR tutorial solution with `dict()` for now

The changes to `SingleMatching` are causing issues downstream.

Still not sure what this will look like for SR in the future, but this
will do for now.

* Make small formatting changes

* Add in manual matching update for SR test

Again, the new `SingleMatching` class is causing issues for SR...

* Remove change to SM discussion

* Stop rejections leading to immediate forget
…#177)

* Move common test strategies out to top-level

* Write tests for HR init

* Move existing code around to avoid mass failure

* Write tests for alt HR instantiations

* Implement instantiation

* Point HR example at the old version in README

* Move to `uv` (#178)

* Set up `uv` files and update workflows

* Fix typo in test runner step

* Format everything; replace `np.infty` w/ `np.inf`

---------

Co-authored-by: Henry Wilde <henry.wilde@creditsafe.com>

* Clean up README

* Close out example tests (temporarily)

* Make a stab at the HR algorithm; break matchings!

* Write algorithm tests

* Write tests for HR solver

* Shuffle method order in game classes

* Write preference matching converter test; clean up

* Ensure we catch warnings in existing tests

* Write tests for input validator

* Implement input validator

* Update HR tutorial

* Clean up from preferences method

* Fix README examples

* Update all tutorials and the docs dependencies

* Update how-tos and CI workflow

* Reach 100% coverage on HR components

* Write tests for the matching classes

* Get to 100% coverage on SM tests

* Enable branch coverage

---------

Co-authored-by: Henry Wilde <henry.wilde@creditsafe.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants