<commit_before>import radical.utils as ru
from radical.entk.exceptions import *
from radical.entk.stage.stage import Stage
import threading
from radical.entk import states
from collections import Iterable


class Pipeline(object):

    """
    A pipeline represents a collection of objects that have a linear temporal
    execution order.  In this case, a pipeline consists of multiple 'Stage'
    objects. Each ```Stage_i``` can execute only after all stages up to
    ```Stage_(i-1)``` have completed execution.

    """

    def __init__(self):

        self._uid  = ru.generate_id('pipeline.%(counter)04d', ru.ID_CUSTOM)
        self._name = None

        self._stages = list()

        self._state = states.INITIAL<commit_msg>Fix warning regarding ABC import from collections<commit_after>import radical.utils as ru
from radical.entk.exceptions import *
from radical.entk.stage.stage import Stage
import threading
from radical.entk import states
from collections.abc import Iterable


class Pipeline(object):

    """
    A pipeline represents a collection of objects that have a linear temporal
    execution order.  In this case, a pipeline consists of multiple 'Stage'
    objects. Each ```Stage_i``` can execute only after all stages up to
    ```Stage_(i-1)``` have completed execution.

    """

    def __init__(self):

        self._uid  = ru.generate_id('pipeline.%(counter)04d', ru.ID_CUSTOM)
        self._name = None

        self._stages = list()

        self._state = states.INITIAL
{'fraction_non_alphanumeric': 0.08854860186418109, 'fraction_numerical': 0.0039946737683089215, 'mean_word_length': 3.3947368421052633, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5699306', 'n_tokens_mistral': 423, 'n_tokens_neox': 404, 'n_words': 149}