Skip to content

Refactor catalog into separate logical project - #1132

Merged
tturocy merged 5 commits into
masterfrom
dev_catalog_refactor
Sep 11, 2026
Merged

Refactor catalog into separate logical project#1132
tturocy merged 5 commits into
masterfrom
dev_catalog_refactor

Conversation

@tturocy

@tturocy tturocy commented Sep 10, 2026

Copy link
Copy Markdown
Member

No description provided.

@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@tturocy
tturocy requested a review from rahulsavani September 10, 2026 07:25
@tturocy
tturocy force-pushed the dev_catalog_refactor branch from 3d7b6a6 to 1ff4494 Compare September 10, 2026 07:37
@tturocy tturocy added this to the gambit-17.0.0 milestone Sep 10, 2026
@rahulsavani

Copy link
Copy Markdown
Member

@tturocy
We used to be able to view the catalog in a PR via the built docs. Not the link to the catalog on

https://gambitproject--1132.org.readthedocs.build/en/1132/

points to

https://gambit-catalog.readthedocs.io/

which gives a 404 error. Is that fixable?

@tturocy

tturocy commented Sep 10, 2026

Copy link
Copy Markdown
Member Author

@tturocy We used to be able to view the catalog in a PR via the built docs. Not the link to the catalog on

https://gambitproject--1132.org.readthedocs.build/en/1132/

points to

https://gambit-catalog.readthedocs.io/

which gives a 404 error. Is that fixable?

We'll have to finalise and merge this before we can set that up, so this is just transient while in dev.

@rahulsavani rahulsavani left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This works for me and can be merged, pending one thing that needs to be changed (either in the docs or in the doc build process):

catalog/doc/developer.rst says to do the following:

sphinx-build -b html catalog/doc catalog/doc/_build/html

which implies running this from the root of the repo. However, some part of the process requires this to be run from catalog/doc, else one gets:

FileNotFoundError: [Errno 2] No such file or directory: '../games/books/shohamleytonbrown2008/fig5_1__original_layout.ef'

Running it from catalog/doc via

sphinx-build -b html . ./_build/html

works.

@tturocy

tturocy commented Sep 11, 2026

Copy link
Copy Markdown
Member Author

This works for me and can be merged, pending one thing that needs to be changed (either in the docs or in the doc build process):

catalog/doc/developer.rst says to do the following:

sphinx-build -b html catalog/doc catalog/doc/_build/html

which implies running this from the root of the repo. However, some part of the process requires this to be run from catalog/doc, else one gets:

FileNotFoundError: [Errno 2] No such file or directory: '../games/books/shohamleytonbrown2008/fig5_1__original_layout.ef'

Running it from catalog/doc via

sphinx-build -b html . ./_build/html

works.

This has been corrected.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Unresolved review comments include a moderate catalog-rendering issue and several documentation and catalog hygiene fixes.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Refactors the game catalog into a standalone logical project with separate packaging, documentation, build tooling, and CI integration.

Changes:

  • Relocates catalog games, layouts, metadata, and build tooling under catalog/.
  • Updates runtime lookup, packaging, manifests, documentation links, and tests.
  • Adds standalone catalog documentation and synchronization checks.
