Conversation
There was a problem hiding this comment.
Pull request overview
Updates the project README to reflect current GAP Docker image tags and to document what’s included in each image variant so users can choose the right one.
Changes:
- Bumped referenced image tags in the Mermaid diagram and usage examples to newer GAP versions.
- Added descriptions for
bare,slim,full,jupyter-gap, andbuildfull(with an Ubuntu 22.04 LTS footnote). - Expanded the README structure with a clearer “Usage” section.
Comments suppressed due to low confidence (1)
README.md:55
- This
docker runexample is a duplicate of the preceding4.14.0-barecommand. It looks like one of these blocks was meant to demonstrate a different tag (e.g.,slim) or a different version; please remove the duplicate or replace it with the intended example, and consider adding a short note explaining why the examples use different versions (4.15.1,4.15.0,4.14.0).
docker run -it ghcr.io/gap-system/gap:4.14.0-bare
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
README.md:55
- The Usage section currently repeats the exact same
docker run ...:4.14.0-bareexample twice, which looks accidental and may confuse readers. Consider removing the duplicate block or replacing it with an example for a different tag/variant (e.g.,slimorjupyter-gap).
docker run -it ghcr.io/gap-system/gap:4.14.0-bare
docker run -it ghcr.io/gap-system/gap:4.14.0-bare
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
james-d-mitchell
left a comment
There was a problem hiding this comment.
Thanks for the PR @limakzi, looks good modulo one comment
|
|
||
| * **`bare`** - Core compiled from source with only the `PackageManager` package installed. Required packages are loaded via `InstallRequiredPackages()` — no optional packages are compiled. This is the _smallest image_, suitable for minimal or custom setups where you want full control over which packages to add. | ||
|
|
||
| * **`slim`** - Includes additional runtime libraries needed by optional packages. Suitable for users who want to _selectively compile_ only the packages they need. |
There was a problem hiding this comment.
Still not clear to me which packages are included with this build: this seems to imply that all deposited packages are included, if so, then this should be written explicitly. If not, then what packages are included?
There was a problem hiding this comment.
Well, none.
buildbare:
- start: https://github.com/gap-system/docker/blob/main/src/dockerfiles/gap/ubuntu-2204-lts/Dockerfile#L59
- end: https://github.com/gap-system/docker/blob/main/src/dockerfiles/gap/ubuntu-2204-lts/Dockerfile#L86
buildslim:
-
start: https://github.com/gap-system/docker/blob/main/src/dockerfiles/gap/ubuntu-2204-lts/Dockerfile#L139
-
end: https://github.com/gap-system/docker/blob/main/src/dockerfiles/gap/ubuntu-2204-lts/Dockerfile#L169
Its complied gap-system with additional packages, bare is just the core.
There was a problem hiding this comment.
I think we are using "package" to mean two different things :) I mean which "GAP packages" are included? Would it be possible to include which GAP packages are included in the README.md?
There was a problem hiding this comment.
@james-d-mitchell I'm wondering if including may be a good idea.
Let me list loadable packages for gap-4.15.1.
slim:
gap>
[ "autpgrp", "format", "images", "aclib", "alco", "alnuth", "atlasrep", "autodoc", "automata", "automgrp", "cap", "circle", "classicpres", "congruence", "corefreesub", "corelg", "crime", "crisp", "cryst", "crystcat", "ctbllib",
"cubefree", "design", "difsets", "edim", "example", "examplesforhomalg", "factint", "fga", "forms", "gapdoc", "gauss", "gaussforhomalg", "gbnp", "generalizedmorphismsforcap", "gradedmodules", "gradedringforhomalg", "grape",
"groupoids", "grpconst", "guarana", "guava", "hecke", "homalg", "homalgtocas", "ibnp", "idrel", "inducereduce", "intpic", "irredsol", "laguna", "liealgdb", "liepring", "liering", "linearalgebraforcap", "lins",
"localizeringforhomalg", "loops", "lpres", "mapclass", "matricesforhomalg", "modisom", "modulepresentationsforcap", "modules", "monoidalcategories", "nilmat", "nock", "numericalsgps", "packagemanager", "patternclass", "permut",
"polenta", "polycyclic", "polymaking", "primgrp", "qdistrnd", "qpa", "quagroup", "radiroot", "rds", "repndecomp", "repsn", "resclasses", "ringsforhomalg", "sco", "sglppow", "sgpviz", "singular", "sl2reps", "sla",
"smallantimagmas", "smallclassnr", "smallgrp", "smallsemi", "sonata", "sophus", "sotgrps", "spinsym", "standardff", "symbcompcc", "thelma", "tomlib", "toolsforhomalg", "toric", "transgrp", "twistedconjugacy", "typeset",
"ugaly", "unipot", "utils", "uuid", "wedderga", "wpe", "yangbaxter" ]
full:
[ "help", "anupq", "autpgrp", "format", "images", "orb", "recog", "4ti2interface", "ace", "aclib", "agt", "io", "alco", "alnuth", "atlasrep", "autodoc", "automata", "automgrp", "browse", "cap", "caratinterface", "cddinterface",
"circle", "classicpres", "cohomolo", "congruence", "corefreesub", "corelg", "crime", "crisp", "crypting", "cryst", "crystcat", "ctbllib", "cubefree", "curlinterface", "cvec", "datastructures", "deepthought", "design",
"difsets", "digraphs", "edim", "example", "examplesforhomalg", "factint", "ferret", "fga", "fining", "forms", "fplsa", "fr", "francy", "fwtree", "gapdoc", "gauss", "gaussforhomalg", "gbnp", "generalizedmorphismsforcap",
"genss", "gradedmodules", "gradedringforhomalg", "grape", "groupoids", "grpconst", "guarana", "guava", "hap", "hapcryst", "hecke", "homalg", "homalgtocas", "ibnp", "idrel", "inducereduce", "intpic", "io_forhomalg", "irredsol",
"json", "jupyterkernel", "jupyterviz", "kan", "kbmag", "laguna", "liealgdb", "liepring", "liering", "linearalgebraforcap", "lins", "localizeringforhomalg", "loops", "lpres", "majoranaalgebras", "mapclass", "matgrp",
"matricesforhomalg", "modisom", "modulepresentationsforcap", "modules", "monoidalcategories", "nilmat", "nock", "nq", "numericalsgps", "openmath", "packagemanager", "patternclass", "permut", "polenta", "polycyclic",
"polymaking", "primgrp", "profiling", "qdistrnd", "qpa", "quagroup", "radiroot", "rcwa", "rds", "repndecomp", "repsn", "resclasses", "ringsforhomalg", "sco", "scscp", "sglppow", "sgpviz", "simpcomp", "singular", "sl2reps",
"sla", "smallantimagmas", "smallclassnr", "smallgrp", "smallsemi", "sonata", "sophus", "sotgrps", "spinsym", "standardff", "symbcompcc", "thelma", "tomlib", "toolsforhomalg", "toric", "transgrp", "twistedconjugacy", "typeset",
"ugaly", "unipot", "unitlib", "utils", "uuid", "walrus", "wedderga", "wpe", "xmod", "xmodalg", "yangbaxter", "zeromqinterface" ]
It obviously may very between versions of GAP.
There was a problem hiding this comment.
You could write for slim: "all deposited GAP packages (i.e. those distributed in the release archives) are included, but those requiring compilation have not been compiled. Some/all? system packages required to compile GAP packages are also installed in the container." Better that than listing every package which would require more maintenance than is perhaps reasonable, and would quickly get out of date.
No description provided.