diff --git a/cwltool/builder.py b/cwltool/builder.py index 1c6413ece..ff61a767f 100644 --- a/cwltool/builder.py +++ b/cwltool/builder.py @@ -21,13 +21,14 @@ from cwl_utils.file_formats import check_format from mypy_extensions import mypyc_attr from rdflib import Graph -from ruamel.yaml.comments import CommentedMap from schema_salad.avro.schema import Names, Schema, make_avsc_object from schema_salad.exceptions import ValidationException from schema_salad.sourceline import SourceLine from schema_salad.utils import convert_to_dict, json_dumps from schema_salad.validate import validate +from ruamel.yaml.comments import CommentedMap + from .errors import WorkflowException from .loghandler import _logger from .mutation import MutationManager diff --git a/cwltool/command_line_tool.py b/cwltool/command_line_tool.py index bb9c5555a..8c778ca21 100644 --- a/cwltool/command_line_tool.py +++ b/cwltool/command_line_tool.py @@ -33,7 +33,6 @@ import shellescape from mypy_extensions import mypyc_attr -from ruamel.yaml.comments import CommentedMap, CommentedSeq from schema_salad.avro.schema import Schema from schema_salad.exceptions import ValidationException from schema_salad.ref_resolver import file_uri, uri_file_path @@ -41,6 +40,8 @@ from schema_salad.utils import json_dumps from schema_salad.validate import validate_ex +from ruamel.yaml.comments import CommentedMap, CommentedSeq + from .builder import ( INPUT_OBJ_VOCAB, Builder, diff --git a/cwltool/context.py b/cwltool/context.py index a650a7eff..46ac74d68 100644 --- a/cwltool/context.py +++ b/cwltool/context.py @@ -18,12 +18,13 @@ Union, ) -from ruamel.yaml.comments import CommentedMap from schema_salad.avro.schema import Names from schema_salad.ref_resolver import Loader from schema_salad.utils import FetcherCallableType from typing_extensions import Literal +from ruamel.yaml.comments import CommentedMap + from .mpi import MpiConfig from .pathmapper import PathMapper from .stdfsaccess import StdFsAccess diff --git a/cwltool/cwlrdf.py b/cwltool/cwlrdf.py index d91552690..0e1014b3d 100644 --- a/cwltool/cwlrdf.py +++ b/cwltool/cwlrdf.py @@ -4,10 +4,11 @@ from rdflib import Graph from rdflib.query import ResultRow -from ruamel.yaml.comments import CommentedMap from schema_salad.jsonld_context import makerdf from schema_salad.utils import ContextType +from ruamel.yaml.comments import CommentedMap + from .cwlviewer import CWLViewer from .process import Process diff --git a/cwltool/load_tool.py b/cwltool/load_tool.py index 622f9c761..50986cc56 100644 --- a/cwltool/load_tool.py +++ b/cwltool/load_tool.py @@ -21,7 +21,6 @@ ) from cwl_utils.parser import cwl_v1_2, cwl_v1_2_utils -from ruamel.yaml.comments import CommentedMap, CommentedSeq from schema_salad.exceptions import ValidationException from schema_salad.fetcher import Fetcher from schema_salad.ref_resolver import Loader, file_uri @@ -35,6 +34,8 @@ json_dumps, ) +from ruamel.yaml.comments import CommentedMap, CommentedSeq + from . import CWL_CONTENT_TYPES, process, update from .context import LoadingContext from .errors import GraphTargetMissingException diff --git a/cwltool/main.py b/cwltool/main.py index 52f50abf0..91d44b3cc 100755 --- a/cwltool/main.py +++ b/cwltool/main.py @@ -34,9 +34,6 @@ import argcomplete import coloredlogs import pkg_resources # part of setuptools -import ruamel.yaml -from ruamel.yaml.comments import CommentedMap, CommentedSeq -from ruamel.yaml.main import YAML from schema_salad.exceptions import ValidationException from schema_salad.ref_resolver import Loader, file_uri, uri_file_path from schema_salad.sourceline import cmap, strip_dup_lineno @@ -48,6 +45,10 @@ yaml_no_ts, ) +import ruamel.yaml +from ruamel.yaml.comments import CommentedMap, CommentedSeq +from ruamel.yaml.main import YAML + from . import CWL_CONTENT_TYPES, workflow from .argparser import arg_parser, generate_parser, get_default_args from .context import LoadingContext, RuntimeContext, getdefault diff --git a/cwltool/pack.py b/cwltool/pack.py index c9fbc4e04..d438f0409 100644 --- a/cwltool/pack.py +++ b/cwltool/pack.py @@ -14,10 +14,11 @@ cast, ) -from ruamel.yaml.comments import CommentedMap, CommentedSeq from schema_salad.ref_resolver import Loader, SubLoader from schema_salad.utils import ResolveType +from ruamel.yaml.comments import CommentedMap, CommentedSeq + from .context import LoadingContext from .load_tool import fetch_document, resolve_and_validate_document from .process import shortname, uniquename diff --git a/cwltool/process.py b/cwltool/process.py index 05c718e57..e0629b9e5 100644 --- a/cwltool/process.py +++ b/cwltool/process.py @@ -36,7 +36,6 @@ from mypy_extensions import mypyc_attr from pkg_resources import resource_stream from rdflib import Graph -from ruamel.yaml.comments import CommentedMap, CommentedSeq from schema_salad.avro.schema import ( Names, Schema, @@ -50,6 +49,8 @@ from schema_salad.utils import convert_to_dict from schema_salad.validate import avro_type_name, validate_ex +from ruamel.yaml.comments import CommentedMap, CommentedSeq + from .builder import INPUT_OBJ_VOCAB, Builder from .context import LoadingContext, RuntimeContext, getdefault from .errors import UnsupportedRequirement, WorkflowException diff --git a/cwltool/procgenerator.py b/cwltool/procgenerator.py index 0f1801b2d..18d02112f 100644 --- a/cwltool/procgenerator.py +++ b/cwltool/procgenerator.py @@ -1,10 +1,11 @@ import copy from typing import Dict, Optional, Tuple, cast -from ruamel.yaml.comments import CommentedMap from schema_salad.exceptions import ValidationException from schema_salad.sourceline import indent +from ruamel.yaml.comments import CommentedMap + from .context import LoadingContext, RuntimeContext from .errors import WorkflowException from .load_tool import load_tool diff --git a/cwltool/provenance.py b/cwltool/provenance.py index 4a88fe67d..08283e02e 100644 --- a/cwltool/provenance.py +++ b/cwltool/provenance.py @@ -8,7 +8,13 @@ import datetime import hashlib import os -import pwd + +try: + import pwd +except ImportError: + # Guard against `from .provenance import ...` on windows. + # See windows_check() in main.py + pass import re import shutil import tempfile diff --git a/cwltool/update.py b/cwltool/update.py index 0f01327fc..b7f54a700 100644 --- a/cwltool/update.py +++ b/cwltool/update.py @@ -11,11 +11,12 @@ cast, ) -from ruamel.yaml.comments import CommentedMap, CommentedSeq from schema_salad.exceptions import ValidationException from schema_salad.ref_resolver import Loader from schema_salad.sourceline import SourceLine +from ruamel.yaml.comments import CommentedMap, CommentedSeq + from .loghandler import _logger from .utils import CWLObjectType, CWLOutputType, aslist, visit_class, visit_field diff --git a/cwltool/validate_js.py b/cwltool/validate_js.py index 476ab0196..7a50e9b1c 100644 --- a/cwltool/validate_js.py +++ b/cwltool/validate_js.py @@ -19,7 +19,6 @@ from cwl_utils.expression import scanner as scan_expression from cwl_utils.sandboxjs import code_fragment_to_js, exec_js_process from pkg_resources import resource_stream -from ruamel.yaml.comments import CommentedMap, CommentedSeq from schema_salad.avro.schema import ( ArraySchema, EnumSchema, @@ -31,6 +30,8 @@ from schema_salad.utils import json_dumps from schema_salad.validate import validate_ex +from ruamel.yaml.comments import CommentedMap, CommentedSeq + from .errors import WorkflowException from .loghandler import _logger diff --git a/cwltool/workflow.py b/cwltool/workflow.py index a86f4357e..a01af0d2d 100644 --- a/cwltool/workflow.py +++ b/cwltool/workflow.py @@ -17,10 +17,11 @@ ) from uuid import UUID -from ruamel.yaml.comments import CommentedMap from schema_salad.exceptions import ValidationException from schema_salad.sourceline import SourceLine, indent +from ruamel.yaml.comments import CommentedMap + from . import command_line_tool, context, procgenerator from .checker import circular_dependency_checker, loop_checker, static_checker from .context import LoadingContext, RuntimeContext, getdefault diff --git a/tests/test_anon_types.py b/tests/test_anon_types.py index 19a52cb83..3862ea4c5 100644 --- a/tests/test_anon_types.py +++ b/tests/test_anon_types.py @@ -1,11 +1,11 @@ from typing import cast import pytest -from ruamel.yaml.comments import CommentedMap from schema_salad.sourceline import cmap from cwltool.command_line_tool import CommandLineTool from cwltool.context import LoadingContext +from ruamel.yaml.comments import CommentedMap snippet = cast( CommentedMap, diff --git a/tests/test_examples.py b/tests/test_examples.py index d10d96f86..33f1cc79e 100644 --- a/tests/test_examples.py +++ b/tests/test_examples.py @@ -15,7 +15,6 @@ import pytest from cwl_utils.errors import JavascriptException from cwl_utils.sandboxjs import param_re -from ruamel.yaml.comments import CommentedMap, CommentedSeq from schema_salad.exceptions import ValidationException import cwltool.checker @@ -29,6 +28,7 @@ from cwltool.main import main from cwltool.process import CWL_IANA from cwltool.utils import CWLObjectType, dedup +from ruamel.yaml.comments import CommentedMap, CommentedSeq from .util import get_data, get_main_output, needs_docker, working_directory diff --git a/tests/test_mpi.py b/tests/test_mpi.py index 64f1975e1..7322f9e30 100644 --- a/tests/test_mpi.py +++ b/tests/test_mpi.py @@ -8,7 +8,6 @@ import pkg_resources import pytest -from ruamel.yaml.comments import CommentedMap, CommentedSeq from schema_salad.avro.schema import Names from schema_salad.utils import yaml_no_ts @@ -19,6 +18,7 @@ from cwltool.context import LoadingContext, RuntimeContext from cwltool.main import main from cwltool.mpi import MpiConfig, MPIRequirementName +from ruamel.yaml.comments import CommentedMap, CommentedSeq from .util import get_data, working_directory diff --git a/tests/test_path_checks.py b/tests/test_path_checks.py index 2ebda7fe3..9344b9e85 100644 --- a/tests/test_path_checks.py +++ b/tests/test_path_checks.py @@ -4,7 +4,6 @@ from typing import IO, Any, List, cast import pytest -from ruamel.yaml.comments import CommentedMap from schema_salad.sourceline import cmap from cwltool.command_line_tool import CommandLineTool @@ -13,6 +12,7 @@ from cwltool.stdfsaccess import StdFsAccess from cwltool.update import INTERNAL_VERSION from cwltool.utils import CWLObjectType +from ruamel.yaml.comments import CommentedMap from .util import needs_docker diff --git a/tests/test_streaming.py b/tests/test_streaming.py index 3c5526592..0e23276ac 100644 --- a/tests/test_streaming.py +++ b/tests/test_streaming.py @@ -4,7 +4,6 @@ from typing import cast import pytest -from ruamel.yaml.comments import CommentedMap from schema_salad.sourceline import cmap from cwltool.command_line_tool import CommandLineTool @@ -13,6 +12,7 @@ from cwltool.job import JobBase from cwltool.update import INTERNAL_VERSION, ORIGINAL_CWLVERSION from cwltool.utils import CWLObjectType +from ruamel.yaml.comments import CommentedMap from .util import get_data diff --git a/tests/test_subclass_mypyc.py b/tests/test_subclass_mypyc.py index 9f302fead..0c8774adf 100644 --- a/tests/test_subclass_mypyc.py +++ b/tests/test_subclass_mypyc.py @@ -7,7 +7,6 @@ import pickle import pytest -from ruamel.yaml.comments import CommentedMap from schema_salad.avro import schema from cwltool.builder import Builder @@ -15,6 +14,7 @@ from cwltool.context import LoadingContext, RuntimeContext from cwltool.stdfsaccess import StdFsAccess from cwltool.update import INTERNAL_VERSION +from ruamel.yaml.comments import CommentedMap from .test_anon_types import snippet diff --git a/tests/test_tmpdir.py b/tests/test_tmpdir.py index fd1d03945..ee9b71209 100644 --- a/tests/test_tmpdir.py +++ b/tests/test_tmpdir.py @@ -5,7 +5,6 @@ from typing import List, cast import pytest -from ruamel.yaml.comments import CommentedMap from schema_salad.avro import schema from schema_salad.sourceline import cmap @@ -19,6 +18,7 @@ from cwltool.stdfsaccess import StdFsAccess from cwltool.update import INTERNAL_VERSION, ORIGINAL_CWLVERSION from cwltool.utils import create_tmp_dir +from ruamel.yaml.comments import CommentedMap from .util import get_data, needs_docker