From: Michael R. Crusoe <crusoe@debian.org>
Subject: make cwlformat optional
Forwarded: https://github.com/common-workflow-language/cwl-utils/pull/404
--- cwl-utils.orig/cwl_utils/graph_split.py
+++ cwl-utils/cwl_utils/graph_split.py
@@ -24,7 +24,10 @@
     cast,
 )
 
-from cwlformat.formatter import stringify_dict
+try:
+    from cwlformat.formatter import stringify_dict
+except ImportError:
+    stringify_dict = None
 from ruamel.yaml.main import YAML
 from ruamel.yaml.representer import RoundTripRepresenter
 from schema_salad.sourceline import SourceLine, add_lc_filename
@@ -286,6 +289,8 @@
 ) -> None:
     """Output object as YAML."""
     if pretty:
+        if not stringify_dict:
+            raise RuntimeError("yaml_dump(pretty=True) requires cwlformat to be installed.")
         output_handle.write(stringify_dict(entry))
         return
     yaml = YAML(typ="rt", pure=True)

