cwl_utils.image_puller
======================

.. py:module:: cwl_utils.image_puller

.. autoapi-nested-parse::

   Classes for docker-extract.



Classes
-------

.. autoapisummary::

   cwl_utils.image_puller.ImagePuller
   cwl_utils.image_puller.DockerImagePuller
   cwl_utils.image_puller.SingularityImagePuller


Module Contents
---------------

.. py:class:: ImagePuller(req, save_directory, cmd, force_pull)

   Bases: :py:obj:`abc.ABC`

   .. autoapi-inheritance-diagram:: cwl_utils.image_puller.ImagePuller
      :parts: 1


   Helper class that provides a standard way to create an ABC using
   inheritance.


   .. py:attribute:: req


   .. py:attribute:: save_directory


   .. py:attribute:: cmd


   .. py:attribute:: force_pull


   .. py:method:: get_image_name()
      :abstractmethod:


      Get the engine-specific image name.



   .. py:method:: save_docker_image()
      :abstractmethod:


      Download and save the image to disk.



.. py:class:: DockerImagePuller(req, save_directory, cmd, force_pull)

   Bases: :py:obj:`ImagePuller`

   .. autoapi-inheritance-diagram:: cwl_utils.image_puller.DockerImagePuller
      :parts: 1


   Pull docker image with Docker.


   .. py:method:: get_image_name()

      Get the name of the tarball.



   .. py:method:: generate_udocker_loading_command()

      Generate the udocker loading command.



   .. py:method:: save_docker_image()

      Download and save the software container image to disk as a docker tarball.



.. py:class:: SingularityImagePuller(req, save_directory, cmd, force_pull)

   Bases: :py:obj:`ImagePuller`

   .. autoapi-inheritance-diagram:: cwl_utils.image_puller.SingularityImagePuller
      :parts: 1


   Pull docker image with Singularity.


   .. py:attribute:: CHARS_TO_REPLACE
      :value: ['/', ':']



   .. py:attribute:: NEW_CHAR
      :value: '_'



   .. py:method:: get_image_name()

      Determine the file name appropriate to the installed version of Singularity.



   .. py:method:: save_docker_image()

      Pull down the Docker software container image and save it in the Singularity image format.



