diff --git a/ceci/pipeline.py b/ceci/pipeline.py index 1551034..77cd489 100644 --- a/ceci/pipeline.py +++ b/ceci/pipeline.py @@ -5,7 +5,7 @@ import collections import yaml import shutil -from abc import abstractmethod +from abc import ABC, abstractmethod from .stage import PipelineStage from . import minirunner @@ -286,7 +286,7 @@ def insert_outputs(self, stage, outdir): return stage_outputs -class Pipeline: +class Pipeline(ABC): """ The Pipeline base class models the shared information and behaviour that pipelines need, no matter which workflow manager runs them. diff --git a/ceci/stage.py b/ceci/stage.py index 1915a93..ef60287 100644 --- a/ceci/stage.py +++ b/ceci/stage.py @@ -9,7 +9,7 @@ import pdb import datetime -from abc import abstractmethod +from abc import ABC, abstractmethod from . import errors from .monitor import MemoryMonitor from .config import StageParameter, StageConfig, cast_to_streamable @@ -21,7 +21,7 @@ IN_PROGRESS_PREFIX = "inprogress_" -class PipelineStage: +class PipelineStage(ABC): """A PipelineStage implements a single calculation step within a wider pipeline. Each different type of analysis stage is represented by a subclass of this