# Container Tools

Open source, collaborative tools for containers

- ## Singularity Registry HPC (shpc)

  Install Singularity containers as modules on your HPC system, exposing custom aliases for entrypoints, and interactions like exec, run, shell, and inspect. The shpc library is automatically updated and includes a library of containers from docker hub, nvidia, biocontainers, and more.

- ## Singularity Registry Server

  Deploy a Singularity Registry Server for your Institution. If you want to manage your own version of a Singularity Registry and have the added ability to push directly to it, Singularity Registry Server meets your use case. You can use the registry module in the Global Client package to interact with your Singularity Registry Server.

  a

- ## Singularity Catalog

  The Singularity Community Catalog discovers Singularity community recipes on a nightly basis and adds them to a searchable, interactive interface.

- ## Singularity Python

  Python Client for Singularity Command Line Software. Spython is the python client to wrap Singularity, providing the core commands along with a recipe converter.

- ## Singularity Compose

  Simple orchestration for Singularity container instances. Define your instances (volumes, ports, containers) in a singularity-compose.yml to reproduce generation of them again.

- ## Singularity Documentation Archive

  This is a documentation archive of the original Singularity project.

- ## docker2singularity

  Originally a shell script and then a container, this tool offers an alternative way to convert Docker images to Singularity. You can do more customization to environment, entrypoint, or other if needed.

- ## singularity-docker

  Docker images with Singularity installed provided as bases for easy usage. Originally served on Docker Hub, and now provided at Quay.io.

- ## SIF Python

  Python client to interact with Singularity Image Format (SIF) headers, allowing for inspection of header metadata, and partition and signature blocks.

- ## Global Client

  Singularity Container Management for the Individual User. It's easy to pull and build containers and lose track of where everything is. It's also hard to keep up with the number of storage locations for containers. The Global Client provides you with a local database to interact with images, and the multitude of endpoints (Google, Globus, Dropbox) to push/pull from.

- ## The Scientific Filesystem

  Containers historically expose one entry point, and if we provide several applications in a container we need more, and we need to have internal modularity, meaning that our applications are clearly distinguished from the container base operating system. SCIF is a specification for a filesystem organization, an environment variable namespace, and client for application discovery.

- ## Experiment Factory

  The Experiment Factory, containers for reproducible behavioral science. The experiment Factory will allow you to package your behavioral experiments in a reproducible container, supporting multiple database and experiment types, so that the container you use to collect your data is the same as the one that you share and publish.

- ## Tunel Interface

  Interface for Singularity Container Management. Tunel is a Dockerized application that gives interactive management for a local Global Client database with Singularity images. It includes integration with Globus, along with a recipe generator, builder, and easy means to pull images from Singularity Hub, Docker Hub, and Nvidia Container Registry.

- ## Singularity Hub

  A publicly available cloud service for Singularity Containers active from 2016 to 2021. It built container recipes from Github repositories on Google Cloud, and containers were available via the command line Singularity or sregistry software. These containers are still available now in the Singularity Hub Archive