easylink 0.1.5__tar.gz → 0.1.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {easylink-0.1.5 → easylink-0.1.6}/CHANGELOG.rst +4 -0
- {easylink-0.1.5 → easylink-0.1.6}/PKG-INFO +1 -1
- easylink-0.1.6/src/easylink/_version.py +1 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/pipeline_schema_constants/__init__.py +2 -2
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/step.py +3 -4
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink.egg-info/PKG-INFO +1 -1
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink.egg-info/SOURCES.txt +27 -0
- easylink-0.1.6/tests/specifications/unit/environment_minimum.yaml +2 -0
- easylink-0.1.6/tests/specifications/unit/environment_spark_slurm.yaml +15 -0
- easylink-0.1.6/tests/specifications/unit/pipeline.yaml +15 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_bad_combined_implementations.yaml +14 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_bad_implementation.yaml +15 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_bad_loop_formatting.yaml +15 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_bad_step.yaml +18 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_bad_type_key.yaml +15 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_combine_bad_implementation_names.yaml +18 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_combine_bad_topology.yaml +18 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_combine_two_steps.yaml +16 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_combine_with_extra_node.yaml +15 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_combine_with_iteration.yaml +19 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_combine_with_iteration_cycle.yaml +19 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_combine_with_missing_node.yaml +17 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_combine_with_parallel.yaml +24 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_missing_implementation_name.yaml +15 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_missing_implementations.yaml +14 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_missing_loop_nodes.yaml +14 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_missing_step.yaml +4 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_missing_substeps.yaml +17 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_missing_type_key.yaml +15 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_nested_templated_steps.yaml +21 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_out_of_order.yaml +15 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_spark.yaml +7 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_type_config_mismatch.yaml +18 -0
- easylink-0.1.6/tests/specifications/unit/pipeline_wrong_parallel_split_keys.yaml +19 -0
- easylink-0.1.6/tests/unit/conftest.py +157 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_pipeline_graph.py +38 -16
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_runner.py +5 -5
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_validations.py +22 -9
- easylink-0.1.5/src/easylink/_version.py +0 -1
- easylink-0.1.5/tests/unit/conftest.py +0 -863
- {easylink-0.1.5 → easylink-0.1.6}/.bandit +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/.flake8 +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/.github/CODEOWNERS +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/.github/pull_request_template.md +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/.github/workflows/build.yml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/.github/workflows/deploy.yml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/.github/workflows/update_readme.yml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/.gitignore +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/.readthedocs.yml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/Jenkinsfile +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/Makefile +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/README.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/Makefile +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/nitpick-exceptions +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/_static/style.css +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/_templates/layout.html +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/configuration.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/graph_components.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/implementation.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/index.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/pipeline.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/pipeline_graph.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/pipeline_schema.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/pipeline_schema_constants/development.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/pipeline_schema_constants/index.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/pipeline_schema_constants/testing.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/rule.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/runner.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/step.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/utilities/data_utils.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/utilities/general_utils.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/utilities/index.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/utilities/paths.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/api_reference/utilities/validation_utils.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/concepts/index.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/conf.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/glossary.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/index.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/user_guide/cli.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/user_guide/index.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/user_guide/tutorials/getting_started.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/docs/source/user_guide/tutorials/index.rst +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/pyproject.toml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/python_versions.json +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/pytype.cfg +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/setup.cfg +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/setup.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/__about__.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/__init__.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/cli.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/configuration.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/graph_components.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/images/spark_cluster/Dockerfile +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/images/spark_cluster/README.md +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/implementation.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/implementation_metadata.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/pipeline.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/pipeline_graph.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/pipeline_schema.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/pipeline_schema_constants/development.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/pipeline_schema_constants/testing.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/rule.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/runner.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/README.md +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/build-containers-local.sh +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/build-containers-remote.sh +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/input_data/create_input_files.ipynb +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/input_data/input_file_1.csv +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/input_data/input_file_1.parquet +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/input_data/input_file_2.csv +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/input_data/input_file_2.parquet +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/python_pandas/README.md +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/python_pandas/dummy_step.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/python_pandas/python_pandas.def +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/python_pyspark/README.md +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/python_pyspark/dummy_step.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/python_pyspark/python_pyspark.def +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/r/README.md +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/r/dummy_step.R +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/r/r-image.def +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/steps/dev/test.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/utilities/__init__.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/utilities/data_utils.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/utilities/general_utils.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/utilities/paths.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/utilities/spark.smk +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink/utilities/validation_utils.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink.egg-info/dependency_links.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink.egg-info/entry_points.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink.egg-info/not-zip-safe +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink.egg-info/requires.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/src/easylink.egg-info/top_level.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/__init__.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/conftest.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/e2e/test_easylink_run.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/e2e/test_step_types.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/integration/test_snakemake.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/integration/test_snakemake_slurm.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/integration/test_snakemake_spark.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/specifications/common/environment_local.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/specifications/common/input_data.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/specifications/common/pipeline.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/specifications/e2e/environment_slurm.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/specifications/e2e/pipeline.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/specifications/e2e/pipeline_expanded.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/specifications/integration/environment_spark_slurm.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/specifications/integration/pipeline.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/specifications/integration/pipeline_spark.yaml +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/__init__.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/rule_strings/implemented_rule_local.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/rule_strings/implemented_rule_slurm.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/rule_strings/pipeline_local.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/rule_strings/pipeline_slurm.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/rule_strings/target_rule.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/rule_strings/validation_rule.txt +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_cli.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_config.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_data_utils.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_general_utils.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_graph_components.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_implementation.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_pipeline.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_pipeline_schema.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_rule.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/tests/unit/test_step.py +0 -0
- {easylink-0.1.5 → easylink-0.1.6}/update_readme.py +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.1.6"
|
@@ -6,7 +6,7 @@ ALLOWED_SCHEMA_PARAMS = {
|
|
6
6
|
|
7
7
|
TESTING_SCHEMA_PARAMS = {
|
8
8
|
"integration": testing.SINGLE_STEP_SCHEMA_PARAMS,
|
9
|
-
"
|
10
|
-
"
|
9
|
+
"combine_bad_topology": testing.BAD_COMBINED_TOPOLOGY_SCHEMA_PARAMS,
|
10
|
+
"combine_bad_implementation_names": testing.BAD_COMBINED_TOPOLOGY_SCHEMA_PARAMS,
|
11
11
|
"nested_templated_steps": testing.NESTED_TEMPLATED_STEPS_SCHEMA_PARAMS,
|
12
12
|
}
|
@@ -822,7 +822,7 @@ class TemplatedStep(Step, ABC):
|
|
822
822
|
|
823
823
|
Notes
|
824
824
|
-----
|
825
|
-
A ``TemplatedStep`` is always assigned a :class:`NonLeafConfigurationState`
|
825
|
+
A ``TemplatedStep`` is *always* assigned a :class:`NonLeafConfigurationState`
|
826
826
|
even if it has no multiplicity since (despite having no copies to make) we
|
827
827
|
still need to traverse the sub-``Steps`` to get to the one with a single
|
828
828
|
:class:`~easylink.implementation.Implementation`, i.e. the one with a
|
@@ -851,9 +851,8 @@ class TemplatedStep(Step, ABC):
|
|
851
851
|
self.slot_mappings = self._update_slot_mappings(num_repeats)
|
852
852
|
# Manually set the configuration state to non-leaf instead of relying
|
853
853
|
# on super().get_configuration_state() because that method will erroneously
|
854
|
-
# set to leaf state
|
855
|
-
#
|
856
|
-
# file, hence num_repeats == 1)
|
854
|
+
# set to leaf state in the event the user didn't include the config_key
|
855
|
+
# in the pipeline specification.
|
857
856
|
self._configuration_state = NonLeafConfigurationState(
|
858
857
|
self, expanded_config, combined_implementations, input_data_config
|
859
858
|
)
|
@@ -112,6 +112,33 @@ tests/specifications/e2e/pipeline_expanded.yaml
|
|
112
112
|
tests/specifications/integration/environment_spark_slurm.yaml
|
113
113
|
tests/specifications/integration/pipeline.yaml
|
114
114
|
tests/specifications/integration/pipeline_spark.yaml
|
115
|
+
tests/specifications/unit/environment_minimum.yaml
|
116
|
+
tests/specifications/unit/environment_spark_slurm.yaml
|
117
|
+
tests/specifications/unit/pipeline.yaml
|
118
|
+
tests/specifications/unit/pipeline_bad_combined_implementations.yaml
|
119
|
+
tests/specifications/unit/pipeline_bad_implementation.yaml
|
120
|
+
tests/specifications/unit/pipeline_bad_loop_formatting.yaml
|
121
|
+
tests/specifications/unit/pipeline_bad_step.yaml
|
122
|
+
tests/specifications/unit/pipeline_bad_type_key.yaml
|
123
|
+
tests/specifications/unit/pipeline_combine_bad_implementation_names.yaml
|
124
|
+
tests/specifications/unit/pipeline_combine_bad_topology.yaml
|
125
|
+
tests/specifications/unit/pipeline_combine_two_steps.yaml
|
126
|
+
tests/specifications/unit/pipeline_combine_with_extra_node.yaml
|
127
|
+
tests/specifications/unit/pipeline_combine_with_iteration.yaml
|
128
|
+
tests/specifications/unit/pipeline_combine_with_iteration_cycle.yaml
|
129
|
+
tests/specifications/unit/pipeline_combine_with_missing_node.yaml
|
130
|
+
tests/specifications/unit/pipeline_combine_with_parallel.yaml
|
131
|
+
tests/specifications/unit/pipeline_missing_implementation_name.yaml
|
132
|
+
tests/specifications/unit/pipeline_missing_implementations.yaml
|
133
|
+
tests/specifications/unit/pipeline_missing_loop_nodes.yaml
|
134
|
+
tests/specifications/unit/pipeline_missing_step.yaml
|
135
|
+
tests/specifications/unit/pipeline_missing_substeps.yaml
|
136
|
+
tests/specifications/unit/pipeline_missing_type_key.yaml
|
137
|
+
tests/specifications/unit/pipeline_nested_templated_steps.yaml
|
138
|
+
tests/specifications/unit/pipeline_out_of_order.yaml
|
139
|
+
tests/specifications/unit/pipeline_spark.yaml
|
140
|
+
tests/specifications/unit/pipeline_type_config_mismatch.yaml
|
141
|
+
tests/specifications/unit/pipeline_wrong_parallel_split_keys.yaml
|
115
142
|
tests/unit/__init__.py
|
116
143
|
tests/unit/conftest.py
|
117
144
|
tests/unit/test_cli.py
|
@@ -0,0 +1,15 @@
|
|
1
|
+
computing_environment: slurm
|
2
|
+
container_engine: singularity
|
3
|
+
slurm:
|
4
|
+
account: some-account
|
5
|
+
partition: some-partition
|
6
|
+
implementation_resources:
|
7
|
+
memory: 42
|
8
|
+
cpus: 42
|
9
|
+
time_limit: 42
|
10
|
+
spark:
|
11
|
+
workers:
|
12
|
+
num_workers: 42
|
13
|
+
cpus_per_node: 42
|
14
|
+
mem_per_node: 42
|
15
|
+
time_limit: 42
|
@@ -0,0 +1,15 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
implementation:
|
10
|
+
name: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
type: simple
|
13
|
+
step_4:
|
14
|
+
implementation:
|
15
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,14 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
combined_implementation_key: foo
|
10
|
+
choice_section:
|
11
|
+
type: simple
|
12
|
+
step_4:
|
13
|
+
implementation:
|
14
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,15 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: foo # not a valid/supported implementation
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
implementation:
|
10
|
+
name: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
type: simple
|
13
|
+
step_4:
|
14
|
+
implementation:
|
15
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,15 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
iterate:
|
10
|
+
implementation: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
type: simple
|
13
|
+
step_4:
|
14
|
+
implementation:
|
15
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,18 @@
|
|
1
|
+
steps:
|
2
|
+
foo:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_1:
|
6
|
+
implementation:
|
7
|
+
name: step_1_python_pandas
|
8
|
+
step_2:
|
9
|
+
implementation:
|
10
|
+
name: step_2_python_pandas
|
11
|
+
step_3:
|
12
|
+
implementation:
|
13
|
+
name: step_3_python_pandas
|
14
|
+
choice_section:
|
15
|
+
type: simple
|
16
|
+
step_4:
|
17
|
+
implementation:
|
18
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,15 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
implementation:
|
10
|
+
name: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
type: foo # not a supported type
|
13
|
+
step_4:
|
14
|
+
implementation:
|
15
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,18 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
combined_implementation_key: step_3_4 # incorrect key
|
9
|
+
step_3:
|
10
|
+
implementation:
|
11
|
+
name: step_3_python_pandas
|
12
|
+
choice_section:
|
13
|
+
type: simple
|
14
|
+
step_4:
|
15
|
+
combined_implementation_key: step_3_4
|
16
|
+
combined_implementations:
|
17
|
+
step_3_4:
|
18
|
+
name: step_3_and_step_4_combined_python_pandas
|
@@ -0,0 +1,18 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
iterate:
|
4
|
+
- substeps:
|
5
|
+
step_1a:
|
6
|
+
implementation:
|
7
|
+
name: step_1a_python_pandas
|
8
|
+
step_1b:
|
9
|
+
combined_implementation_key: step_1a_1b
|
10
|
+
- substeps:
|
11
|
+
step_1a:
|
12
|
+
combined_implementation_key: step_1a_1b
|
13
|
+
step_1b:
|
14
|
+
implementation:
|
15
|
+
name: step_1b_python_pandas
|
16
|
+
combined_implementations:
|
17
|
+
step_1a_1b:
|
18
|
+
name: step_1a_and_step_1b_combined_python_pandas
|
@@ -0,0 +1,16 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
combined_implementation_key: step_3_4
|
10
|
+
choice_section:
|
11
|
+
type: simple
|
12
|
+
step_4:
|
13
|
+
combined_implementation_key: step_3_4
|
14
|
+
combined_implementations:
|
15
|
+
step_3_4:
|
16
|
+
name: step_3_and_step_4_combined_python_pandas
|
@@ -0,0 +1,15 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
combined_implementation_key: step_3_4
|
7
|
+
step_3:
|
8
|
+
combined_implementation_key: step_3_4
|
9
|
+
choice_section:
|
10
|
+
type: simple
|
11
|
+
step_4:
|
12
|
+
combined_implementation_key: step_3_4
|
13
|
+
combined_implementations:
|
14
|
+
step_3_4:
|
15
|
+
name: step_3_and_step_4_combined_python_pandas
|
@@ -0,0 +1,19 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
iterate:
|
10
|
+
- implementation:
|
11
|
+
name: step_3_python_pandas
|
12
|
+
- combined_implementation_key: step_3_4
|
13
|
+
choice_section:
|
14
|
+
type: simple
|
15
|
+
step_4:
|
16
|
+
combined_implementation_key: step_3_4
|
17
|
+
combined_implementations:
|
18
|
+
step_3_4:
|
19
|
+
name: step_3_and_step_4_combined_python_pandas
|
@@ -0,0 +1,19 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
iterate:
|
10
|
+
- combined_implementation_key: step_3_4
|
11
|
+
- implementation:
|
12
|
+
name: step_3_python_pandas
|
13
|
+
choice_section:
|
14
|
+
type: simple
|
15
|
+
step_4:
|
16
|
+
combined_implementation_key: step_3_4
|
17
|
+
combined_implementations:
|
18
|
+
step_3_4:
|
19
|
+
name: step_3_and_step_4_combined_python_pandas
|
@@ -0,0 +1,17 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
implementation:
|
10
|
+
name: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
type: simple
|
13
|
+
step_4:
|
14
|
+
combined_implementation_key: step_3_4
|
15
|
+
combined_implementations:
|
16
|
+
step_3_4:
|
17
|
+
name: step_3_and_step_4_combined_python_pandas
|
@@ -0,0 +1,24 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
parallel:
|
4
|
+
- input_data_file: file1
|
5
|
+
implementation:
|
6
|
+
name: step_1_python_pandas
|
7
|
+
- input_data_file: file2
|
8
|
+
implementation:
|
9
|
+
name: step_1_python_pandas
|
10
|
+
- input_data_file: file2
|
11
|
+
combined_implementation_key: steps_1_and_2_combined
|
12
|
+
step_2:
|
13
|
+
combined_implementation_key: steps_1_and_2_combined
|
14
|
+
step_3:
|
15
|
+
implementation:
|
16
|
+
name: step_3_python_pandas
|
17
|
+
choice_section:
|
18
|
+
type: simple
|
19
|
+
step_4:
|
20
|
+
implementation:
|
21
|
+
name: step_4_python_pandas
|
22
|
+
combined_implementations:
|
23
|
+
steps_1_and_2_combined:
|
24
|
+
name: step_1_and_step_2_combined_python_pandas
|
@@ -0,0 +1,15 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
foo: bar # missing name key
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
implementation:
|
10
|
+
name: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
type: simple
|
13
|
+
step_4:
|
14
|
+
implementation:
|
15
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,14 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
foo: bar # missing implementation key
|
4
|
+
step_2:
|
5
|
+
implementation:
|
6
|
+
name: step_2_python_pandas
|
7
|
+
step_3:
|
8
|
+
implementation:
|
9
|
+
name: step_3_python_pandas
|
10
|
+
choice_section:
|
11
|
+
type: simple
|
12
|
+
step_4:
|
13
|
+
implementation:
|
14
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,17 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
implementation:
|
10
|
+
name: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
type: simple
|
13
|
+
step_4:
|
14
|
+
substeps:
|
15
|
+
step_4a:
|
16
|
+
implementation: foo # missing name key
|
17
|
+
# missing step_4b
|
@@ -0,0 +1,15 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
implementation:
|
10
|
+
name: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
# missing 'type' key
|
13
|
+
step_4:
|
14
|
+
implementation:
|
15
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,21 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
iterate:
|
4
|
+
- parallel: # loop 1: parallel with multiplicity
|
5
|
+
- implementation:
|
6
|
+
name: step_1_python_pandas
|
7
|
+
input_data_file: file1
|
8
|
+
- implementation:
|
9
|
+
name: step_1_python_pandas
|
10
|
+
input_data_file: file2
|
11
|
+
- parallel: # loop 2: parallel with no multiplicity
|
12
|
+
- implementation:
|
13
|
+
name: step_1_python_pandas
|
14
|
+
input_data_file: file1
|
15
|
+
- substeps: # loop 3: missing 'parallel' key, uses hierarchical step
|
16
|
+
step_1a:
|
17
|
+
implementation:
|
18
|
+
name: step_1a_python_pandas
|
19
|
+
step_1b:
|
20
|
+
implementation:
|
21
|
+
name: step_1b_python_pandas
|
@@ -0,0 +1,15 @@
|
|
1
|
+
steps:
|
2
|
+
step_2:
|
3
|
+
implementation:
|
4
|
+
name: step_2_python_pandas
|
5
|
+
step_1:
|
6
|
+
implementation:
|
7
|
+
name: step_1_python_pandas
|
8
|
+
step_3:
|
9
|
+
implementation:
|
10
|
+
name: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
type: simple
|
13
|
+
step_4:
|
14
|
+
implementation:
|
15
|
+
name: step_4_python_pandas
|
@@ -0,0 +1,18 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
implementation:
|
4
|
+
name: step_1_python_pandas
|
5
|
+
step_2:
|
6
|
+
implementation:
|
7
|
+
name: step_2_python_pandas
|
8
|
+
step_3:
|
9
|
+
implementation:
|
10
|
+
name: step_3_python_pandas
|
11
|
+
choice_section:
|
12
|
+
type: simple
|
13
|
+
step_5:
|
14
|
+
implementation:
|
15
|
+
name: step_5_python_pandas
|
16
|
+
step_6:
|
17
|
+
implementation:
|
18
|
+
name: step_6_python_pandas
|
@@ -0,0 +1,19 @@
|
|
1
|
+
steps:
|
2
|
+
step_1:
|
3
|
+
parallel:
|
4
|
+
- implementation:
|
5
|
+
name: step_1_python_pandas
|
6
|
+
input_data_file: foo
|
7
|
+
implementation:
|
8
|
+
name: step_1_python_pandas
|
9
|
+
step_2:
|
10
|
+
implementation:
|
11
|
+
name: step_2_python_pandas
|
12
|
+
step_3:
|
13
|
+
implementation:
|
14
|
+
name: step_3_python_pandas
|
15
|
+
choice_section:
|
16
|
+
type: simple
|
17
|
+
step_4:
|
18
|
+
implementation:
|
19
|
+
name: step_4_python_pandas
|