Refactor catalog into separate logical project - #1132
Conversation
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
3d7b6a6 to
1ff4494
Compare
|
@tturocy 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
left a comment
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
🟡 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-tableoption 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 whilecatalog/catalog.amenumerates 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.
rahulsavani
left a comment
There was a problem hiding this comment.
Bar a couple of minor comments from copilot to consider, this now looks good to me.
|
@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?
|

No description provided.