Skip to content

Catalog/761#793

Merged
edwardchalstrey1 merged 11 commits intocatalog/758from
catalog/761
Mar 11, 2026
Merged

Catalog/761#793
edwardchalstrey1 merged 11 commits intocatalog/758from
catalog/761

Conversation

@edwardchalstrey1
Copy link
Copy Markdown
Member

@edwardchalstrey1 edwardchalstrey1 commented Mar 10, 2026

Add changes to meet #761 into #767

@edwardchalstrey1 edwardchalstrey1 marked this pull request as draft March 10, 2026 14:52
@edwardchalstrey1 edwardchalstrey1 changed the title [WIP] Catalog/761 Catalog/761 Mar 11, 2026
@edwardchalstrey1 edwardchalstrey1 marked this pull request as ready for review March 11, 2026 09:37
@edwardchalstrey1 edwardchalstrey1 merged commit 0b30460 into catalog/758 Mar 11, 2026
26 checks passed
@edwardchalstrey1 edwardchalstrey1 deleted the catalog/761 branch March 11, 2026 09:37
edwardchalstrey1 added a commit that referenced this pull request Mar 25, 2026
* Create catalog dir and move one EFG and one NFG into it from contrib/games

* ignore catalog files copied into pygambit

* add failing tests

* improve tests

* add pandas to pyproject.toml

* add test_catalog_load_invalid_slug

* create load function

* add catalog to __init__

* add games() function

* refactor to define READERS once

* Big refactor to get catalog files from catalog dir external to pygambit

* update Makefile.am for the 2 examples we moved into the catalog so far

* update Game.comment to be Game.description in Python code

* Revert "update Game.comment to be Game.description in Python code"

This reverts commit 7490ae6.

* Add initial update catalog script and RST page

* rename table headers on output df from game() func

* add generating the catalog csv for docs into GH actions

* Revert "add generating the catalog csv for docs into GH actions"

This reverts commit bd3c1f3.

* refactor update script so its run from repo root

* update readthedocs to build the catalog csv before docs build

* add function which updates Makefile.am

* use a proper path for CATALOG_CSV

* tidy update script

* use explicit python executable from the virtualenv to create CSV for catalog docs table in readthedocs yml

* add developer doc for updating the catalog

* Don't update Makefile.am by default

* consistency in notebook comment

* demo loading from catalog in tutorial 1

* load from catalog for game examples in advanced tutorials

* Try using pip instead of setuptools to ensure pyproject.toml deps installed for readthedocs build

* remove deleted contrib games from Makefile.am

* add a warning about moving games from contrib

* check if pandas duplications error exists if we dont save outputs on notebooks

* fix problem with print function

* resave notebook outputs

* Update writer.cc

* move catalog update script into build support

* rename script

* rename var

* update path to catalog update script in readthedocs yml and docs page

* move myserson fig into subfolder

* clarify script usage

* add test_catalog_load_subdir_slug

* update makefile

* update agent nb

* add test for slug in subdir of catalog

* update games func to list slugs correctly

* update test to avoid duplicates

* fix code for handling slugs that duplicates of those in subfolders

* tidy the games() refactor

* resave notebook

* strip nb outputs

* remove modification to games() that was fixing a local issue

* fix the update script to get correct paths

* remove unused var

* Add Windows handling

* fix incorrect var name and make consistent

* use as_posix for slugs

* move load and games functions from __init__.py to utils.py

* add families module

* add family games to games()

* update load function to look in family games

* alternate titles in example game family

* Add to developer doc page

* Bump clang-format-version to 18

* Revert "Bump clang-format-version to 18"

This reverts commit 5bea9ea.

* move utils.py and families.py back into __init__.py so linux installation from source dist works

* add slug collision error

* update doc to reflect move back to __init__.py

* add tests for filtering options based on game object attributes

* use a fixture for all_games

* update tests to assume df always returned by games()

* add check_filters

* Fix filter names and rules

* comment out perfect recall test

* Make sure tree specific filters handled correctly

* remove notebook 1 changes

* revert makefile changes

* remove catalog games added by merge

* and put them back in contrib

* Add tests for games filtering

* suppress is_tree test for now

* remove doc duplication

* update docstring for games()

* update tests to assume returned df from games() has slug strings, not game objects

* Ensure games() always returns slug strings, not instantiated Game objects

* add valueerror for invalid kwargs

* switch kwargs for args in games()

* Add catalog functions to API docs

* improve docstring of load

* improve docstring for family_games

* Add links from the main catalog page to API reference and developer docs

* clarify docstring

* update filter tests to assert the first game of the returned dataframe matches the filter criteria

* Only assert the filter criteria when at least one game returned

* Catalog/761 (#793)

* add failing test for games(include_descriptions=True) which gets used in update script

* Add description field to df when selected

* refactor to reduce code duplication

* correctly show descriptions on catalog page

* Add biblio links to all games in catalog

* fix biblio links

* update table row spacing

* hide samples page

* Add download links

* generate rst table instead of CSV for Catalog of games page

* Refactor table such that descriptions are nested under titles

* complete merge for catalog tests

* update test_catalog_games to check for family games

* update biblio links in EFGs

* reference bibliography in updating the catalog

* update bagwell biblio link

* update biblio

* remove rogue underscores

* Harvard style in biblio.rst; Reiley and Bagwell to general papers; Watson to textbooks

* docs: Add developer notes for the catalog module and its packaging.

* revise update script to single column

* add format to df returned by games()

* Further edits to update.py

* dont include catalog games without description

* Ignore NFG for now since there are none in the catalog

* remove family games code

* remove game family test

* Use readthedocs biblio links in EFG files

* update links in watson games

* add missing underscore

* update how to include the game files

* remove coded games section of doc

* update homepage with catalog

* refactor: Adjust grid-item-card column widths and reorder sections in index.rst.

---------

Co-authored-by: Ted Turocy <ted.turocy@gmail.com>
Co-authored-by: rahulsavani <rahul.savani@gmail.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.

1 participant