cwl_utils.parser.cwl_v1_2_utils
===============================

.. py:module:: cwl_utils.parser.cwl_v1_2_utils


Attributes
----------

.. autoapisummary::

   cwl_utils.parser.cwl_v1_2_utils.CONTENT_LIMIT


Classes
-------

.. autoapisummary::

   cwl_utils.parser.cwl_v1_2_utils.SrcSink


Functions
---------

.. autoapisummary::

   cwl_utils.parser.cwl_v1_2_utils.can_assign_src_to_sink
   cwl_utils.parser.cwl_v1_2_utils.check_all_types
   cwl_utils.parser.cwl_v1_2_utils.check_types
   cwl_utils.parser.cwl_v1_2_utils.content_limit_respected_read_bytes
   cwl_utils.parser.cwl_v1_2_utils.content_limit_respected_read
   cwl_utils.parser.cwl_v1_2_utils.convert_stdstreams_to_files
   cwl_utils.parser.cwl_v1_2_utils.load_inputfile
   cwl_utils.parser.cwl_v1_2_utils.load_inputfile_by_string
   cwl_utils.parser.cwl_v1_2_utils.load_inputfile_by_yaml
   cwl_utils.parser.cwl_v1_2_utils.merge_flatten_type
   cwl_utils.parser.cwl_v1_2_utils.type_for_step_input
   cwl_utils.parser.cwl_v1_2_utils.type_for_step_output
   cwl_utils.parser.cwl_v1_2_utils.type_for_source
   cwl_utils.parser.cwl_v1_2_utils.param_for_source_id


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

.. py:data:: CONTENT_LIMIT
   :type:  int
   :value: 65536


.. py:class:: SrcSink

   Bases: :py:obj:`tuple`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_2_utils.SrcSink
      :parts: 1


   .. py:attribute:: src


   .. py:attribute:: sink


   .. py:attribute:: linkMerge


   .. py:attribute:: message


.. py:function:: can_assign_src_to_sink(src, sink, strict = False)

   Check for identical type specifications, ignoring extra keys like inputBinding.

   src: admissible source types
   sink: admissible sink types

   In non-strict comparison, at least one source type must match one sink type,
      except for 'null'.
   In strict comparison, all source types must match at least one sink type.


.. py:function:: check_all_types(src_dict, sinks, param_to_step, type_dict)

   Given a list of sinks, check if their types match with the types of their sources.


.. py:function:: check_types(srctype, sinktype, linkMerge, valueFrom = None)

   Check if the source and sink types are correct.

   Acceptable types are "pass", "warning", or "exception".


.. py:function:: content_limit_respected_read_bytes(f)

   Read file content up to 64 kB as a byte array.

   Throw exception for larger files (see https://www.commonwl.org/v1.2/Workflow.html#Changelog).


.. py:function:: content_limit_respected_read(f)

   Read file content up to 64 kB as an utf-8 encoded string.

   Throw exception for larger files (see https://www.commonwl.org/v1.2/Workflow.html#Changelog).


.. py:function:: convert_stdstreams_to_files(clt)

   Convert stdin, stdout and stderr type shortcuts to files.


.. py:function:: load_inputfile(doc, baseuri = None, loadingOptions = None)

   Load a CWL v1.2 input file from a serialized YAML string or a YAML object.


.. py:function:: load_inputfile_by_string(string, uri, loadingOptions = None)

   Load a CWL v1.2 input file from a serialized YAML string.


.. py:function:: load_inputfile_by_yaml(yaml, uri, loadingOptions = None)

   Load a CWL v1.2 input file from a YAML object.


.. py:function:: merge_flatten_type(src)

   Return the merge flattened type of the source type.


.. py:function:: type_for_step_input(step, in_)

   Determine the type for the given step input.


.. py:function:: type_for_step_output(step, sourcename)

   Determine the type for the given step output.


.. py:function:: type_for_source(process, sourcenames, parent = None, linkMerge = None, pickValue = None)

   Determine the type for the given sourcenames.


.. py:function:: param_for_source_id(process, sourcenames, parent = None, scatter_context = None)

   Find the process input parameter that matches one of the given sourcenames.


