cwltool.software_requirements
=============================

.. py:module:: cwltool.software_requirements

.. autoapi-nested-parse::

   This module handles resolution of SoftwareRequirement hints.

   This is accomplished mainly by adapting cwltool internals to galaxy-tool-util's
   concept of "dependencies". Despite the name, galaxy-tool-util is a light weight
   library that can be used to map SoftwareRequirements in all sorts of ways -
   Homebrew, Conda, custom scripts, environment modules. We'd be happy to find
   ways to adapt new packages managers and such as well.



Attributes
----------

.. autoapisummary::

   cwltool.software_requirements.SOFTWARE_REQUIREMENTS_ENABLED
   cwltool.software_requirements.COMMAND_WITH_DEPENDENCIES_TEMPLATE


Classes
-------

.. autoapisummary::

   cwltool.software_requirements.DependenciesConfiguration


Functions
---------

.. autoapisummary::

   cwltool.software_requirements.get_dependencies
   cwltool.software_requirements.get_container_from_software_requirements
   cwltool.software_requirements.ensure_galaxy_lib_available


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

.. py:data:: SOFTWARE_REQUIREMENTS_ENABLED
   :value: True


.. py:data:: COMMAND_WITH_DEPENDENCIES_TEMPLATE

.. py:class:: DependenciesConfiguration(args)

   Dependency configuration class, for RuntimeContext.job_script_provider.


   .. py:attribute:: tool_dependency_dir
      :type:  str | None
      :value: None



   .. py:attribute:: dependency_resolvers_config_file
      :type:  str | None
      :value: None



   .. py:method:: build_job_script(builder, command)

      Use the galaxy-tool-util library to construct a build script.



.. py:function:: get_dependencies(builder)

.. py:function:: get_container_from_software_requirements(use_biocontainers, builder, container_image_cache_path = '.')

.. py:function:: ensure_galaxy_lib_available()

