docs: def pipe(wrapped):
      """
      Decorator to create an SPL operator from a function.
      
      A pipe SPL operator with a single input port and a single
      output port. For each tuple on the input port the
      function is called passing the contents of the tuple.
  
      SPL attributes from the tuple are passed by position.
      
      The value returned from the function results in
      zero or more tuples being submitted to the operator output
      port, see :ref:`submit-from-python`.
  
      .. deprecated:: 1.8
          Recommended to use :py:class:`@spl.map <map>` instead.
      """
      if not inspect.isfunction(wrapped):
          raise TypeError('A function is required')
  
      return _wrapforsplop(_OperatorType.Pipe, wrapped, 'position', False)