These two container URIs both contain MultiQC 1.25.1:
community.wave.seqera.io/library/multiqc:1.25.1--dc1968330462e945
. (Bioconda)
community.wave.seqera.io/library/pip_multiqc:0bef1f1da1c1ae8e
(Pip)
While the version number is preserved for the containers with tools from Bioconda, it is lacking for those from pip. This also applies for containers with multiple packages:
community.wave.seqera.io/library/pip_multiqc-plugins_multiqc:5a119b172a89a538
Since there is no API that allows resolving the contained tool versions from a given URI, it is easy to lose track of them, e.g. when that container is specified in a nf-core module.
Therefore, I suggest to always retain the software versions in the URI:
community.wave.seqera.io/library/pip_multiqc-plugins:1.3.0_multiqc:1.2.5--5a119b172a89a538
This simplifies removing outdated images from large container caches or to consolidate Singularity and Docker images with the exact same tools.
Alternatively, I propose the creation of such a public API. It could be backed by a simple key-value store, that uses the hashed URIs as keys and stores a JSON of the contained tool versions and ideally also the architecture. New entries would be added by Wave/Seqera Containers when a new container image is build.