File summaries
File Change
src/pygambit/catalog.py Updates catalog resource discovery and download links.
setup.py Packages games from the new catalog location.
pyproject.toml Updates test paths and markers.
MANIFEST.in Includes relocated catalog data.
Makefile.am Includes the catalog build fragment.
doc/tutorials/interoperability_tutorials/gamut.ipynb Updates catalog documentation links.
doc/tutorials/#03_poker.ipynb# Adds a notebook file.
doc/tools.simpdiv.rst Updates catalog game paths.
doc/tools.logit.rst Updates catalog game paths.
doc/tools.liap.rst Updates catalog game paths.
doc/tools.lcp.rst Updates catalog game paths.
doc/tools.ipa.rst Updates catalog game paths.
doc/tools.hp.rst Updates catalog game paths.
doc/tools.gnm.rst Updates catalog game paths.
doc/tools.enumpure.rst Updates catalog game paths.
doc/tools.enumpoly.rst Updates catalog game paths.
doc/tools.enummixed.rst Updates catalog game paths.
doc/index.rst Links to standalone catalog documentation.
doc/developer.rst Links catalog contribution guidance.
doc/developer.overview.rst Updates catalog references.
doc/conf.py Uses shared bibliography styling.
doc/catalog.csv Adds catalog metadata.
doc/catalog_generators.rst Separates generator documentation.
doc/_bibstyle.py Provides shared citation styling.
catalog/VERSION Adds catalog version metadata.
catalog/test_build.py Tests catalog build behavior.
catalog/hierarchy.yaml Defines catalog hierarchy labels.
catalog/gtdraw_settings.yaml Defines catalog rendering settings.
catalog/games/journals/other/shapley1974/fig3.nfg Adds catalog game data.
catalog/games/journals/other/shapley1974/fig2.nfg Adds catalog game data.
catalog/games/journals/other/reiley2008/fig1.efg Adds catalog game data.
catalog/games/journals/mor/vonstengelforges2008/fig9.efg Adds catalog game data.
catalog/games/journals/mor/vonstengelforges2008/fig9__Original_Layout.ef Adds a catalog layout file.
catalog/games/journals/mor/vonstengelforges2008/fig6.efg Adds catalog game data.
catalog/games/journals/mor/vonstengelforges2008/fig6__Original_Layout.ef Adds a catalog layout file.
catalog/games/journals/mor/vonstengelforges2008/fig1.efg Adds catalog game data.
catalog/games/journals/mor/vonstengelforges2008/fig1__Original_Layout.ef Adds a catalog layout file.
catalog/games/journals/ijgt/selten1975/fig3.efg Adds catalog game data.
catalog/games/journals/ijgt/selten1975/fig2.efg Adds catalog game data.
catalog/games/journals/ijgt/selten1975/fig1.efg Adds catalog game data.
catalog/games/journals/ijgt/nau2004/sec6.nfg Adds catalog game data.
catalog/games/journals/ijgt/nau2004/sec5.nfg Adds catalog game data.
catalog/games/journals/ijgt/nau2004/sec4.nfg Adds catalog game data.
catalog/games/journals/ijgt/nau2004/sec3.nfg Adds catalog game data.
catalog/games/journals/geb/wichardt2008.efg Adds catalog game data.
catalog/games/journals/geb/gilboa1997/fig2.efg Adds catalog game data.
catalog/games/journals/geb/gilboa1997/fig1.efg Adds catalog game data.
catalog/games/journals/geb/bagwell1995.efg Adds catalog game data.
catalog/games/journals/dcg/vonstengel1999/6x6_game_with_75_eq.nfg Updates catalog game data.
catalog/games/journals/dcg/vonstengel1999/6x6_game_with_75_eq_small_payoffs.nfg Adds catalog game data.
catalog/games/img/.gitkeep Preserves the generated image directory.
catalog/games/conf/itcs/jakobsen2016/fig3.efg Adds catalog game data.
catalog/games/conf/itcs/jakobsen2016/fig1c.efg Adds catalog game data.
catalog/games/conf/itcs/jakobsen2016/fig1b.efg Adds catalog game data.
catalog/games/conf/itcs/jakobsen2016/fig1a.efg Adds catalog game data.
catalog/games/books/watson2013/fig29_1.efg Adds catalog game data.
catalog/games/books/watson2013/exercise29_6.efg Adds catalog game data.
catalog/games/books/vonstengel2022/fig10.7.efg Adds catalog game data.
catalog/games/books/vonstengel2022/fig10.5.efg Adds catalog game data.
catalog/games/books/vonstengel2022/fig10.12.efg Adds catalog game data.
catalog/games/books/vonstengel2022/fig10.1.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig6_8.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig6_8__original_layout.ef Adds a catalog layout file.
catalog/games/books/shohamleytonbrown2008/fig6_2.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig6_2__original_layout.ef Adds a catalog layout file.
catalog/games/books/shohamleytonbrown2008/fig5_9.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig5_9__original_layout.ef Adds a catalog layout file.
catalog/games/books/shohamleytonbrown2008/fig5_2.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig5_2__original_layout.ef Adds a catalog layout file.
catalog/games/books/shohamleytonbrown2008/fig5_15.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig5_15__original_layout.ef Adds a catalog layout file.
catalog/games/books/shohamleytonbrown2008/fig5_12.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig5_12__original_layout.ef Adds a catalog layout file.
catalog/games/books/shohamleytonbrown2008/fig5_11.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig5_11__original_layout.ef Adds a catalog layout file.
catalog/games/books/shohamleytonbrown2008/fig5_10.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig5_10__original_layout.ef Adds a catalog layout file.
catalog/games/books/shohamleytonbrown2008/fig5_1.efg Adds catalog game data.
catalog/games/books/shohamleytonbrown2008/fig5_1__original_layout.ef Adds a catalog layout file.
catalog/games/books/myerson1991/fig4_2.efg Adds catalog game data.
catalog/games/books/myerson1991/fig2_1.efg Adds catalog game data.
catalog/doc/index.rst Adds the standalone catalog index.
catalog/doc/developer.rst Adds catalog contribution guidance.
catalog/doc/conf.py Configures the catalog Sphinx project.
catalog/catalog.am Lists catalog distribution files.
catalog/build.py Builds catalog documentation, images, and distribution metadata.
catalog/.readthedocs.yml Configures standalone catalog documentation hosting.
build_support/catalog/catalog.am Removes the obsolete catalog build file.
.readthedocs.yml Removes catalog builds from the main documentation project.
.gitignore Ignores generated catalog artifacts.
.github/workflows/lint.yml Adds catalog synchronization checks.
Review details

Suppressed comments (3)

catalog/build.py:407

  • The command-line description is now contradicted by the newly added --skip-table option below: the script does not always regenerate _table.rst. Say this happens by default and point users to --skip-table.
    catalog/doc/developer.rst:120
  • This warning is grammatically incomplete: “If haven't” is missing the subject “you.” Since this text is surfaced as contributor documentation, correct it to avoid publishing an unclear instruction.
    doc/catalog.csv:1
  • This new CSV is not consumed by catalog/build.py, the catalog docs, or packaging, and it contains only six rows while catalog/catalog.am enumerates the full catalog. Keeping it creates a second, incomplete metadata source that will drift from the actual catalog; remove it or make the build use it.
  • Files reviewed: 35/91 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread catalog/doc/index.rst Outdated
Comment thread doc/tutorials/#03_poker.ipynb# Outdated

@rahulsavani rahulsavani left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bar a couple of minor comments from copilot to consider, this now looks good to me.

@tturocy
tturocy merged commit 60bb538 into master Sep 11, 2026
29 checks passed
@tturocy
tturocy deleted the dev_catalog_refactor branch September 11, 2026 15:34
@tturocy

tturocy commented Sep 11, 2026

Copy link
Copy Markdown
Member Author

@rahulsavani

Copy link
Copy Markdown
Member

@tturocy Very nice. This may be fixed anyway when "beta" is out of the release name, but perhaps there is some morw robust adjustment to sizing/spacing that can fix the following overlap in the header menu bar?

Screenshot 2026-09-12 at 08 59 28

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.

3 participants