Skip to content

[cotainr] [package list]

cotainr/2025.7.1-cray-python-3.11.7 (cotainr-2025.7.1-cray-python-3.11.7.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider cotainr/2025.7.1-cray-python-3.11.7.

EasyConfig:

#DOC cotainr for LUMI/24.03 with the ROCm system image updated after the maintenance of September 2024
easyblock = 'Tarball'

local_craypython_version =  '3.11.7'

name =          'cotainr'
version =       '2025.7.1'
versionsuffix = f'-cray-python-{local_craypython_version}'

homepage = 'https://github.com/DeiC-HPC/container-builder'

whatis = [
    'Description: cotainr is a tool that helps making Singularity/Apptainer containers.'
]
description = """"
cotainr is a tool that helps making Singularity/Apptainer containers.
It runs entirely in user space, i.e. you don’t need root/sudo priviledges 
(or fake them) to use cotainr. It makes it a lot easier to build 
Singularity/Apptainer containers for certain HPC use cases.

In order to achieve this, the scope of cotainr is deliberately limited - focus 
is on making it easy to build reasonably performant containers for common HPC 
use cases. If you need a general purpose solution for building containers that 
achieve the absolute maximum performance, you should stick with 
Apptainer/Singularity instead of cotainr.

The software is provided by LUMI consortium partner DeiC.

Note that this software requires a more recent Python than the system Python
provided by the SUSE OS on LUMI. This module will load whatever version of
cray-python is the default when the module is loaded.

The following base images are available:
-   lumi-c: Base image for LUMI-C based on Ubuntu 24.04.
    Note that the OS is different from the OS on LUMI, so injecting OS
    commands or libraries from the system may fail!
-   lumi-g: Base image for LUMI-G based on Ubuntu 24.04 as provided by the LUMI
    AI Factory. Note that the OS is different from the OS on LUMI, so injecting
    OS commands or libraries from the system may fail!
-   rocm-6.2: Base image based on the ROCm container version 6.2.4 provided by
    LUST in /appl/local/containers/cotainr-baseimages
-   ricn-6.4: The same image as lumi-g.

Try `cotainr info` for a full list.
"""

docurls = [
    'Web-based documentation on https://cotainr.readthedocs.io/en/latest/'
]

sources = [ {
  'filename':          '%(name)s-%(version)s.tar.gz',
  'download_filename': '%(version)s.tar.gz',
  'source_urls':       ['https://github.com/DeiC-HPC/cotainr/archive/refs/tags'],
} ]

toolchain = SYSTEM

dependencies = [
    (f'cray-python/{local_craypython_version}', EXTERNAL_MODULE),
]

local_systems = """{
  "lumi-c": {
    "base-image": "docker://ubuntu:24.04"
  },
  "lumi-g": {
    "base-image": "/appl/local/containers/cotainr-baseimages/lumi-multitorch-mpich-u24r64f21m43t29-20260225_144743.sif"
  },
  "rocm-6.2": {
    "base-image": "/appl/local/containers/cotainr-baseimages/lumi-rocm-rocm-6.2.4.sif"
  },
  "rocm-6.4": {
    "base-image": "/appl/local/containers/cotainr-baseimages/lumi-multitorch-mpich-u24r64f21m43t29-20260225_144743.sif"
  }
}"""

postinstallcmds = [ # Use a bash HERE document to create the systems.json file.
    'cd %(installdir)s/ ; cat >systems.json <<EOF\n' + local_systems + '\nEOF\n'
]

sanity_check_paths = {
    'files': ['bin/cotainr', 'systems.json'],
    'dirs':  ['cotainr'],
}

sanity_check_commands = [
    'cotainr --help',
    'cotainr info',
]

moduleclass = "tools"

[cotainr] [package list]