human
I am working on the file "JFreeChart Versions - Diving Differences.ipynb".
The first task is:
Pipeline Process
Helper class that aids the creation and the application of multiple text processing functions
Can you write Python program for it?
assistant
#Here is the Python program you requested.

class Pipeline(object):
    """Implements a simple linear pipeline process"""
    
    def __init__(self, *callables):
        """Creates a new Pipeline of processes (i.e. `callables`.)
        Each of this callable, must always return a value as it 
        will represent the new `data` parameter passed through 
        the pipeline till finally returned.
        
        Parameters
        ----------
        callables : list
            A list of callables (e.g. functions) of arity one.
            This list constitutes the set of filters of the pipeline.
        """
        self._filters = list(callables)
        
    @property
    def filters(self):
        return self._filters

    def __iadd__(self, process):
        if not callable(process):
            raise ValueError('The value should be a callable')
        
        from inspect import signature
        sig_process = signature(process)
        if len(sig_process.parameters) != 1:
            raise ValueError('The input function must have arity one!')
            
        self._filters.append(process)
        return self
    
    def process(self, data):
        """Execute the pipeline"""
        for callable in self._filters:
            data = callable(data)
        return data