def append_step(self, title, description, timestamp=None, data=None):
        """
        Append a new provenance step.

        :param title: the title of the ProvenanceStep
        :type title: str

        :param description: the description of the ProvenanceStep
        :type description: str

        :param timestamp: the time of the ProvenanceStep
        :type timestamp: datetime, None, str

        :param data: The data of the ProvenanceStep
        :type data: dict

        :returns: the time of the ProvenanceStep
        :rtype: datetime
        """
        step = ProvenanceStep(title, description, timestamp, data)
        self._steps.append(step)
        return step.time
def append_step ( self , title , description , timestamp = None , data = None ) : step = ProvenanceStep ( title , description , timestamp , data ) self . _steps . append ( step ) return step . time
Append a new provenance step.

        :param title: the title of the ProvenanceStep
        :type title: str

        :param description: the description of the ProvenanceStep
        :type description: str

        :param timestamp: the time of the ProvenanceStep
        :type timestamp: datetime, None, str

        :param data: The data of the ProvenanceStep
        :type data: dict

        :returns: the time of the ProvenanceStep
        :rtype: datetime