@staticmethod
def ts_delta_str(start, end):
    """
        start <datetime>
        end <datetime>

        returns <str> human readable elapsed time
        """
    delta = end - start
    ts = int(delta.total_seconds())
    hours, remainder = divmod(ts, 3600)
    minutes, seconds = divmod(remainder, 60)
    if hours > 0:
        delta_str = (
            f'{hours} hour(s), {minutes} minute(s), {seconds} second(s)')
    elif minutes > 0:
        delta_str = f'{minutes} minute(s), {seconds} second(s)'
    else:
        delta_str = f'{seconds} second(s)'
    return delta_str
